Scroll to navigation

std::experimental::filesystem::begin(recursive_directory_iterator),(3) C++ Standard Libary std::experimental::filesystem::begin(recursive_directory_iterator),(3)

NAME

std::experimental::filesystem::begin(recursive_directory_iterator), - std::experimental::filesystem::begin(recursive_directory_iterator),

Synopsis


recursive_directory_iterator begin( recursive_directory_iterator (1) (filesystem TS)
iter );
recursive_directory_iterator end( const (2) (filesystem TS)
recursive_directory_iterator& );


1) Returns iter unchanged
2) 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_iterators with
range-based for loops.

Parameters


iter - a recursive_directory_iterator

Return value


1) iter unchanged
2) End iterator (default-constructed recursive_directory_iterator)

Exceptions


noexcept specification:
noexcept

Example

// Run this code


#include <fstream>
#include <iostream>
#include <experimental/filesystem>
namespace fs = std::experimental::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


filesystem::begin(filesystem::directory_iterator) range-based for loop support
filesystem::end(filesystem::directory_iterator) (function)

2022.07.31 http://cppreference.com