std::experimental::filesystem::begin(recursive_directory_iterator), std::experimental::filesystem::end(recursive_directory_iterator)
From cppreference.com
                    
                                        
                    < cpp | experimental | fs | recursive directory iterator
                    
                                                            
                    | recursive_directory_iterator begin( recursive_directory_iterator iter ); | (1) | (filesystem TS) | 
| recursive_directory_iterator end( const recursive_directory_iterator& ); | (2) | (filesystem TS) | 
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_iterators with range-based for loops.
| Contents | 
[edit] Parameters
| iter | - | a recursive_directory_iterator | 
[edit] Return value
1) 
iter unchanged2) End iterator (default-constructed 
recursive_directory_iterator)[edit] Exceptions
noexcept specification:  
noexcept
  [edit] 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"
[edit] See also
| range-based for loop support (function) | 


