Open
Graph Drawing
Framework

 v.2012.07
 

ogdf::HashConstIterator< K, I, H > Class Template Reference

Iterators for hash tables. More...

#include <ogdf/basic/Hashing.h>

List of all members.

Public Member Functions

 HashConstIterator ()
 Creates a hash iterator pointing to no element.
 HashConstIterator (HashElement< K, I > *pElement, HashElement< K, I > **pList, const Hashing< K, I, H > *pHashing)
 Creates a hash iterator pointing to element pElement in list pList of hash table pHashing.
 HashConstIterator (const HashConstIterator< K, I, H > &it)
 Copy constructor.
const I & info () const
 Returns the information of the hash element pointed to.
const K & key () const
 Returns the key of the hash element pointed to.
HashConstIterator< K, I, H > & operator++ ()
 Moves this hash iterator to the next element (iterator gets invalid if no more elements).
HashConstIteratoroperator= (const HashConstIterator< K, I, H > &it)
 Assignment operator.
bool valid () const
 Returns true if the hash iterator points to an element.

Private Attributes

HashElement< K, I > * m_pElement
 The hash element to which the iterator points.
const Hashing< K, I, H > * m_pHashing
 The associated hash table.
HashElement< K, I > ** m_pList
 The list containg the hash element.

Friends

bool operator!= (const HashConstIterator< K, I, H > &it1, const HashConstIterator< K, I, H > &it2)
 Inequality operator.
bool operator== (const HashConstIterator< K, I, H > &it1, const HashConstIterator< K, I, H > &it2)
 Equality operator.

Detailed Description

template<class K, class I, class H = DefHashFunc<K>>
class ogdf::HashConstIterator< K, I, H >

Iterators for hash tables.

This class implements an iterator for iterating over all elements in a hash table. Hash iterators are provided by Hashing<K,I>::begin().

Example

The following code snippet demonstrates how to iterate over all elements of a hash table. First, the example fills a hash table with a tiny German–English dictionary, and then it iterates over the elements and prints the entries.

Hashing<String,String> H;
H.fastInsert("Hund","dog");
H.fastInsert("Katze","cat");
H.fastInsert("Maus","mouse");
HashConstIterator<String,String> it;
for(it = H.begin(); it.valid(); ++it)
cout << it.key() << " -> " << it.info() << endl;

Definition at line 455 of file Hashing.h.


Constructor & Destructor Documentation

template<class K, class I, class H = DefHashFunc<K>>
ogdf::HashConstIterator< K, I, H >::HashConstIterator ( )
inline

Creates a hash iterator pointing to no element.

Definition at line 462 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
ogdf::HashConstIterator< K, I, H >::HashConstIterator ( HashElement< K, I > *  pElement,
HashElement< K, I > **  pList,
const Hashing< K, I, H > *  pHashing 
)
inline

Creates a hash iterator pointing to element pElement in list pList of hash table pHashing.

Definition at line 465 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
ogdf::HashConstIterator< K, I, H >::HashConstIterator ( const HashConstIterator< K, I, H > &  it)
inline

Copy constructor.

Definition at line 470 of file Hashing.h.


Member Function Documentation

template<class K, class I, class H = DefHashFunc<K>>
const I& ogdf::HashConstIterator< K, I, H >::info ( ) const
inline

Returns the information of the hash element pointed to.

Reimplemented in ogdf::HashConstIterator2D< I1_, I2_, E_, Hash1_, Hash2_ >.

Definition at line 488 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
const K& ogdf::HashConstIterator< K, I, H >::key ( ) const
inline

Returns the key of the hash element pointed to.

Definition at line 485 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
HashConstIterator<K,I,H>& ogdf::HashConstIterator< K, I, H >::operator++ ( )
inline

Moves this hash iterator to the next element (iterator gets invalid if no more elements).

Reimplemented in ogdf::HashConstIterator2D< I1_, I2_, E_, Hash1_, Hash2_ >.

Definition at line 499 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
HashConstIterator& ogdf::HashConstIterator< K, I, H >::operator= ( const HashConstIterator< K, I, H > &  it)
inline

Assignment operator.

Definition at line 474 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
bool ogdf::HashConstIterator< K, I, H >::valid ( ) const
inline

Returns true if the hash iterator points to an element.

Reimplemented in ogdf::HashConstIterator2D< I1_, I2_, E_, Hash1_, Hash2_ >.

Definition at line 482 of file Hashing.h.


Friends And Related Function Documentation

template<class K, class I, class H = DefHashFunc<K>>
bool operator!= ( const HashConstIterator< K, I, H > &  it1,
const HashConstIterator< K, I, H > &  it2 
)
friend

Inequality operator.

Definition at line 495 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
bool operator== ( const HashConstIterator< K, I, H > &  it1,
const HashConstIterator< K, I, H > &  it2 
)
friend

Equality operator.

Definition at line 491 of file Hashing.h.


Member Data Documentation

template<class K, class I, class H = DefHashFunc<K>>
HashElement<K,I>* ogdf::HashConstIterator< K, I, H >::m_pElement
private

The hash element to which the iterator points.

Definition at line 456 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
const Hashing<K,I,H>* ogdf::HashConstIterator< K, I, H >::m_pHashing
private

The associated hash table.

Definition at line 458 of file Hashing.h.

template<class K, class I, class H = DefHashFunc<K>>
HashElement<K,I>** ogdf::HashConstIterator< K, I, H >::m_pList
private

The list containg the hash element.

Definition at line 457 of file Hashing.h.


The documentation for this class was generated from the following file: