void pop();
(1) (since C++17)
void pop(std::error_code& ec);
(2) (since C++17)

Moves the iterator one level up in the directory hierarchy. Invalidates all copies of the previous value of *this.

If the parent directory is outside directory hierarchy that is iterated on (i.e. depth() == 0), sets *this to an end directory iterator.


ec - error code to store the error status to

Return value



The overload that does not take a std::error_code& parameter throws filesystem_error on underlying OS API errors, constructed with the OS error code as the error code argument. The overload taking a std::error_code& parameter sets it to the OS API error code if an OS API call fails, and executes ec.clear() if no errors occur. Any overload not marked noexcept may throw std::bad_alloc if memory allocation fails.