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 *thisright 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 que toman un pval argumento lo almacenan 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. Las sobrecargas que toman un options argumento controlan cómo se enumera el directorio. Sobrecargas que toman errores ec de informe de argumentos en ec lugar de producir una excepción. Los constructores de copia y movimiento se comportan según lo previsto.
directory_iterator() noexcept;
explicit directory_iterator(const path& pval);
directory_iterator(const path& pval, directory_options options);
directory_iterator(const path& pval, error_code& ec) noexcept;
directory_iterator(const path& pval, directory_options options, 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.
options
Valor directory_options que controla cómo se enumera el directorio. El valor predeterminado es directory_options::none.
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);
Parámetros
ec
Código de error de estado.
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
Argumento ficticio. Se trata de una convención de C++ que solo se usa para distinguir el operador de incremento de postfijo del operador de incremento de prefijo. El estándar de C++ requiere que el formulario de postfijo tome un parámetro int ficticio.
Consulte también
<filesystem>
Referencia de archivos de encabezado
Exploración del sistema de archivos (C++)