QSetIterator Class
template <typename T> class QSetIteratorLa clase QSetIterator proporciona un iterador const estilo Java para QSet. Más...
| Cabecera: | #include <QSetIterator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Funciones públicas
| QSetIterator(const QSet<T> &set) | |
| bool | findNext(const T &value) |
| bool | hasNext() const |
| const T & | next() |
| const T & | peekNext() const |
| void | toBack() |
| void | toFront() |
| QSetIterator<T> & | operator=(const QSet<T> &set) |
Descripción detallada
QSet tiene tanto iteradores estilo Java como iteradores estilo STL. Los iteradores estilo STL son más eficientes y deberían preferirse.
QSetIterator<T> permite iterar sobre un QSet<T>. Si desea modificar el conjunto mientras itera sobre él, utilice QMutableSetIterator<T> en su lugar.
El constructor toma un QSet como argumento. Después de la construcción, el iterador se encuentra al principio del conjunto (antes del primer elemento). He aquí cómo iterar sobre todos los elementos secuencialmente:
QSet<QString> set; //... QSetIterator<QString> i(set); while (i.hasNext()) QString f = i.next();
La función next() devuelve el siguiente elemento del conjunto y hace avanzar el iterador. A diferencia de los iteradores de estilo STL, los iteradores de estilo Java apuntan entre elementos en lugar de directamente a los elementos. La primera llamada a next() hace avanzar el iterador hasta la posición entre el primer y el segundo elemento, y devuelve el primer elemento; la segunda llamada a next() hace avanzar el iterador hasta la posición entre el segundo y el tercer elemento, y devuelve el segundo elemento; y así sucesivamente.
Si desea encontrar todas las apariciones de un valor determinado, utilice findNext() en un bucle.
Se pueden utilizar varios iteradores en el mismo conjunto. Si el conjunto se modifica mientras un QSetIterator está activo, el QSetIterator continuará iterando sobre el conjunto original, ignorando la copia modificada.
Ver también QMutableSetIterator y QSet::const_iterator.
Documentación de Funciones Miembro
QSetIterator::QSetIterator(const QSet<T> &set)
Construye un iterador para recorrer set. El iterador se coloca al principio del conjunto (antes del primer elemento).
Véase también operator=().
bool QSetIterator::findNext(const T &value)
Busca value comenzando desde la posición actual del iterador hacia adelante. Devuelve true si se encuentra value; en caso contrario devuelve false.
Después de la llamada, si se encontró value, el iterador se posiciona justo después del elemento coincidente; en caso contrario, el iterador se posiciona al final del contenedor.
bool QSetIterator::hasNext() const
Devuelve true si hay al menos un elemento por delante del iterador, es decir, el iterador no está al final del contenedor; en caso contrario devuelve false.
Véase también next().
const T &QSetIterator::next()
Devuelve el siguiente elemento y avanza el iterador una posición.
Llamar a esta función en un iterador situado en la parte posterior del contenedor conduce a resultados indefinidos.
Véase también hasNext() y peekNext().
const T &QSetIterator::peekNext() const
Devuelve el siguiente elemento sin mover el iterador.
Llamar a esta función en un iterador situado en la parte posterior del contenedor conduce a resultados indefinidos.
Véase también hasNext() y next().
void QSetIterator::toBack()
Mueve el iterador a la parte posterior del contenedor (después del último elemento).
Véase también toFront().
void QSetIterator::toFront()
Mueve el iterador al principio del contenedor (antes del primer elemento).
Véase también toBack() y next().
QSetIterator<T> &QSetIterator::operator=(const QSet<T> &set)
Hace que el iterador opere en set. El iterador se coloca al principio del conjunto (antes del primer elemento).
© 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.