#include <Structure.h>
Collaboration diagram for Arxx::Structure::Relation::iterator:
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. | |
iterator & | operator++ (void) |
Advances the iterator. | |
Arxx::Reference & | operator * (void) |
This will return the Reference that this iterator points to. | |
const Arxx::Reference & | operator * (void) const |
This will return the Reference that this iterator points to. | |
Arxx::Reference * | operator-> (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 |
Arxx::Structure::Relation::iterator::iterator | ( | std::multimap< Arxx::u4byte, Arxx::Reference >::iterator | iReference | ) |
Arxx::Structure::Relation::iterator::~iterator | ( | void | ) |
The destructor of a Reference iterator.
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.
iReference | The iterator to check against. |
bool Arxx::Structure::Relation::iterator::operator!= | ( | const Arxx::Structure::Relation::iterator & | iReference | ) | const |
Tests two iterators for inequality.
iReference | The iterator to check against. |
Arxx::Structure::Relation::iterator & Arxx::Structure::Relation::iterator::operator++ | ( | void | ) |
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.
iReference | The iterator to check against. |
bool Arxx::Structure::Relation::iterator::operator== | ( | const Arxx::Structure::Relation::iterator & | iReference | ) | const |
Tests two iterators for equality.
iReference | The iterator to check against. |
friend class Arxx::Structure::Relation::const_iterator [friend] |
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.