![](/img/trans.png)
[英]boost::filesystem::recursive_directory_iterator with filter
[英]is C++17 std::filesystem::recursive_directory_iterator::pop equal to boost::filesystem::recursive_directory_iterator::no_push
由於C ++ 17 std::filesystem
與boost::filesystem
非常相似,因此我試圖做同樣的事情: 在迭代中轉義某些目錄
但是我發現在std::filesystem::recursive_directory_iterator
中沒有實現no_push
方法, no_push
最接近的是pop
方法,但是它們的功能完全相同嗎?
no_push()
或no_push(true)
的等效項是disable_recursion_pending()
。
沒有等效的no_push(false)
。
它們根本不一樣。 std ::文件系統:: recursive_directory_iterator :: pop
在目錄層次結構中將迭代器上移一級。
哪里作為boost :: filesystem :: recursive_directory :: no_push
防止目錄的下一次迭代移入該目錄。
no_push
不會更改當前迭代器,而pop
會將迭代器向上移動。 Boost還具有與標准方法相同的pop
方法。
標准具有選項,沒有它們,它將不會迭代symlink文件夾,就像在no_posh
使用boost以避免迭代到symlink文件夾一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.