Sur cette page

QDirListing::const_iterator Class

class QDirListing::const_iterator

Cette classe a été introduite dans Qt 6.8.

Types publics

Fonctions publiques

const_iterator()
const_iterator(QDirListing::const_iterator &&)
QDirListing::const_iterator::reference operator*() const
QDirListing::const_iterator &operator++()
void operator++(int)
QDirListing::const_iterator::pointer operator->() const
QDirListing::const_iterator &operator=(QDirListing::const_iterator &&)

Description détaillée

Type d'itérateur renvoyé par la fonction ` QDirListing::cbegin()`.

  • Il s'agit d'un itérateur à passage unique et à lecture seule (vous ne pouvez pas parcourir les entrées du répertoire dans l'ordre inverse)
  • Il ne peut pas être copié, uniquement utilisé par ` std::move()d`.
  • La valeur de retour de l’opérateur de post-incrément sur les objets qui implémentent std::input_iterator est partiellement formée (une copie d’un itérateur qui a depuis été avancé) ; les seules opérations valides sur un tel objet sont la destruction et l’affectation d’un nouvel itérateur. Par conséquent, l’opérateur de post-incrément fait avancer l’itérateur et renvoie void.
  • Ne permet pas l’accès aléatoire
  • Peut être utilisé dans des boucles `for` avec plage ; ou avec les algorithmes `std::ranges` de C++20 qui ne nécessitent pas d'itérateurs à accès aléatoire
  • La déréférence d’un itérateur valide renvoie un const DirEntry &
  • (c) La fonction `end()` renvoie un ` QDirListing::sentinel ` qui signale la fin de l’itération. La déréférence d’un itérateur dont la valeur est égale à ` end()` entraîne un comportement indéfini

Remarque : les algorithmes « classiques » de la STL ne prennent pas en charge la combinaison itérateur/sentinelle ; vous devez donc utiliser les algorithmes std::ranges de C++20 pour ` QDirListing`, ou bien une bibliothèque tierce fournissant des algorithmes basés sur des plages en C++17.

Voir également QDirListing, QDirListing::sentinel et QDirListing::DirEntry.

Documentation sur les types de membres

[alias] const_iterator::pointer

Un `typedef` pour ` const QDirListing::DirEntry *`.

[alias] const_iterator::reference

Un typedef pour const QDirListing::DirEntry &.

Documentation des fonctions membres

[constexpr noexcept default] const_iterator::const_iterator()

Construit par défaut une instance de ` const_iterator`.

[constexpr noexcept default] const_iterator::const_iterator(QDirListing::const_iterator &&)

Crée par « move » une instance de ` const_iterator`.

QDirListing::const_iterator::reference const_iterator::operator*() const

Renvoie un objet ` const QDirListing::DirEntry & ` correspondant à l'entrée de répertoire vers laquelle pointe cet itérateur.

QDirListing::const_iterator &const_iterator::operator++()

Opérateur de pré-incrément. Fait avancer l'itérateur et renvoie une référence à celui-ci.

void const_iterator::operator++(int)

Opérateur de post-incrément.

QDirListing::const_iterator Il est conforme à la spécification std::input_iterator de C++20, c'est-à-dire qu'il s'agit d'un itérateur à passage unique, permettant uniquement les déplacements vers l'avant et ne prenant en charge que les déplacements, qui n'autorise pas l'accès aléatoire.

La valeur renvoyée par le post-incrément sur des objets modélisant std::input_iterator est partiellement formée (une copie d’un itérateur qui a depuis été avancé) ; les seules opérations valides sur un tel objet sont la destruction et l’affectation d’un nouvel itérateur. Par conséquent, l’opérateur de post-incrément fait avancer l’itérateur et renvoie void.

QDirListing::const_iterator::pointer const_iterator::operator->() const

Renvoie un objet ` const QDirListing::DirEntry * ` correspondant à l'entrée de répertoire vers laquelle pointe cet itérateur.

[constexpr noexcept default] QDirListing::const_iterator &const_iterator::operator=(QDirListing::const_iterator &&)

Cette opération attribue « other » à cette instance de « const_iterator ».

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.