Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Classe
Décrit un itérateur d’entrée qui parcourt en séquence les noms de fichiers dans un répertoire. Pour un itérateur X, l’expression *X prend la valeur d’un objet de classe directory_entry qui encapsule le nom de fichier et tout ce qui est connu de son état.
La classe stocke un objet de type path, appelé mydir ici à des fins d’exposition, qui représente le nom du répertoire à séquencer, et un objet de type directory_entry appelé myentry ici, qui représente le nom de fichier actuel dans la séquence d’annuaires. Un objet construit par défaut de type directory_entry a un chemin d’accès vide mydir et représente l’itérateur de fin de séquence.
Par exemple, étant donné le répertoire abc avec des entrées def et ghi, le code :
for (directory_iterator next(path("abc")), end; next != end; ++next) visit(next->path());
appels visit avec les arguments path("abc/def") et path("abc/ghi").
Pour plus d’informations et pour obtenir des exemples de code, consultez Navigation dans le système de fichiers (C++).
Syntaxe
class directory_iterator;
Constructeurs
| Constructeur | Description |
|---|---|
directory_iterator |
Construit un itérateur d’entrée qui séquence les noms de fichiers dans un répertoire. |
Fonctions Membre
| Fonction membre | Description |
|---|---|
increment |
Tente d’accéder au nom de fichier suivant dans le répertoire. |
Opérateurs
| Opérateur | Description |
|---|---|
operator!= |
Retourne !(*this == right). |
operator= |
Les opérateurs d’affectation de membre par défaut se comportent comme prévu. |
operator== |
Retourne true uniquement si les deux *this itérateurs right de fin de séquence ou les deux ne sont pas des itérateurs de fin de séquence. |
operator* |
Retourne myentry. |
operator-> |
Retourne &**this. |
operator++ |
Appels increment(), puis retourne *this, ou effectue une copie de l’objet, appelle increment(), puis retourne la copie. |
Spécifications
En-tête : <filesystem>
Espace de noms : std::filesystem
directory_iterator::directory_iterator
Le premier constructeur produit un itérateur de fin de séquence. Les deuxième et troisième constructeurs stockent pval mydir, puis tentent d’ouvrir et de lire mydir en tant que répertoire. En cas de réussite, ils stockent le premier nom de fichier dans le répertoire myentry; sinon, ils produisent un itérateur de fin de séquence.
Le constructeur par défaut se comporte comme prévu.
directory_iterator() noexcept;
explicit directory_iterator(const path& pval);
directory_iterator(const path& pval, error_code& ec) noexcept;
directory_iterator(const directory_iterator&) = default;
directory_iterator(directory_iterator&&) noexcept = default;
Paramètres
pval
Chemin d’accès du nom de fichier stocké.
ec
Code d’erreur d’état.
directory_iterator
Objet stocké.
directory_iterator::increment
La fonction tente d’accéder au nom de fichier suivant dans le répertoire. En cas de réussite, il stocke ce nom de fichier dans myentry; sinon, il produit un itérateur de fin de séquence.
directory_iterator& increment(error_code& ec) noexcept;
directory_iterator::operator!=
L’opérateur membre retourne !(*this == right).
bool operator!=(const directory_iterator& right) const;
Paramètres
right
L’être directory_iterator comparé au directory_iterator.
directory_iterator::operator=
Les opérateurs d’affectation de membre par défaut se comportent comme prévu.
directory_iterator& operator=(const directory_iterator&) = default;
directory_iterator& operator=(directory_iterator&&) noexcept = default;
Paramètres
right
En directory_iterator cours de copie dans le directory_iterator.
directory_iterator::operator==
L’opérateur membre retourne true uniquement si les deux *this et right sont des itérateurs de fin de séquence ou les deux ne sont pas des itérateurs de fin de séquence.
bool operator==(const directory_iterator& right) const;
Paramètres
right
Le directory_iterator comparé au directory_iterator.
directory_iterator::operator*
L’opérateur membre retourne myentry.
const directory_entry& operator*() const;
directory_iterator::operator->
La fonction membre retourne &**this.
const directory_entry * operator->() const;
directory_iterator::operator++
La première fonction membre appelle increment(), puis retourne *this. La deuxième fonction membre effectue une copie de l’objet, appelle increment(), puis retourne la copie.
directory_iterator& operator++();
directory_iterator& operator++(int);
Paramètres
int
Nombre d’incréments.
Voir aussi
<filesystem>
Informations de référence sur les fichiers d’en-tête
Navigation dans le système de fichiers (C++)