31 Input/output library [input.output]

31.12 File systems [filesystems]

31.12.13 Filesystem operation functions [fs.op.funcs] Remove all [fs.op.remove.all]

uintmax_t filesystem::remove_all(const path& p); uintmax_t filesystem::remove_all(const path& p, error_code& ec);
Effects: Recursively deletes the contents of p if it exists, then deletes file p itself, as if by POSIX remove().
[Note 1: 
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].