Namespaces
Variants
Views
Actions

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

From cppreference.com
(LWG 2706)
m (=fmt)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{cpp/filesystem/recursive_directory_iterator/title | pop}}
+
{{cpp/filesystem/recursive_directory_iterator/title|pop}}
 
{{cpp/filesystem/recursive_directory_iterator/navbar}}
 
{{cpp/filesystem/recursive_directory_iterator/navbar}}
 
{{dcl begin}}
 
{{dcl begin}}
{{dcl | since=c++17 |num=1| 1=
+
{{dcl|since=c++17|num=1|1=
 
void pop();
 
void pop();
 
}}
 
}}
{{dcl | since=c++17 |num=2| 1=
+
{{dcl|since=c++17|num=2|1=
void pop(std::error_code& ec);
+
void pop( std::error_code& ec );
 
}}
 
}}
 
{{dcl end}}
 
{{dcl end}}
  
Moves the iterator one level up in the directory hierarchy.
+
Moves the iterator one level up in the directory hierarchy.
  
 
If the parent directory is outside directory hierarchy that is iterated on (i.e. {{c|1=depth() == 0}}), sets {{c|*this}} to an end directory iterator.
 
If the parent directory is outside directory hierarchy that is iterated on (i.e. {{c|1=depth() == 0}}), sets {{c|*this}} to an end directory iterator.
  
 
===Parameters===
 
===Parameters===
(none)
+
 +
 +
  
 
===Return value===
 
===Return value===
Line 21: Line 23:
  
 
===Exceptions===
 
===Exceptions===
{{cpp/filesystem/error_handling}}
+
{{cpp/filesystem/error_handling}}
  
 +
 +
  
{{langlinks|zh}}
+
{{langlinks|zh}}

Latest revision as of 07:51, 8 September 2023

 
 
 
 
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.

Contents

[edit] Parameters

ec - error code to store the error status to

[edit] Return value

(none)

[edit] 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.

[edit] Example