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

FreeBSD Manual Pages

  
 
  

home | help
std::experi...ory_iterator(3) C++ Standard Libarystd::experi...ory_iterator(3)

NAME
       std::experimental::filesystem::directory_iterator   -   std::experimen-
       tal::filesystem::directory_iterator

Synopsis
	  Defined in header <experimental/filesystem>
	  class	directory_iterator;		       (filesystem TS)

	  directory_iterator is	an LegacyInputIterator that iterates over  the
       directory_entry
	  elements of a	directory (but does not	visit the subdirectories). The
       iteration order
	  is  unspecified,  except  that  each directory entry is visited only
       once. The special
	  pathnames dot	and dot-dot are	skipped.

	  If the directory_iterator is advanced	past the last directory	entry,
       it becomes
	  equal	to the default-constructed iterator, also known	as the end it-
       erator. Two end
	  iterators are	always equal, dereferencing or	incrementing  the  end
       iterator	is
	  undefined behavior.

	  If  a	 file or a directory is	deleted	or added to the	directory tree
       after the
	  directory iterator has been created, it is unspecified  whether  the
       change would be
	  observed through the iterator.

Member types
	  Member type	    Definition
	  value_type	    filesystem::directory_entry
	  difference_type   std::ptrdiff_t
	  pointer	    const filesystem::directory_entry*
	  reference	    const filesystem::directory_entry&
	  iterator_category std::input_iterator_tag

Member functions
	  constructor	constructs a directory iterator
			(public	member function)
	  destructor	default	destructor
			(public	member function)
	  operator=	assigns	contents
			(public	member function)
	  operator*	accesses the pointed-to	entry
	  operator->	(public	member function)
	  increment	advances to the	next entry
	  operator++	(public	member function)

Non-member functions
	  filesystem::begin(filesystem::directory_iterator)   range-based  for
       loop support
	  filesystem::end(filesystem::directory_iterator)   (function)

	  Additionally,	operator== and operator!= are provided,	either as mem-
       bers or as
	  non-members, as required by LegacyInputIterator.

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"};
	    std::ofstream{"sandbox/file2.txt"};
	    for(const	fs::directory_entry&	entry:	  fs::directory_itera-
       tor{"sandbox"})
		std::cout << entry << '\n';
	    fs::remove_all("sandbox");
	}

Possible output:
	"sandbox/a"
	"sandbox/file1.txt"
	"sandbox/file2.txt"

See also
				       an iterator to the contents of a	direc-
       tory and	its
	  recursive_directory_iterator subdirectories
				       (class)
	  directory_options		options	 for  iterating	directory con-
       tents
				       (enum)
	  directory_entry	       a directory entry
				       (class)

http://cppreference.com		  2022.07.31	 std::experi...ory_iterator(3)

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

home | help