Namespaces
Variants

std::filesystem::directory_iterator:: directory_iterator

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

Construit un nouvel itérateur de répertoire.

1) Construit l'itérateur de fin.
2) Construit un itérateur de répertoire qui fait référence à la première entrée de répertoire d'un répertoire identifié par p . Si p fait référence à un fichier inexistant ou non à un répertoire, lance std::filesystem::filesystem_error .
3) Identique à (2) , mais si std::filesystem::directory_options::skip_permission_denied est défini dans options et que la construction rencontre une erreur de permissions refusées, construit l'itérateur de fin et ne signale pas d'erreur.
4) Construit un itérateur de répertoire qui fait référence à la première entrée de répertoire d'un répertoire identifié par p . Si p fait référence à un fichier inexistant ou non à un répertoire, retourne l'itérateur de fin et définit ec .
5) Identique à (4) , mais si std::filesystem::directory_options::skip_permission_denied est défini dans options et que la construction rencontre une erreur de permissions refusées, construit l'itérateur de fin et ne signale pas d'erreur.
6) Constructeur de copie.
7) Constructeur de déplacement.

Table des matières

Paramètres

p - chemin vers l'objet du système de fichiers auquel l'itérateur de répertoire fera référence
ec - paramètre de sortie pour le rapport d'erreurs dans les surcharges non-lançantes
options - l'ensemble des options BitmaskType qui contrôlent le comportement de l'itérateur de répertoire
other - un autre itérateur de répertoire à utiliser comme source pour initialiser l'itérateur de répertoire

Exceptions

Toute surcharge non marquée noexcept peut lever std::bad_alloc si l'allocation de mémoire échoue.

2,3) Lance std::filesystem::filesystem_error en cas d'erreurs de l'API système sous-jacente, construit avec p comme premier argument de chemin et le code d'erreur du système comme argument de code d'erreur.
4,5) Définit un paramètre std:: error_code & sur le code d'erreur de l'API du système d'exploitation si un appel d'API système échoue, et exécute ec. clear ( ) si aucune erreur ne survient.

Notes

Pour itérer sur le répertoire courant, construisez l'itérateur comme directory_iterator ( "." ) au lieu de directory_iterator ( "" ) .

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é