QMutableSetIterator Class
template <typename T> class QMutableSetIteratorLa clase QMutableSetIterator proporciona un iterador no-const de estilo Java para QSet. Más...
| Cabecera: | #include <QMutableSetIterator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Funciones públicas
| QMutableSetIterator(QSet<T> &set) | |
| bool | findNext(const T &value) |
| bool | hasNext() const |
| const T & | next() |
| const T & | peekNext() const |
| void | remove() |
| void | toBack() |
| void | toFront() |
| const T & | value() const |
| QMutableSetIterator<T> & | operator=(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.
QMutableSetIterator<T> permite iterar sobre un QSet<T> y eliminar elementos del conjunto a medida que se itera. Si no desea modificar el conjunto (o tiene una const QSet), utilice en su lugar el ligeramente más rápido QSetIterator<T>.
El constructor QMutableSetIterator 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<float> set; //... QMutableSetIterator<float> i(set); while (i.hasNext()) float 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 eliminar elementos a medida que itera sobre el conjunto, utilice remove().
Sólo un iterador mutable puede estar activo en un conjunto dado en cualquier momento. Además, no se deben realizar cambios directamente en el conjunto mientras el iterador esté activo (en lugar de a través del iterador), ya que esto podría invalidar el iterador y provocar un comportamiento indefinido.
Véase también QSetIterator y QSet::iterator.
Documentación de funciones miembro
QMutableSetIterator::QMutableSetIterator(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 QMutableSetIterator::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 QMutableSetIterator::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 &QMutableSetIterator::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 &QMutableSetIterator::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 QMutableSetIterator::remove()
Elimina el último elemento sobre el que se ha saltado utilizando una de las funciones de recorrido (next(), findNext()).
Ejemplo:
QMutableSetIterator<int> i(set); while (i.hasNext()) { int val = i.next(); if (val < -32768 || val > 32767) i.remove(); }
Véase también value().
void QMutableSetIterator::toBack()
Mueve el iterador a la parte posterior del contenedor (después del último elemento).
Véase también toFront().
void QMutableSetIterator::toFront()
Mueve el iterador al principio del contenedor (antes del primer elemento).
Véase también toBack() y next().
const T &QMutableSetIterator::value() const
Devuelve el valor del último elemento que se saltó utilizando next() o findNext().
QMutableSetIterator<T> &QMutableSetIterator::operator=(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.