QLinkedListIterator Class
template <typename T> class QLinkedListIteratorLa classe QLinkedListIterator fournit un itérateur constant de style Java pour QLinkedList. Plus...
| En-tête : | #include <QLinkedListIterator> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core5Compat)target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
| qmake : | QT += core5compat |
Fonctions publiques
| QLinkedListIterator(const QLinkedList<T> &list) | |
| bool | findNext(const T &value) |
| bool | findPrevious(const T &value) |
| bool | hasNext() const |
| bool | hasPrevious() const |
| const T & | next() |
| const T & | peekNext() const |
| const T & | peekPrevious() const |
| const T & | previous() |
| void | toBack() |
| void | toFront() |
| QLinkedListIterator<T> & | operator=(const QLinkedList<T> &list) |
Description détaillée
QLinkedList possède à la fois des itérateurs de style Java et des itérateurs de style STL. Les itérateurs de style Java sont de plus haut niveau et plus faciles à utiliser que les itérateurs de style STL ; en revanche, ils sont légèrement moins efficaces.
QLinkedListIterator<T> permet d'itérer sur une liste QLinkedList<T>. Si vous souhaitez modifier la liste au cours de l'itération, utilisez plutôt QMutableLinkedListIterator<T>.
Le constructeur de QLinkedListIterator prend un QLinkedList comme argument. Après la construction, l'itérateur est placé au tout début de la liste (avant le premier élément). Voici comment itérer sur tous les éléments de manière séquentielle :
QLinkedList<float> list ;...QLinkedListIterator<float> i(list) ;while (i.hasNext()) qDebug() << i.next();
La fonction next() renvoie l'élément suivant de la liste et fait avancer l'itérateur. Contrairement aux itérateurs de style STL, les itérateurs de style Java pointent entre les éléments plutôt que directement sur les éléments. Le premier appel à next() fait avancer l'itérateur à la position située entre le premier et le deuxième élément, et renvoie le premier élément ; le deuxième appel à next() fait avancer l'itérateur à la position située entre le deuxième et le troisième élément, et renvoie le deuxième élément ; et ainsi de suite.

Voici comment itérer sur les éléments dans l'ordre inverse :
QLinkedListIterator<float> i(list) ; i.toBack() ;while (i.hasPrevious()) qDebug() << i.previous();
Si vous souhaitez trouver toutes les occurrences d'une valeur particulière, utilisez findNext() ou findPrevious() dans une boucle.
Plusieurs itérateurs peuvent être utilisés sur la même liste. Si la liste est modifiée alors qu'un QLinkedListIterator est actif, le QLinkedListIterator continuera à itérer sur la liste originale, en ignorant la copie modifiée.
Voir également QMutableLinkedListIterator et QLinkedList::const_iterator.
Documentation des fonctions membres
QLinkedListIterator::QLinkedListIterator(const QLinkedList<T> &list)
Construit un itérateur pour parcourir list. L'itérateur est placé au début de la liste (avant le premier élément).
Voir aussi operator=().
bool QLinkedListIterator::findNext(const T &value)
Recherche value à partir de la position actuelle de l'itérateur. Renvoie true si value est trouvé, sinon false.
Après l'appel, si value a été trouvé, l'itérateur est positionné juste après l'élément correspondant ; sinon, l'itérateur est positionné à l'arrière du conteneur.
Voir également findPrevious().
bool QLinkedListIterator::findPrevious(const T &value)
Recherche value à partir de la position actuelle de l'itérateur vers l'arrière. Renvoie true si value est trouvé, sinon renvoie false.
Après l'appel, si value a été trouvé, l'itérateur est positionné juste avant l'élément correspondant ; sinon, l'itérateur est positionné à l'avant du conteneur.
Voir également findNext().
bool QLinkedListIterator::hasNext() const
Renvoie true s'il y a au moins un élément avant l'itérateur, c'est-à-dire que l'itérateur n' est pas à l'arrière du conteneur ; sinon, renvoie false.
Voir aussi hasPrevious() et next().
bool QLinkedListIterator::hasPrevious() const
Renvoie true s'il y a au moins un élément derrière l'itérateur, c'est-à-dire que l'itérateur n' est pas à l'avant du conteneur ; sinon, renvoie false.
Voir aussi hasNext() et previous().
const T &QLinkedListIterator::next()
Renvoie l'élément suivant et fait avancer l'itérateur d'une position.
L'appel de cette fonction à un itérateur situé à l'arrière du conteneur conduit à des résultats indéfinis.
Voir aussi hasNext(), peekNext() et previous().
const T &QLinkedListIterator::peekNext() const
Renvoie l'élément suivant sans déplacer l'itérateur.
L'appel de cette fonction à un itérateur situé à l'arrière du conteneur conduit à des résultats indéfinis.
Voir aussi hasNext(), next() et peekPrevious().
const T &QLinkedListIterator::peekPrevious() const
Renvoie l'élément précédent sans déplacer l'itérateur.
L'appel de cette fonction à un itérateur situé à l'avant du conteneur conduit à des résultats indéfinis.
Voir aussi hasPrevious(), previous() et peekNext().
const T &QLinkedListIterator::previous()
Renvoie l'élément précédent et fait reculer l'itérateur d'une position.
L'appel de cette fonction à un itérateur situé à l'avant du conteneur conduit à des résultats indéfinis.
Voir aussi hasPrevious(), peekPrevious() et next().
void QLinkedListIterator::toBack()
Déplace l'itérateur à l'arrière du conteneur (après le dernier élément).
Voir aussi toFront() et previous().
void QLinkedListIterator::toFront()
Déplace l'itérateur à l'avant du conteneur (avant le premier élément).
Voir aussi toBack() et next().
QLinkedListIterator<T> &QLinkedListIterator::operator=(const QLinkedList<T> &list)
Permet à l'itérateur d'opérer sur list. L'itérateur est placé en tête de liste (avant le premier élément).
© 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.