Arxx::Structure::Relation::iterator Class Reference

#include <Structure.h>

Collaboration diagram for Arxx::Structure::Relation::iterator:

Collaboration graph
[legend]
List of all members.

Detailed Description

An iterator class defining basic operations to iterate the Reference objects in a Relation.

This iterator class encapsules the internal form of Reference storage in a Relation. By using this iterator class, which is what you have to do, you are safe from changes in implementation detail as the container used to store Reference objects. Additionally it is the prefered way to make a visit to each Reference in a Relation.


Public Member Functions

 iterator (std::multimap< Arxx::u4byte, Arxx::Reference >::iterator iReference)
 The constructor of a Reference iterator.
 ~iterator (void)
 The destructor of a Reference iterator.
iteratoroperator++ (void)
 Advances the iterator.
Arxx::Referenceoperator * (void)
 This will return the Reference that this iterator points to.
const Arxx::Referenceoperator * (void) const
 This will return the Reference that this iterator points to.
Arxx::Referenceoperator-> (void)
 The Reference accessor.
bool operator== (const Arxx::Structure::Relation::iterator &iReference) const
 Tests two iterators for equality.
bool operator!= (const Arxx::Structure::Relation::iterator &iReference) const
 Tests two iterators for inequality.
bool operator== (const Arxx::Structure::Relation::const_iterator &iReference) const
 Tests two iterators for equality.
bool operator!= (const Arxx::Structure::Relation::const_iterator &iReference) const
 Tests two iterators for inequality.

Private Attributes

std::multimap< Arxx::u4byte,
Arxx::Reference >::iterator 
m_iReference
 The internal STL iterator.

Friends

class Arxx::Structure::Relation::const_iterator


Constructor & Destructor Documentation

Arxx::Structure::Relation::iterator::iterator ( std::multimap< Arxx::u4byte, Arxx::Reference >::iterator  iReference  ) 

The constructor of a Reference iterator.

Parameters:
iReference The STL iterator from the Relation's aggregated Reference container. The internal representation of the iterator.
This constructor creates a Reference iterator from an STL iterator.

Arxx::Structure::Relation::iterator::~iterator ( void   ) 

The destructor of a Reference iterator.


Member Function Documentation

const Arxx::Reference & Arxx::Structure::Relation::iterator::operator * ( void   )  const

This will return the Reference that this iterator points to.

This is the const version of the operator*() thus the returned Reference is const as well.

Arxx::Reference & Arxx::Structure::Relation::iterator::operator * ( void   ) 

This will return the Reference that this iterator points to.

This is the non-const version of the operator*() so it returns a non-const Reference.

bool Arxx::Structure::Relation::iterator::operator!= ( const Arxx::Structure::Relation::const_iterator iReference  )  const

Tests two iterators for inequality.

Parameters:
iReference The iterator to check against.

bool Arxx::Structure::Relation::iterator::operator!= ( const Arxx::Structure::Relation::iterator iReference  )  const

Tests two iterators for inequality.

Parameters:
iReference The iterator to check against.

Arxx::Structure::Relation::iterator & Arxx::Structure::Relation::iterator::operator++ ( void   ) 

Advances the iterator.

Advances the Reference iterator. It is not defined which will be the next Reference the iterator points to. It is only assured that every Reference in the Relation will be passed once.

Arxx::Reference * Arxx::Structure::Relation::iterator::operator-> ( void   ) 

The Reference accessor.

bool Arxx::Structure::Relation::iterator::operator== ( const Arxx::Structure::Relation::const_iterator iReference  )  const

Tests two iterators for equality.

Parameters:
iReference The iterator to check against.

bool Arxx::Structure::Relation::iterator::operator== ( const Arxx::Structure::Relation::iterator iReference  )  const

Tests two iterators for equality.

Parameters:
iReference The iterator to check against.


Friends And Related Function Documentation

friend class Arxx::Structure::Relation::const_iterator [friend]


Member Data Documentation

std::multimap< Arxx::u4byte, Arxx::Reference >::iterator Arxx::Structure::Relation::iterator::m_iReference [private]

The internal STL iterator.

This is an iterator into the Relation's internal Reference map.


The documentation for this class was generated from the following files:
Generated on Tue Oct 10 11:34:57 2006 for libarxx by  doxygen 1.4.7