std::experimental::filesystem::recursive_directory_iterator

From cppreference.com
< cpp‎ | experimental‎ | fs
Defined in header <experimental/filesystem>
class recursive_directory_iterator :
    public std::iterator<input_iterator_tag, directory_entry>;
(filesystem TS)

recursive_directory_iterator is an input iterator that can recursively advance through entries of a directory and its children directories. Directory iteration never returns directory entries to the current (dot) and parent (dot-dot) directories. The order of directory entries is unspecified.

The past-the-end iterator (simply called the end iterator) is a special iterator. An end iterator is always equal to an end iterator and never equal to a non-end iterator. An end iterator is created by the default constructor of directory iterator and when a directory iterator is advanced past the last directory element. Calling operator* or operator-> on an end iterator yields undefined behavior.

If a file in a directory is deleted after the directory iterator has been created, the directory iterator may return a directory entry to the deleted file. If, on the other hand, a new file is created after the directory iterator has been created, iteration of the directory is not guaranteed to return a directory entry to the new file.

[edit] Member functions

constructs a recursive directory iterator
(public member function)
(destructor)
default destructor
(public member function)
Observers
accesses the pointed-to entry
(public member function)
returns the currently active options that affect the iteration
(public member function)
returns the current recursion depth
(public member function)
checks whether the recursion is disabled for the current directory
(public member function)
Modifiers
assigns contents
(public member function)
advances to the next entry
(public member function)
moves the iterator one level up in the directory hierarchy
(public member function)
disables recursion until the next increment
(public member function)