QSetIterator Class Reference
|
QSetIterator ( const QSet<T> & set ) | |
bool | findNext ( const T & value ) |
bool | findPrevious ( const T & value ) |
bool | hasNext () const |
bool | hasPrevious () const |
const T & | next () |
const T & | peekNext () const |
const T & | peekPrevious () const |
const T & | previous () |
void | toBack () |
void | toFront () |
QSetIterator & | operator= ( const QSet<T> & set ) |
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.
Constructs an iterator for traversing set. The iterator is set to be at the front of the set (before the first item).
Смотрите также operator=().
Ищет вперед значение value, начиная с текущей позиции итератора. Возвращает true, если value найдено; в противном случае возвращает false.
После вызова, если значение value было найдено, итератор устанавливается сразу после соответствующего элемента; в противном случае итератор устанавливается позади контейнера.
Смотрите также findPrevious().
Ищет назад значение value, начиная с текущей позиции итератора. Возвращает true, если value найдено; в противном случае возвращает false.
После вызова, если значение value было найдено, итератор устанавливается сразу перед соответствующим элементом; в противном случае итератор устанавливается перед контейнером.
Смотрите также findNext().
Возвращает true, если есть хотя бы один элемент впереди итератора, т.е. итератор не позади контейнера; в противном случае возвращает false.
Смотрите также hasPrevious() и next().
Возвращает true, если есть хотя бы один элемент позади итератора, т.е. итератор не впереди контейнера; в противном случае возвращает false.
Смотрите также hasNext() и previous().
Возвращает следующий элемент и перемещает итератор на одну позицию.
Вызов этой функции на итераторе, расположенном позади контейнера, приводит к неопределённым результатам.
Смотрите также hasNext(), peekNext() и previous().
Возвращает следующий элемент без перемещения итератора.
Вызов этой функции на итераторе, расположенном позади контейнера, приводит к неопределённым результатам.
Смотрите также hasNext(), next() и peekPrevious().
Возвращает предыдущий элемент без перемещения итератора.
Вызов этой функции на итераторе, расположенном перед контейнером, приводит к неопределённым результатам.
Смотрите также hasPrevious(), previous() и peekNext().
Возвращает предыдущий элемент и перемещает итератор на одну позицию назад.
Вызов этой функции на итераторе, расположенном перед контейнером, приводит к неопределённым результатам.
Смотрите также hasPrevious(), peekPrevious() и next().
Перемещает итератор позади контейнера (после последнего элемента).
Смотрите также toFront() и previous().
Перемещает итератор впереди контейнера (перед первым элементом).
Смотрите также toBack() и next().
Makes the iterator operate on set. The iterator is set to be at the front of the set (before the first item).
Смотрите также toFront() и toBack().
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |