std::filesy...ator::depth(3) C++ Standard Libary std::filesy...ator::depth(3) NAME std::filesystem::recursive_directory_iterator::depth - std::filesystem::re- cursive_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 hierarchy. 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 di- rectory tree printout. // Run this code #include <filesystem> #include <fstream> #include <iostream> #include <string> 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() << 1, ' ') << *i; if (fs::is_symlink(i->symlink_status())) std::cout << " -> " << fs::read_symlink(*i); std::cout << '\n'; } fs::remove_all("sandbox"); } Output: "sandbox/syma" -> "a" "sandbox/a" "sandbox/a/b" "sandbox/a/b/d" "sandbox/a/b/d/e" "sandbox/a/b/file1.txt" "sandbox/a/b/c" http://cppreference.com 2024.06.10 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.1.quarterly>