CopperSpice API  1.9.1
QMap< Key, Val, C >::const_iterator Class Reference

STL style const iterator for QMap. More...

Public Typedefs

using iterator_category = std::bidirectional_iterator_tag
 

Public Methods

 const_iterator () = default
 
 const_iterator (iterator iter)
 
const Key & key () const
 
bool operator!= (const_iterator other) const
 
const Val & operator* () const
 
const_iterator operator+ (size_type n) const
 
const_iterator & operator++ ()
 
const_iterator operator++ (int)
 
const_iterator & operator+= (size_type n)
 
const_iterator operator- (size_type n) const
 
const_iterator & operator-- ()
 
const_iterator operator-- (int)
 
const_iterator & operator-= (size_type n)
 
const Val * operator-> () const
 
bool operator== (const_iterator other) const
 
const std::pair< const Key, Val > & pair () const
 
const Val & value () const
 

Friends

bool operator!= (iterator iter1, const_iterator iter2)
 
bool operator== (iterator iter1, const_iterator iter2)
 
class QMap< Key, Val, C >
 

Detailed Description

template<typename Key, typename Val, typename C>
class QMap< Key, Val, C >::const_iterator

The QMap::const_iterator class provides an STL style const iterator for QMap. QMap features both STL style iterators and Java style iterators.

QMap::const_iterator allows you to iterate over a QMap. If you want to modify the QMap as you iterate over it use QMap::iterator instead.

After construction you must initialize the iterator using a method like QMap::constBegin(), QMap::constEnd(), or QMap::find() before you can start iterating.

The following example prints all of the (key, value) pairs in the map.

map.insert("January", 1);
map.insert("February", 2);
...
map.insert("December", 12);
for (auto iter = map.constBegin(); iter != map.constEnd(); ++iter) {
cout << iter.key() << ": " << iter.value() << endl;
}

Unlike QHash which stores its items in an arbitrary order, QMap stores its items ordered by key.

See also
QMap::iterator

Member Typedef Documentation

template<typename Key , typename Val , typename C >
QMap< Key, Val, C >::const_iterator::iterator_category

A synonym for std::bidirectional_iterator_tag indicating this iterator is a bidirectional iterator.

Constructor & Destructor Documentation

template<typename Key , typename Val , typename C >
QMap< Key, Val, C >::const_iterator::const_iterator ( )
default

Constructs an uninitialized iterator.

Methods like key(), value(), and operator++() must not be called on an uninitialized iterator. Use operator=() to assign a value to it before using it.

See also
QMap::constBegin(), QMap::constEnd()
template<typename Key , typename Val , typename C >
QMap< Key, Val, C >::const_iterator::const_iterator ( iterator  iter)
inline

Constructs a copy of iter.

Method Documentation

template<typename Key , typename Val , typename C >
const Key & QMap< Key, Val, C >::const_iterator::key ( ) const
inline

Returns the current item's key.

See also
value()
template<typename Key , typename Val , typename C >
bool QMap< Key, Val, C >::const_iterator::operator!= ( const_iterator  other) const
inline

Returns true if other points to a different item than this iterator, otherwise it returns false.

See also
operator==()
template<typename Key , typename Val , typename C >
const Val & QMap< Key, Val, C >::const_iterator::operator* ( ) const
inline

Returns the current item's value. Equivalent to calling value().

See also
key()
template<typename Key , typename Val , typename C >
const_iterator QMap< Key, Val, C >::const_iterator::operator+ ( size_type  n) const
inline

Returns an iterator to the item at n positions forward from this iterator. If n is negative the iterator goes backward.

This operation can be slow for large values of n.

See also
operator-()
template<typename Key , typename Val , typename C >
const_iterator & QMap< Key, Val, C >::const_iterator::operator++ ( )
inline

The prefix ++ operator (++i) advances the iterator to the next item in the map and returns an iterator to the new current item.

Calling this method on QMap::end() leads to undefined behavior.

See also
operator--()
template<typename Key , typename Val , typename C >
const_iterator QMap< Key, Val, C >::const_iterator::operator++ ( int  )
inline

The postfix ++ operator (i++) advances the iterator to the next item in the map and returns an iterator to the previously current item.

template<typename Key , typename Val , typename C >
const_iterator & QMap< Key, Val, C >::const_iterator::operator+= ( size_type  n)
inline

Advances the iterator by n items. If n is negative the iterator goes backward.

This operation can be slow for large values of n.

See also
operator-=(), operator+()
template<typename Key , typename Val , typename C >
const_iterator QMap< Key, Val, C >::const_iterator::operator- ( size_type  n) const
inline

Returns an iterator to the item at n positions backward from this iterator. If n is negative the iterator goes forward.

This operation can be slow for large values of n.

See also
operator+()
template<typename Key , typename Val , typename C >
const_iterator & QMap< Key, Val, C >::const_iterator::operator-- ( )
inline

The prefix – operator (–i) makes the preceding item current and returns an iterator pointing to the new current item.

Calling this method on QMap::begin() leads to undefined behavior.

See also
operator++()
template<typename Key , typename Val , typename C >
const_iterator QMap< Key, Val, C >::const_iterator::operator-- ( int  )
inline

The postfix – operator (i–) makes the preceding item current and returns an iterator pointing to the previously current item.

template<typename Key , typename Val , typename C >
const_iterator & QMap< Key, Val, C >::const_iterator::operator-= ( size_type  n)
inline

Makes the iterator go back by n items. If n is negative the iterator goes forward.

This operation can be slow for large values of n.

See also
operator+=(), operator-()
template<typename Key , typename Val , typename C >
const Val * QMap< Key, Val, C >::const_iterator::operator-> ( ) const
inline

Returns a pointer to the current item's value.

See also
value()
template<typename Key , typename Val , typename C >
bool QMap< Key, Val, C >::const_iterator::operator== ( const_iterator  other) const
inline

Returns true if other points to the same item as this iterator, otherwise it returns false.

See also
operator!=()
template<typename Key , typename Val , typename C >
const std::pair< const Key, Val > & QMap< Key, Val, C >::const_iterator::pair ( ) const
inline

Returns the current item's key and value as a pair.

template<typename Key , typename Val , typename C >
const Val & QMap< Key, Val, C >::const_iterator::value ( ) const
inline

Returns the current item's value.

See also
key(), operator*()

Friends And Related Function Documentation

template<typename Key , typename Val , typename C >
bool operator!= ( iterator  iter1,
const_iterator  iter2 
)
friend

Returns true if iter1 points to a different item than iter2, otherwise it returns false.

template<typename Key , typename Val , typename C >
bool operator== ( iterator  iter1,
const_iterator  iter2 
)
friend

Returns true if iter1 points to the same item as iter2, otherwise it returns false.