std::filesystem::recursive_directory_iterator:: pop

From cppreference.com
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.

Parameters

ec - error code to store the error status to

Return value

(none)

Exceptions

Any overload not marked noexcept may throw std::bad_alloc if memory allocation fails.

1) Throws std::filesystem::filesystem_error on underlying OS API errors, constructed with the OS error code as the error code argument.
2) Sets a std:: error_code & parameter to the OS API error code if an OS API call fails, and executes ec. clear ( ) if no errors occur.

Example