Namespaces
Variants

std::filesystem::directory_iterator:: directory_iterator

From cppreference.net
directory_iterator ( ) noexcept ;
(1) (desde C++17)
explicit directory_iterator ( const std:: filesystem :: path & p ) ;
(2) (desde C++17)
(3) (desde C++17)
directory_iterator ( const std:: filesystem :: path & p, std:: error_code & ec ) ;
(4) (desde C++17)
(5) (desde C++17)
directory_iterator ( const directory_iterator & other ) = default ;
(6) (desde C++17)
directory_iterator ( directory_iterator && other ) = default ;
(7) (desde C++17)

Construye un nuevo iterador de directorio.

1) Construye el iterador final.
2) Construye un iterador de directorio que se refiere a la primera entrada de directorio de un directorio identificado por p . Si p se refiere a un archivo inexistente o no es un directorio, lanza std::filesystem::filesystem_error .
3) Igual que (2) , pero si std::filesystem::directory_options::skip_permission_denied está establecido en options y la construcción encuentra un error de permisos denegados, construye el iterador final y no reporta un error.
4) Construye un iterador de directorio que se refiere a la primera entrada de directorio de un directorio identificado por p . Si p se refiere a un archivo inexistente o no es un directorio, retorna el iterador final y establece ec .
5) Igual que (4) , pero si std::filesystem::directory_options::skip_permission_denied está establecido en options y la construcción encuentra un error de permisos denegados, construye el iterador final y no reporta un error.
6) Constructor de copia.
7) Constructor de movimiento.

Contenidos

Parámetros

p - ruta al objeto del sistema de archivos al que hará referencia el iterador de directorio
ec - parámetro de salida para reporte de errores en las sobrecargas que no lanzan excepciones
options - conjunto de BitmaskType opciones que controlan el comportamiento del iterador de directorio
other - otro iterador de directorio a utilizar como fuente para inicializar el iterador de directorio

Excepciones

Cualquier sobrecarga no marcada como noexcept puede lanzar std::bad_alloc si la asignación de memoria falla.

2,3) Lanza std::filesystem::filesystem_error en errores de API del sistema operativo subyacente, construido con p como primer argumento de ruta y el código de error del sistema operativo como argumento de código de error.
4,5) Establece un parámetro std:: error_code & al código de error de la API del sistema operativo si una llamada a la API del sistema operativo falla, y ejecuta ec. clear ( ) si no ocurren errores.

Notas

Para iterar sobre el directorio actual, construya el iterador como directory_iterator ( "." ) en lugar de directory_iterator ( "" ) .

Ejemplo

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Se aplica a Comportamiento publicado Comportamiento correcto
LWG 3013 C++17 error_code sobrecarga marcada como noexcept pero puede asignar memoria noexcept eliminado