std::filesystem::recursive_directory_iterator:: operator++, std::filesystem::recursive_directory_iterator:: increment
|
recursive_directory_iterator
&
operator
++
(
)
;
|
(1) | (desde C++17) |
|
recursive_directory_iterator
&
increment
(
std::
error_code
&
ec
)
;
|
(2) | (desde C++17) |
Avanza el iterador a la siguiente entrada. Invalida todas las copias del valor anterior de * this .
Si no quedan más entradas en el directorio actualmente iterado, la iteración se reanuda sobre el directorio padre. El proceso se repite si el directorio padre no tiene entradas hermanas que puedan ser iteradas. Si se alcanza el padre de la jerarquía de directorios que ha sido iterada recursivamente (no hay entradas candidatas en depth ( ) == 0 ) , * this se establece como un iterador final.
De lo contrario, si * this hace referencia a un directorio, se itera sobre él si se cumplen las siguientes condiciones:
- disable_recursion_pending() no ha sido llamado antes de este incremento, es decir, recursion_pending ( ) == true .
-
El directorio no es un enlace simbólico o el seguimiento de enlaces simbólicos está habilitado, es decir, al menos una de las siguientes condiciones es verdadera:
- ! is_symlink ( ( * this ) - > symlink_status ( ) ) .
- ( options ( ) & directory_options :: follow_directory_symlink ) ! = directory_options :: none )
Contenidos |
Parámetros
| ec | - | código de error para almacenar el estado de error |
Valor de retorno
* this
Excepciones
Cualquier sobrecarga no marcada como
noexcept
puede lanzar
std::bad_alloc
si la asignación de memoria falla.
Ejemplo
|
Esta sección está incompleta
Razón: sin 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 | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 3013 | C++17 |
error_code
sobrecarga marcada como noexcept pero puede asignar memoria
|
noexcept eliminado |