30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.15 Filesystem operation functions [fs.op.funcs]

30.10.15.31 Remove all [fs.op.remove_all]

uintmax_t remove_all(const path& p); uintmax_t remove_all(const path& p, error_code& ec) noexcept;

Effects: Recursively deletes the contents of p if it exists, then deletes file p itself, as if by POSIX remove(). [Note: A symbolic link is itself removed, rather than the file it resolves to. end note]

Postconditions: exists(symlink_­status(p)) is false.

Returns: The number of files removed. The signature with argument ec returns static_­cast< uintmax_­t>(-1) if an error occurs.

Throws: As specified in [fs.err.report].