Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::experi...ator::depth(3)  C++ Standard Libary std::experi...ator::depth(3)

NAME
       std::experimental::filesystem::recursive_directory_iterator::depth    -
       std::experimental::filesystem::recursive_directory_iterator::depth

Synopsis
	  int depth() const;  (filesystem TS)

	  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 <experimental/filesystem>
	namespace fs = std::experimental::filesystem;

	int main()
	{
	    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::experi...ator::depth(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::filesystem::recursive_directory_iterator::depth&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help