directory_iterator (Clase)directory_iterator Class

Describe un iterador de entrada que establece secuencias en los nombres de archivo en un directorio.Describes an input iterator that sequences through the filenames in a directory. En el caso de un iterador X , la expresión *X se evalúa como un objeto de clase directory_entry que contiene el nombre de archivo y cualquier elemento conocido sobre su estado.For an iterator X, the expression *X evaluates to an object of class directory_entry that wraps the filename and anything known about its status.

La clase almacena un objeto de tipo path , al mydir que se llama aquí para la exposición, que representa el nombre del directorio que se va a secuenciar y un objeto de tipo directory_entry llamado myentry aquí, que representa el nombre de archivo actual en la secuencia del directorio.The class stores an object of type path, called mydir here for the purposes of exposition, which represents the name of the directory to be sequenced, and an object of type directory_entry called myentry here, which represents the current filename in the directory sequence. Un objeto construido predeterminado de tipo directory_entry tiene un mydir nombreruta vacío y representa el iterador de final de secuencia.A default constructed object of type directory_entry has an empty mydir pathname and represents the end-of-sequence iterator.

Por ejemplo, dado el directorio abc con las entradas def y ghi , el código:For example, given the directory abc with entries def and ghi, the code:

for (directory_iterator next(path("abc")), end; next != end; ++next) visit(next->path());

llamará a visit con los argumentos path("abc/def") y path("abc/ghi") .will call visit with the arguments path("abc/def") and path("abc/ghi").

Para obtener más información y ejemplos de código, vea navegación del sistema de archivos (C++).For more information and code examples, see File System Navigation (C++).

SintaxisSyntax

class directory_iterator;

ConstructoresConstructors

ConstructorConstructor DescripciónDescription
directory_iteratordirectory_iterator Construye un iterador de entrada que secuencia a través de los nombres de archivo en un directorio.Constructs an input iterator that sequences through the filenames in a directory.

Funciones miembroMember functions

Función de miembroMember function DescripciónDescription
incrementincrement Intenta avanzar al siguiente nombre de archivo del directorio.Attempts to advance to the next filename in the directory.

OperadoresOperators

OperatorOperator DescripciónDescription
operador! =operator!= Devuelve !(*this == right).Returns !(*this == right).
operador =operator= Los operadores predeterminados de asignación de miembros se comportan según lo previsto.The defaulted member assignment operators behave as expected.
operador = =operator== Devuelve true solo si tanto *this como el derecho son iteradores de final de secuencia o si ambos no son iteradores de final de secuencia.Returns true only if both *this and right are end-of-sequence iterators or both are not end-of-sequence-iterators.
Operatoroperator* Devuelve myentry.Returns myentry.
operador->operator-> Devuelve &**this.Returns &**this.
operador + +operator++ Llama a increment() , devuelve *this o realiza una copia del objeto, llama a increment() y, a continuación, devuelve la copia.Calls increment(), then returns *this, or makes a copy of the object, calls increment(), then returns the copy.

RequisitosRequirements

Encabezado:<experimental/filesystem>Header: <experimental/filesystem>

Espacio de nombres: std::experimental::filesystemNamespace: std::experimental::filesystem

directory_iterator::d irectory_iteratordirectory_iterator::directory_iterator

El primer constructor crea un iterador de final de secuencia.The first constructor produces an end-of-sequence iterator. Los constructores segundo y tercero almacenan pval en y mydir , a continuación, intentan abrir y leer mydir como un directorio.The second and third constructors store pval in mydir, then attempt to open and read mydir as a directory. Si es correcto, almacenan el primer nombre de archivo en el directorio en myentry ; de lo contrario, generan un iterador de final de secuencia.If successful, they store the first filename in the directory in myentry; otherwise they produce an end-of-sequence iterator.

Los constructores predeterminados se comportan según lo previsto.The defaulted construtors behave as expected.

directory_iterator() noexcept;
explicit directory_iterator(const path& pval);

directory_iterator(const path& pval, error_code& ec) noexcept;
directory_iterator(const directory_iterator&) = default;
directory_iterator(directory_iterator&&) noexcept = default;

ParámetrosParameters

pvalpval
Ruta de acceso del nombre de archivo almacenado.The stored file name path.

ec
Código de error de estado.The status error code.

directory_iteratordirectory_iterator
Objeto almacenado.The stored object.

directory_iterator:: Incrementdirectory_iterator::increment

La función intenta avanzar al siguiente nombre de archivo del directorio.The function attempts to advance to the next filename in the directory. Si es correcto, almacena ese nombre de archivo en myentry ; de lo contrario, genera un iterador de final de secuencia.If successful, it stores that filename in myentry; otherwise it produces an end-of-sequence iterator.

directory_iterator& increment(error_code& ec) noexcept;

directory_iterator:: Operator! =directory_iterator::operator!=

El operador miembro devuelve !(*this == right).The member operator returns !(*this == right).

bool operator!=(const directory_iterator& right) const;

ParámetrosParameters

correctaright
Directory_iterator que se va a comparar con directory_iterator .The directory_iterator being compared to the directory_iterator.

directory_iterator:: Operator =directory_iterator::operator=

Los operadores predeterminados de asignación de miembros se comportan según lo previsto.The defaulted member assignment operators behave as expected.

directory_iterator& operator=(const directory_iterator&) = default;
directory_iterator& operator=(directory_iterator&&) noexcept = default;

ParámetrosParameters

correctaright
Directory_iterator que se va a copiar en directory_iterator .The directory_iterator being copied into the directory_iterator.

directory_iterator:: Operator = =directory_iterator::operator==

El operador miembro devuelve true solo si *this y right son iteradores de final de secuencia o si ambos no son iteradores de final de secuencia.The member operator returns true only if both *this and right are end-of-sequence iterators or both are not end-of-sequence-iterators.

bool operator==(const directory_iterator& right) const;

ParámetrosParameters

correctaright
Directory_iterator que se va a comparar con directory_iterator .The directory_iterator being compared to the directory_iterator.

directory_iterator:: Operator *directory_iterator::operator*

El operador miembro devuelve myentry.The member operator returns myentry.

const directory_entry& operator*() const;

directory_iterator:: Operator->directory_iterator::operator->

La función miembro devuelve &**this.The member function returns &**this.

const directory_entry * operator->() const;

directory_iterator:: Operator + +directory_iterator::operator++

La primera función miembro llama increment() a y después devuelve *this .The first member function calls increment(), then returns *this. La segunda función miembro realiza una copia del objeto, llama increment() a y, a continuación, devuelve la copia.The second member function makes a copy of the object, calls increment(), then returns the copy.

directory_iterator& operator++();
directory_iterator& operator++(int);

ParámetrosParameters

Interint
Número de incrementos.The number of increments.

Consulte tambiénSee also

Referencia de archivos de encabezadoHeader Files Reference
<filesystem>
Exploración del sistema de archivos (C++)File System Navigation (C++)