std::filesystem::begin(recursive_directory_iterator), std::filesystem::end(recursive_directory_iterator)
From cppreference.com
recursive_directory_iterator begin( recursive_directory_iterator iter ); |
(1) | (since C++17) |
recursive_directory_iterator end( const recursive_directory_iterator& ); |
(2) | (since C++17) |
1) Returns
iter
unchanged2) Returns a default-constructed recursive_directory_iterator, which serves as the end iterator. The argument is ignored.
These non-member functions enable the use of recursive_directory_iterator
s with range-based for loops.
Parameters
iter | - | a recursive_directory_iterator |
Return value
1)
iter
unchanged2) End iterator (default-constructed
recursive_directory_iterator
)Exceptions
noexcept specification:
noexcept
Example
Run this code
#include <fstream> #include <iostream> #include <filesystem> namespace fs = std::filesystem; int main() { fs::create_directories("sandbox/a/b"); std::ofstream("sandbox/file1.txt"); fs::create_symlink("a", "sandbox/syma"); for(auto& p: fs::recursive_directory_iterator("sandbox")) std::cout << p << '\n'; fs::remove_all("sandbox"); }
Possible output:
"sandbox/a" "sandbox/a/b" "sandbox/file1.txt" "sandbox/syma"
See also
range-based for loop support (function) |