QVectorIteratorLa QVectorIterator fournit un it�rateur constant dans le style Java pour QVector et QStack. Plus d'informations... #include <QVectorIterator> Voir la position dans l'arbre des classes. Description d�taill�eLa QVectorIterator fournit un it�rateur constant dans le style Java pour QVector et QStack. QVector poss�de 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 facile � utiliser que les it�rateurs STL ; par contre, ils sont un peu moins efficaces. Une autre possibilit� que l'utilisation des it�rateurs est d'utiliser les index. La plupart des fonctions de QVector prennent un index comme premier param�tre, rendant possibles l'acc�s, l'insertion et la suppression d'�l�ments sans utiliser d'it�rateur. QVectorIterator<T> permet de parcourir un QVector<T> (ou un QStack<T>). Si on souhaite modifier le vecteur lors du parcours, il faut � la place utiliser QMutableVectorIterator<T>. Le constructeur de QVectorIterator prend un QVector comme param�tre. Apr�s la construction, l'it�rateur est situ� au tout d�but du vecteur (avant le premier �l�ment). Voici comment parcourir tous les �l�ments un par un: QVector<float> vector; ... QVectorIterator<float> i(vector); while (i.hasNext()) qDebug() << i.next(); La fonction next() retourne le prochain �l�ment du vecteur et avance l'it�rateur. Contrairement aux it�rateurs STL, les it�rateurs Java pointent entre les �l�ments plut�t que sur les �l�ments. Le premier appel � next() avance l'it�rateur � la position entre le premier et le second �l�ment et retourne le premier �l�ment ; le second appel � next() avance l'it�rateur � la position entre le deuxi�me et le troisi�me �l�ment, retournant le deuxi�me �l�ment ; et ainsi de suite. Voici comment parcourir dans l'ordre invers� : QVectorIterator<float> i(vector); i.toBack(); while (i.hasPrevious()) qDebug() << i.previous(); Si on veut trouver toutes les occurrences d'une valeur particuli�re, on utilise findNext() ou findPrevious() dans une boucle. Plusieurs it�rateurs peuvent �tre utilis�s sur le m�me vecteur. Si le vecteur est modifi� lorsqu'un QVectorIterator est actif, le QVectorIterator va continuer de parcourir le vecteur original, ignorant la copie modifi�e. Voir aussi QMutableVectorIterator et QVector::const_iterator. Fonctions membresQVectorIterator::QVectorIterator ( const QVector<T> & vector )Construit un it�rateur pour le parcours du vecteur vector. L'it�rateur est positionn� au d�but du vecteur (avant le premier �l�ment). Voir aussi operator=(). bool QVectorIterator::findNext ( const T & value )Recherche en avant la valeur value en commen�ant par la position actuelle de l'it�rateur. Retourne true si la valeur value est trouv�e ; sinon retourne false. Apr�s l'appel, si la valeur 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 du conteneur. Voir aussi findPrevious(). bool QVectorIterator::findPrevious ( const T & value )Recherche en arri�re la valeur value en commen�ant par la position actuelle de l'it�rateur. Retourne true si la valeur value est trouv�e ; sinon retourne false. Apr�s l'appel, si la valeur 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 du conteneur. Voir aussi findNext(). bool QVectorIterator::hasNext () constRetourne true s'il y a au moins un �l�ment devant l'it�rateur, c'est-�-dire, si l'it�rateur n'est pas � la fin du conteneur ; sinon retourne false. Voir aussi hasPrevious() et next(). bool QVectorIterator::hasPrevious () constRetourne true s'il y a au moins un �l�ment derri�re l'it�rateur, c'est-�-dire, si l'it�rateur n'est pas au d�but du conteneur ; sinon retourne false. Voir aussi hasNext() et previous(). const T & QVectorIterator::next ()Retourne le prochain �l�ment et avance l'it�rateur d'une position en avant. L'appel � cette fonction sur un it�rateur situ� � la fin d'un conteneur provoque des r�sultats non d�finis. Voir aussi hasNext(), peekNext() et previous(). const T & QVectorIterator::peekNext () constRetourne le prochain �l�ment sans d�placer l'it�rateur. L'appel � cette fonction sur un it�rateur situ� � la fin d'un conteneur provoque des r�sultats non d�finis. Voir aussi hasNext(), next() et peekPrevious(). const T & QVectorIterator::peekPrevious () constRetourne l'�l�ment pr�c�dent sans d�placer l'it�rateur. L'appel � cette fonction sur un it�rateur situ� au d�but d'un conteneur provoque des r�sultats non d�finis. Voir aussi hasPrevious(), previous() et peekNext(). const T & QVectorIterator::previous ()Retourne l'�l�ment pr�c�dent et d�place l'it�rateur d'une position en arri�re. L'appel � cette fonction sur un it�rateur situ� au d�but d'un conteneur provoque des r�sultats non d�finis. Voir aussi hasPrevious(), peekPrevious() et next(). void QVectorIterator::toBack ()D�place l'it�rateur � la fin du conteneur (apr�s le dernier �l�ment). Voir aussi toFront() et previous(). void QVectorIterator::toFront ()D�place l'it�rateur au d�but du conteneur (avant le premier �l�ment). Voir aussi toBack() et next(). QVectorIterator & QVectorIterator::operator= ( const QVector<T> & vector )Associe l'it�rateur au vecteur vector. L'it�rateur est positionn� au d�but du vecteur (avant le premier �l�ment). Voir aussi toFront() et toBack(). RemerciementsMerci � Alexandre Laurent pour la traduction ainsi qu'� Lo?c Leguay, Ilya Diallo, Jonathan Courtois, Thibaut Cuvelier et Claude Leloup pour leur 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 ! |