Namespaces
Variants
Views
Actions

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

From cppreference.com
m (link to zh)
(LWG 2706)
Line 2: Line 2:
 
{{cpp/filesystem/recursive_directory_iterator/navbar}}
 
{{cpp/filesystem/recursive_directory_iterator/navbar}}
 
{{dcl begin}}
 
{{dcl begin}}
{{dcl | since=c++17 | 1=
+
{{dcl | since=c++17 | 1=
 
void pop();
 
void pop();
 +
 +
 +
 
}}
 
}}
 
{{dcl end}}
 
{{dcl end}}
Line 18: Line 21:
  
 
===Exceptions===
 
===Exceptions===
{{todo}}
+
{{}}
 +
 
  
 
{{langlinks|zh}}
 
{{langlinks|zh}}

Revision as of 13:53, 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

(none)

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.