IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QListIterator

La classe QListIterator fournit un it�rateur constant dans le style Java pour QList et QQueue. Plus d'informations...

 #include <QListIterator>

Description d�taill�e

La classe QListIterator fournit un it�rateur constant dans le style Java pour QList et QQueue.

QList poss�de � la fois des it�rateurs dans le style Java et des it�rateurs dans le style STL. Les it�rateurs dans le style Java sont de plus haut niveau et plus faciles � utiliser que les it�rateurs dans le style STL ; par contre, ils sont un peu moins performants.

Il est possible d'utiliser des positions index�es � la place des it�rateurs. La plupart des fonctions membres de QList prennent un index comme premier param�tre, ce qui rend possible l'acc�s aux �l�ments, leur modification et leur suppression, sans utiliser d'it�rateurs.

QListIterator<T> vous permet d'it�rer sur une QList<T> (ou une QQueue<T>). Si vous voulez modifier la liste pendant que vous la parcourez, utilisez QMutableListIterator<T> � la place.

Le constructeur de QListIterator prend une QList comme argument. Apr�s la construction, l'it�rateur est positionn� au d�but de la liste, avant le premier �l�ment. Voici comment parcourir tous les �l�ments s�quentiellement :

 QList<float> list;
 ...
 QListIterator<float> i(list);
 while (i.hasNext())
     qDebug() << i.next();

La fonction next() renvoie le prochain �l�ment de la liste et avance l'it�rateur. Contrairement aux it�rateurs dans le style STL, les it�rateurs dans le style Java pointent ��entre�� les �l�ments plut�t que directement ��sur�� eux. Le premier appel � next() avance l'it�rateur � la position entre le premier et le second �l�ment et renvoie le premier �l�ment ; le second appel � next() avance l'it�rateur � la position entre le second et le troisi�me �l�ment et renvoie le second, et ainsi de suite.

image Voici comment parcourir les �l�ments en ordre inverse :

 QListIterator<float> i(list);
 i.toBack();
 while (i.hasPrevious())
     qDebug() << i.previous();

Si vous recherchez toutes les occurrences d'une valeur particuli�re, utilisez findNext() ou findPrevious() dans une boucle.

Il est possible d'utiliser plusieurs it�rateurs sur la m�me liste. Si la liste est modifi�e pendant qu'un QListIterator est actif, le QListIterator va continuer de parcourir la liste originale, ignorant la copie modifi�e.

Voir aussi QMutableListIterator et QList::const_iterator.

Fonctions membres

QListIterator::QListIterator ( const QList<T> & list )

Construit un it�rateur pour parcourir list. L'it�rateur est positionn� au d�but de la liste (avant le premier �l�ment).

Voir aussi operator=().

bool QListIterator::findNext ( const T & value )

Recherche value vers l'avant depuis la position courante de l'it�rateur. Renvoie true si value est trouv�e ; sinon renvoie false.

Apr�s l'appel, si value a �t� trouv�e, l'it�rateur est positionn� juste apr�s l'�l�ment correspondant ; sinon, l'it�rateur est positionn� � la fin de la liste.

Voir aussi findPrevious().

bool QListIterator::findPrevious ( const T & value )

Recherche value vers l'arri�re depuis la position courante de l'it�rateur. Renvoie true si value est trouv�e ; sinon renvoie false.

Apr�s l'appel, si value a �t� trouv�e, l'it�rateur est positionn� juste avant l'�l�ment correspondant ; sinon, l'it�rateur est positionn� au d�but de la liste.

Voir aussi findNext().

bool QListIterator::hasNext () const

Renvoie true s'il existe au moins un �l�ment devant l'it�rateur, c'est-�-dire si l'it�rateur n'est pas � la fin de la liste ; sinon renvoie false.

Voir aussi hasPrevious() et next().

bool QListIterator::hasPrevious () const

Renvoie true s'il existe au moins un �l�ment derri�re l'it�rateur, c'est-�-dire si l'it�rateur n'est pas au d�but de la liste ; sinon renvoie false.

Voir aussi hasNext() et previous().

const T & QListIterator::next ()

Renvoie le prochain �l�ment et avance l'it�rateur d'une position.

L'appel de cette fonction sur un it�rateur positionn� � la fin de la liste produit un r�sultat ind�fini.

Voir aussi hasNext(), peekNext() et previous().

const T & QListIterator::peekNext () const

Renvoie le prochain �l�ment sans avancer l'it�rateur.

L'appel de cette fonction sur un it�rateur positionn� � la fin de la liste produit un r�sultat ind�fini.

Voir aussi hasNext(), next() et peekPrevious().

const T & QListIterator::peekPrevious () const

Renvoie l'�l�ment pr�c�dent sans avancer l'it�rateur.

L'appel de cette fonction sur un it�rateur positionn� au d�but de la liste produit un r�sultat ind�fini.

Voir aussi hasPrevious(), previous() et peekNext().

const T & QListIterator::previous ()

Renvoie l'�l�ment pr�c�dent et recule l'it�rateur d'une position.

L'appel de cette fonction sur un it�rateur positionn� au d�but de la liste produit un r�sultat ind�fini.

Voir aussi hasPrevious(), peekPrevious() et next().

void QListIterator::toBack ()

Positionne l'it�rateur � la fin de la liste (apr�s le dernier �l�ment).

Voir aussi toFront() et previous().

void QListIterator::toFront ()

Positionne l'it�rateur au d�but de la liste (avant le premier �l�ment).

Voir aussi toBack() et next().

QListIterator & QListIterator::operator= ( const QList<T> & list )

Fait op�rer l'it�rateur sur list. L'it�rateur est positionn� au d�but de la liste (avant le premier �l�ment).

Voir aussi toFront() et toBack().

Remerciements

Merci � Ilya Diallo pour la traduction, ainsi qu'� Dimitry Ernot et Claude Leloup pour la relecture !

Cette page est une traduction d'une page de la documentation de Qt, �crite par Nokia Corporation and/or its subsidiary(-ies). Les �ventuels probl�mes r�sultant d'une mauvaise traduction ne sont pas imputables � Nokia. Qt 4.7
Copyright © 2025 Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'� 3 ans de prison et jusqu'� 300 000 E de dommages et int�r�ts. Cette page est d�pos�e � la SACD.
Vous avez d�nich� une erreur ? Un bug ? Une redirection cass�e ? Ou tout autre probl�me, quel qu'il soit ? Ou bien vous d�sirez participer � ce projet de traduction ? N'h�sitez pas � nous contacter ou par MP !