QSetIterator Class ReferenceThe QSetIterator class provides a Java-style const iterator for QSet. Далее... #include <QSetIterator>
Открытые функции
Подробное описаниеThe QSetIterator class provides a Java-style const iterator for QSet. QSet supports both Java-style iterators and STL-style iterators. Итераторы в стиле Java более высокоуровневые и простые в использовании, чем итераторы в стиле STL; с другой стороны, они несколько менее эффективны. QSetIterator<T> allows you to iterate over a QSet<T>. If you want to modify the set as you iterate over it, use QMutableSetIterator<T> instead. The constructor takes a QSet as argument. After construction, the iterator is located at the very beginning of the set (before the first item). Вот, как последовательно перебрать все элементы: QSet<QString> set; ... QSetIterator<QString> i(set); while (i.hasNext()) qDebug() << i.next(); The next() function returns the next item in the set and advances the iterator. В отличие от итераторов в стиле STL, итераторы в стиле Java указывают между элементами, а не на сами элементы. Первый вызов next() перемещает итератор в позицию между первым и вторым элементами и возвращает первый элемент; второй вызов next() перемещает итератор в позицию между вторым и третьим элементами, возвращая второй элемент; и т.д. Вот, как последовательно перебрать все элементы в обратном порядке: QSetIterator<QString> i(set); i.toBack(); while (i.hasPrevious()) qDebug() << i.previous(); Если вы хотите найти все вхождения определённого значения, используйте findNext() или findPrevious() в цикле. Multiple iterators can be used on the same set. If the set is modified while a QSetIterator is active, the QSetIterator will continue iterating over the original set, ignoring the modified copy. See also QMutableSetIterator and QSet::const_iterator. Описание функций-членовQSetIterator::QSetIterator ( const QSet<T> & set )Constructs an iterator for traversing set. The iterator is set to be at the front of the set (before the first item). Смотрите также operator=(). bool QSetIterator::findNext ( const T & value )Ищет вперед значение value, начиная с текущей позиции итератора. Возвращает true, если value найдено; в противном случае возвращает false. После вызова, если значение value было найдено, итератор устанавливается сразу после соответствующего элемента; в противном случае итератор устанавливается позади контейнера. Смотрите также findPrevious(). bool QSetIterator::findPrevious ( const T & value )Ищет назад значение value, начиная с текущей позиции итератора. Возвращает true, если value найдено; в противном случае возвращает false. После вызова, если значение value было найдено, итератор устанавливается сразу перед соответствующим элементом; в противном случае итератор устанавливается перед контейнером. Смотрите также findNext(). bool QSetIterator::hasNext () constВозвращает true, если есть хотя бы один элемент впереди итератора, т.е. итератор не позади контейнера; в противном случае возвращает false. Смотрите также hasPrevious() и next(). bool QSetIterator::hasPrevious () constВозвращает true, если есть хотя бы один элемент позади итератора, т.е. итератор не впереди контейнера; в противном случае возвращает false. Смотрите также hasNext() и previous(). const T & QSetIterator::next ()Возвращает следующий элемент и перемещает итератор на одну позицию. Вызов этой функции на итераторе, расположенном позади контейнера, приводит к неопределённым результатам. Смотрите также hasNext(), peekNext() и previous(). const T & QSetIterator::peekNext () constВозвращает следующий элемент без перемещения итератора. Вызов этой функции на итераторе, расположенном позади контейнера, приводит к неопределённым результатам. Смотрите также hasNext(), next() и peekPrevious(). const T & QSetIterator::peekPrevious () constВозвращает предыдущий элемент без перемещения итератора. Вызов этой функции на итераторе, расположенном перед контейнером, приводит к неопределённым результатам. Смотрите также hasPrevious(), previous() и peekNext(). const T & QSetIterator::previous ()Возвращает предыдущий элемент и перемещает итератор на одну позицию назад. Вызов этой функции на итераторе, расположенном перед контейнером, приводит к неопределённым результатам. Смотрите также hasPrevious(), peekPrevious() и next(). void QSetIterator::toBack ()Перемещает итератор позади контейнера (после последнего элемента). Смотрите также toFront() и previous(). void QSetIterator::toFront ()Перемещает итератор впереди контейнера (перед первым элементом). Смотрите также toBack() и next(). QSetIterator & QSetIterator::operator= ( const QSet<T> & set )Makes the iterator operate on set. The iterator is set to be at the front of the set (before the first item). |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |