std::filesystem::recursive_directory_iterator::pop

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

在目录层级中上移一层迭代器。非法化所有 *this 的先前值的副本。

若亲目录在迭代的目录层级之外(即 depth() == 0 ),则设 *this 为尾目录迭代器。

参数

ec - 要设置错误状态到的错误码

返回值

(无)

异常

不接受 std::error_code& 参数的重载在底层 OS API 错误时抛出 filesystem_error ,以作为错误码参数的 OS 错误码构造。若 OS API 调用失败,则接受 std::error_code& 参数的重载设置该参数为 OS API 错误码,而若不出现错误则执行 ec.clear() 。若内存分配失败,则任何不标记为 noexcept 的重载可能抛出 std::bad_alloc