home | help
std::experi...ory_iterator(3)  C++ Standard Libary std::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 a LegacyInputIterator that iterates over	the  di-
     rectory_entry
	elements of a directory (but does not visit the subdirectories). The it-
     eration 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 itera-
     tor. Two end
	iterators are always equal, dereferencing or incrementing the end itera-
     tor 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  members
     or as
	non-members, as required by LegacyInputIterator.

Example
     // Run this code

      #include <experimental/filesystem>
      #include <fstream>
      #include <iostream>
      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_iterator{"sand-
     box"})
	      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  directory
     and its
	recursive_directory_iterator subdirectories
				     (class)
	directory_options	     options for iterating directory contents
				     (enum)
	directory_entry 	     a directory entry
				     (class)

Category:
	  * Noindexed pages

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

home | help