Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/filesystem/recursive directory iterator/pop"

From cppreference.com
(LWG 2706)
(Parameters: ++)
Line 15: Line 15:
  
 
===Parameters===
 
===Parameters===
(none)
+
 +
 +
  
 
===Return value===
 
===Return value===

Revision as of 13:54, 25 July 2017

 
 
 
 
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.

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.
The overload that does not take a std::error_code& parameter throws std::filesystem::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.