std::filesystem::begin(directory_iterator), std::filesystem::end(directory_iterator)
De cppreference.com
< cpp | filesystem | directory iterator
Definido en el archivo de encabezado <filesystem> | ||
directory_iterator begin( directory_iterator iter )noexcept; | (1) | (desde C++17) |
directory_iterator end( directory_iterator )noexcept; | (2) | (desde C++17) |
1) Devuelve
iter
sin cambiarlo.2) Devuelve un objeto directory_iterator construido por defecto, que sirve como el iterador final. Se ignora el argumento.
Estas funciones no miembro habilitan el uso de los objetos directory_iterator
con los bucles for basados en rango y hacen a directory_iterator
un tipo range
(desde C++20).
Contenido |
[editar]Parámetros
iter | - | Un objeto de tipo directory_iterator . |
[editar]Valor de retorno
1)
iter
sin cambiarlo.2) Iterador final (un objeto
directory_iterator
construido por defecto).[editar]Ejemplo
Ejecuta este código
#include <fstream>#include <iostream>#include <filesystem>namespace fs = std::filesystem; int main(){ fs::create_directories("entorno_aislado/a/b");std::ofstream("entorno_aislado/archivo1.txt");std::ofstream("entorno_aislado/archivo2.txt");for(auto& p: fs::directory_iterator("entorno_aislado"))std::cout<< p <<'\n'; fs::remove_all("entorno_aislado");}
Posible salida:
"entorno_aislado/a" "entorno_aislado/archivo1.txt" "entorno_aislado/archivo2.txt"
[editar]Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
---|---|---|---|
LWG 3480 | C++17 | end tomaba el argumento por referencia. | Toma el argumento por valor. |
[editar]Véase también
Apoyo para bucle for basado en rango. (función) |