TQMapIterator Class

Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# TQMapIterator Class Reference

The TQMapIterator class provides an iterator for TQMap. More...

`#include <tqmap.h>`

List of all member functions.

## Public Members

- typedef std::bidirectional_iterator_tag iterator_category
- typedef T value_type
- typedef T * pointer
- typedef T & reference
- TQMapIterator ()
- TQMapIterator ( TQMapNode<K, T> * p )
- TQMapIterator ( const TQMapIterator<K, T> & it )
- bool operator== ( const TQMapIterator<K, T> & it ) const
- bool operator!= ( const TQMapIterator<K, T> & it ) const
- T & operator* ()
- const T & operator* () const
- const K & key () const
- T & data ()
- const T & data () const
- TQMapIterator<K, T> & operator++ ()
- TQMapIterator<K, T> operator++ ( int )
- TQMapIterator<K, T> & operator-- ()
- TQMapIterator<K, T> operator-- ( int )

## Detailed Description

The TQMapIterator class provides an iterator for TQMap.

You cannot create an iterator by yourself. Instead, you must ask a map to give you one. An iterator is as big as a pointer; on 32-bit machines that means 4 bytes, on 64-bit machines, 8 bytes. That makes copying iterators very fast. Iterators behave in a similar way to pointers, and they are almost as fast as pointers. See the TQMap example.

TQMap is highly optimized for performance and memory usage, but the trade-off is that you must be more careful. The only way to traverse a map is to use iterators. TQMap does not know about its iterators, and the iterators don't even know to which map they belong. That makes things fast but a bit dangerous because it is up to you to make sure that the iterators you are using are still valid. TQDictIterator will be able to give warnings, whereas TQMapIterator may end up in an undefined state.

For every Iterator there is also a ConstIterator. You must use the ConstIterator to access a TQMap in a const environment or if the reference or pointer to the map is itself const. Its semantics are the same, but it only returns const references to the item it points to.

See also TQMap, TQMapConstIterator, TQt Template Library Classes, and Non-GUI Classes.

## Member Type Documentation

### TQMapIterator::iterator_category

The type of iterator category, `std::bidirectional_iterator_tag`.

### TQMapIterator::pointer

Pointer to value_type.

### TQMapIterator::reference

Reference to value_type.

### TQMapIterator::value_type

The type of value.

## Member Function Documentation

### TQMapIterator::TQMapIterator ()

Creates an uninitialized iterator.

### TQMapIterator::TQMapIterator ( TQMapNode<K, T> * p )

Constructs an iterator starting at node p.

### TQMapIterator::TQMapIterator ( const TQMapIterator<K, T> & it )

Constructs a copy of the iterator, it.

### T & TQMapIterator::data ()

Returns a reference to the current item's data.

### const T & TQMapIterator::data () const

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Returns a const reference to the current item's data.

### const K & TQMapIterator::key () const

Returns a const reference to the current item's key.

### bool TQMapIterator::operator!= ( const TQMapIterator<K, T> & it ) const

Compares the iterator to the it iterator and returns false if they point to the same item; otherwise returns true.

### T & TQMapIterator::operator* ()

Dereference operator. Returns a reference to the current item's data. The same as data().

### const T & TQMapIterator::operator* () const

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Dereference operator. Returns a const reference to the current item's data. The same as data().

### TQMapIterator<K, T> & TQMapIterator::operator++ ()

Prefix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the map. Incrementing the iterator returned by end() causes undefined results.

### TQMapIterator<K, T> TQMapIterator::operator++ ( int )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Postfix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the map. Incrementing the iterator returned by end() causes undefined results.

### TQMapIterator<K, T> & TQMapIterator::operator-- ()

Prefix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the map. Decrementing the iterator returned by begin() causes undefined results.

### TQMapIterator<K, T> TQMapIterator::operator-- ( int )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Postfix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the map. Decrementing the iterator returned by begin() causes undefined results.

### bool TQMapIterator::operator== ( const TQMapIterator<K, T> & it ) const

Compares the iterator to the it iterator and returns true if they point to the same item; otherwise returns false.

This file is part of the TQt toolkit. Copyright © 1995-2007 Trolltech. All Rights Reserved.