std::filesystem::recursive_directory_iterator:: operator++, std::filesystem::recursive_directory_iterator:: increment
|
recursive_directory_iterator
&
operator
++
(
)
;
|
(1) | (depuis C++17) |
|
recursive_directory_iterator
&
increment
(
std::
error_code
&
ec
)
;
|
(2) | (depuis C++17) |
Avance l'itérateur vers l'entrée suivante. Invalide toutes les copies de la valeur précédente de * this .
S'il n'y a plus d'entrées dans le répertoire actuellement itéré, l'itération reprend sur le répertoire parent. Le processus est répété si le répertoire parent n'a pas d'entrées frères pouvant être itérées. Si le parent de la hiérarchie de répertoires qui a été itérée récursivement est atteint (il n'y a pas d'entrées candidates à depth ( ) == 0 ) , * this est défini comme un itérateur de fin.
Sinon, si * this fait référence à un répertoire, il est parcouru récursivement si les conditions suivantes sont remplies :
- disable_recursion_pending() n'a pas été appelé avant cet incrément, c'est-à-dire que recursion_pending ( ) == true .
-
Le répertoire n'est pas un lien symbolique ou le suivi des liens symboliques est activé, c'est-à-dire qu'au moins une des conditions suivantes est vraie :
- ! is_symlink ( ( * this ) - > symlink_status ( ) ) .
- ( options ( ) & directory_options :: follow_directory_symlink ) ! = directory_options :: none )
Table des matières |
Paramètres
| ec | - | code d'erreur pour stocker le statut d'erreur |
Valeur de retour
* this
Exceptions
Toute surcharge non marquée
noexcept
peut lever
std::bad_alloc
si l'allocation de mémoire échoue.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 3013 | C++17 |
error_code
surcharge marquée noexcept mais peut allouer de la mémoire
|
noexcept supprimé |