FreeBSD Manual Pages
std::filesy...ator::depth(3) C++ Standard Libary std::filesy...ator::depth(3) NAME std::filesystem::recursive_directory_iterator::depth - std::filesys- tem::recursive_directory_iterator::depth Synopsis int depth() const; (since C++17) Returns the number of directories from the starting directory to the currently iterated directory, i.e. the current depth of the directory hierar- chy. The starting directory has depth of 0, its subdirectories have depth 1, etc. The behavior is undefined if *this is the end iterator. Parameters (none) Return value Current depth of the directory hierarchy. Exceptions Throws nothing. Example this example uses iteration depth to calculate the indentation of a directory tree printout // Run this code #include <fstream> #include <iostream> #include <string> #include <filesystem> namespace fs = std::filesystem; int main() { fs::current_path(fs::temp_directory_path()); fs::create_directories("sandbox/a/b/c"); fs::create_directories("sandbox/a/b/d/e"); std::ofstream("sandbox/a/b/file1.txt"); fs::create_symlink("a", "sandbox/syma"); for(auto i = fs::recursive_directory_iterator("sandbox"); i != fs::recursive_directory_iterator(); ++i ) { std::cout << std::string(i.depth(), ' ') << *i; if(fs::is_symlink(i->symlink_status())) std::cout << " -> " << fs::read_symlink(*i); std::cout << '\n'; } fs::remove_all("sandbox"); } Output: "sandbox/a" "sandbox/a/b" "sandbox/a/b/c" "sandbox/a/b/d" "sandbox/a/b/d/e" "sandbox/a/b/file1.txt" "sandbox/syma" -> "a" http://cppreference.com 2022.07.31 std::filesy...ator::depth(3)
NAME | Synopsis | Parameters | Return value | Exceptions | Example | Output:
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::filesystem::recursive_directory_iterator::depth&sektion=3&manpath=FreeBSD+Ports+15.0>
