The QFlatMapIterator class provides a Java style const iterator for QFlatMap.
More...
template<class Key, class Val, class C = qMapCompare<Key>>
class QFlatMapIterator< Key, Val, C >
The QFlatMapIterator class provides a Java style const iterator for QFlatMap. QFlatMap has both Java style iterators and STL style iterators.
After construction the iterator is located at the very beginning of the map, before the first item. The following code shows how to iterate over all the elements sequentially.
while (iter.hasNext()) {
iter.next();
}
The next() method returns the next item in the flat map and advances the iterator. The key() and value() methods return the (key, value) pair of the last item that was jumped over.
Unlike STL style iterators, Java style iterators point between items rather than directly at items. The first call to next() advances the iterator to the position between the first and second item, and returns the first item; the second call to next() advances the iterator to the position between the second and third item, and so on.
Here is how to iterate over the elements in reverse order:
iter.toBack();
while (iter.hasPrevious()) {
iter.previous();
}
If you want to find all occurrences of a particular value use findNext() or findPrevious().
while (iter.findNext(widget)) {
qDebug() <<
"Found widget " << widget <<
" under key " << iter.key();
}
- See also
- QMutableMapIterator
template<class Key , class Val , class C = qMapCompare<Key>>
bool QFlatMapIterator< Key, Val, C >::findNext |
( |
const Val & |
value | ) |
|
|
inline |
Searches for value starting from the current iterator position and moving forward. Returns true if a (key, value) pair with the specified value is found, otherwise it returns false. If value is found the iterator is positioned just after the matching item, otherwise the iterator is positioned at the end of the container.
- See also
- findPrevious()
template<class Key , class Val , class C = qMapCompare<Key>>
bool QFlatMapIterator< Key, Val, C >::findPrevious |
( |
const Val & |
value | ) |
|
|
inline |
Searches for value starting from the current iterator position and moving backward. Returns true if a (key, value) pair with the specified value is found, otherwise it returns false. If value was found the iterator is positioned just before the matching item. Otherwise the iterator is positioned at the beginning of the container.
- See also
- findNext()
template<class Key , class Val , class C = qMapCompare<Key>>
Item QFlatMapIterator< Key, Val, C >::next |
( |
| ) |
|
|
inline |
Returns the next item and advances the iterator by one position. Use the key() method on the return value to obtain the item's key, and value() to obtain the value.
This method must not be called on an iterator located at the end of the container, it has undefined behavior.
- See also
- hasNext(), peekNext(), previous()
template<class Key , class Val , class C = qMapCompare<Key>>
Item QFlatMapIterator< Key, Val, C >::peekNext |
( |
| ) |
const |
|
inline |
Returns the next item without moving the iterator. Call key() on the return value to obtain the item's key, and value() to obtain the value.
This method must not be called on an iterator located at the end of the container, it has undefined behavior.
- See also
- hasNext(), next(), peekPrevious()
template<class Key , class Val , class C = qMapCompare<Key>>
Item QFlatMapIterator< Key, Val, C >::peekPrevious |
( |
| ) |
const |
|
inline |
Returns the previous item without moving the iterator. Call key() on the return value to obtain the item's key, and value() to obtain the value.
This method must not be called on an iterator located at the front of the container, it has undefined behavior.
- See also
- hasPrevious(), previous(), peekNext()
template<class Key , class Val , class C = qMapCompare<Key>>
Item QFlatMapIterator< Key, Val, C >::previous |
( |
| ) |
|
|
inline |
Returns the previous item and moves the iterator back by one position. Call key() on the return value to obtain the item's key, and value() to obtain the value.
This method must not be called on an iterator located at the front of the container, it has undefined behavior.
- See also
- hasPrevious(), peekPrevious(), next()