Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Clase
Describe un iterador de entrada que establece secuencias en los nombres de archivo en un directorio. En el caso de un iterador X, la expresión *X se evalúa como un objeto de la clase directory_entry que contiene el nombre de archivo y cualquier elemento conocido sobre su estado.
La clase almacena un objeto de tipo path, denominado mydir aquí a efectos de la exposición, que representa el nombre del directorio que se va a secuenciar y un objeto de directory_entry tipo denominado myentry aquí, que representa el nombre de archivo actual en la secuencia del directorio. Un objeto construido de forma predeterminada de tipo directory_entry tiene un nombre de ruta de acceso mydir vacío y representa el iterador de final de secuencia.
Por ejemplo, si tenemos el directorio abc con entradas def y ghi, el código:
for (directory_iterator next(path("abc")), end; next != end; ++next) visit(next->path());
llama a visit con los argumentos path("abc/def") y path("abc/ghi").
Para obtener más información y ejemplos de código, vea Exploración del sistema de archivos (C++).
Sintaxis
class directory_iterator;
Constructores
| Constructor | Descripción |
|---|---|
directory_iterator |
Construye un iterador de entrada que establece secuencias en los nombres de archivo en un directorio. |
Funciones miembro
| Función de miembro | Descripción |
|---|---|
increment |
Intenta avanzar al siguiente nombre de archivo del directorio. |
Operadores
| Operador | Descripción |
|---|---|
operator!= |
Devuelve !(*this == right). |
operator= |
Los operadores predeterminados de asignación de miembros se comportan según lo previsto. |
operator== |
Devuelve true solo si y *this right son iteradores de fin de secuencia o ambos no son iteradores de fin de secuencia. |
operator* |
Devuelve myentry. |
operator-> |
Devuelve &**this. |
operator++ |
Llama a increment() y después devuelve *this o realiza una copia del objeto, llama a increment()y, después, devuelve la copia. |
Requisitos
Encabezado: <filesystem>
Espacio de nombres: std::filesystem
directory_iterator::directory_iterator
El primer constructor crea un iterador de final de secuencia. Los constructores segundo y tercero almacenan pval en mydiry, a continuación, intentan abrir y leer mydir como un directorio. Si es correcto, almacenan el primer nombre de archivo en el directorio de myentry; de lo contrario, generan un iterador de final de secuencia.
El constructor predeterminado se comporta según lo previsto.
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ámetros
pval
Ruta de acceso del nombre de archivo almacenado.
ec
Código de error de estado.
directory_iterator
Objeto almacenado .
directory_iterator::increment
La función intenta avanzar al siguiente nombre de archivo del directorio. Si es correcto, almacena ese nombre de archivo en myentry; en caso contrario, produce un iterador de final de secuencia.
directory_iterator& increment(error_code& ec) noexcept;
directory_iterator::operator!=
El operador miembro devuelve !(*this == right).
bool operator!=(const directory_iterator& right) const;
Parámetros
right
que directory_iterator se compara con .directory_iterator
directory_iterator::operator=
Los operadores predeterminados de asignación de miembros se comportan según lo previsto.
directory_iterator& operator=(const directory_iterator&) = default;
directory_iterator& operator=(directory_iterator&&) noexcept = default;
Parámetros
right
La clase directory_iterator que se copia en directory_iterator.
directory_iterator::operator==
El operador miembro solo devuelve true si ambos *this y right son iteradores de fin de secuencia o ambos no son iteradores de fin de secuencia.
bool operator==(const directory_iterator& right) const;
Parámetros
right
El directory_iterator que se compara con directory_iterator.
directory_iterator::operator*
El operador miembro devuelve myentry.
const directory_entry& operator*() const;
directory_iterator::operator->
La función miembro devuelve &**this.
const directory_entry * operator->() const;
directory_iterator::operator++
La primera función miembro llama a increment() y luego devuelve *this. La segunda función miembro hace una copia del objeto, llama a increment() y luego devuelve la copia.
directory_iterator& operator++();
directory_iterator& operator++(int);
Parámetros
int
Número de incrementos.
Consulte también
<filesystem>
Referencia de archivos de encabezado
Exploración del sistema de archivos (C++)