std::filesystem::begin(recursive_directory_iterator),std::filesystem::end(recursive_directory_iterator) (3) - Linux Manuals

std::filesystem::begin(recursive_directory_iterator),std::filesystem::end(recursive_directory_iterator): std::filesystem::begin(recursive_directory_iterator),std::filesystem::end(recursive_directory_iterator)

NAME

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

Synopsis


recursive_directory_iterator begin( recursive_directory_iterator iter ) noexcept; (1) (since C++17)
recursive_directory_iterator end( const recursive_directory_iterator& ) noexcept; (2) (since C++17)


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)

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
begin(std::filesystem::directory_iterator) (function)
end(std::filesystem::directory_iterator)