std::filesystem::begin(recursive_directory_iterator), std::filesystem::end(recursive_directory_iterator)
Min standard notice:
Header: <filesystem>
- Returns iter unchanged.
# Declarations
recursive_directory_iterator begin( recursive_directory_iterator iter ) noexcept;
(since C++17)
recursive_directory_iterator end( recursive_directory_iterator ) noexcept;
(since C++17)
# Parameters
iter: a recursive_directory_iterator
# Example
#include <cstdlib>
#include <filesystem>
#include <fstream>
#include <iostream>
namespace fs = std::filesystem;
int main()
{
fs::current_path(fs::temp_directory_path());
fs::create_directories("sandbox/a/b");
std::ofstream("sandbox/file1.txt");
fs::create_symlink("a", "sandbox/syma");
std::cout << "Print dir structure using OS specific command 'tree':\n";
std::system("tree --noreport sandbox");
std::cout << "\nPrint dir structure using directory iterator:\n";
for (auto& p : fs::recursive_directory_iterator("sandbox"))
std::cout << p << '\n';
fs::remove_all("sandbox");
}
# Defect reports
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 3480 | C++17 | end took the argument by reference | takes the argument by value |