faudes::TBaseSet< T, Cmp >::Iterator Class Reference

#include <baseset.h>

List of all members.


Detailed Description

template<class T, class Cmp = std::less<T>>
class faudes::TBaseSet< T, Cmp >::Iterator

Iterator class for high-level api to TBaseSet.

This class is derived from STL interators to additionally provide a reference of the container to iterate on. This feature is used to adjust iterators when the actual set gets reallocated due to a Detach() operation. Inheritance is private to ensure that all high-level api functions maintain iteretor refernces consistently. Currently, high-level api iterators support the operators -> ,*, =, ++, --, ==, !=.

HotFix: turned to public inheritance to compile with stl/g++ 4.3. Should investigate this in detail and explicitly make the required data public while having inheritance private in general.

Definition at line 334 of file baseset.h.

Public Member Functions

 Iterator ()
 Default contructor, container unknown.
 Iterator (const TBaseSet< T, Cmp > *pBaseSet, const typename std::set< T, Cmp >::const_iterator &sit)
 Construct by members, used by TBaseSet to create temporary iterators.
 Iterator (const Iterator &fit)
 Copy constructor, copies container reference, incl attach.
 ~Iterator (void)
 Destructor.
const Iteratoroperator= (const Iterator &rSrc)
 Assigment, tracks container.
void StlIterator (const typename std::set< T, Cmp >::const_iterator &sit)
 Assign STL iterator only.
const std::set< T, Cmp
>::const_iterator
StlIterator (void) const
 Get STL iterator only.
void Invalidate (void)
 Invalidate.
void Detach (void)
 Detach.
void DValid (void) const
 Check validity (provoke abort error).
const T * operator-> (void) const
 Reimplement dereference.
const T & operator * (void) const
 Reimplement derefernce.
bool operator== (const Iterator &rOther) const
 Reimplement ==.
bool operator!= (const Iterator &rOther) const
 Reimplement !=.
Iterator operator++ (int step)
 Reimplement postfix ++.
const Iteratoroperator++ (void)
 Reimplement prefix ++.
Iterator operator-- (int step)
 Reimplement postfix --.
const Iteratoroperator-- (void)
 Reimplement prefix --.

Public Attributes

const TBaseSet< T, Cmp > * pBaseSet
 Maintaine container reference.
bool mAttached
 Indocate that this iterator is attached to some baseset.


Constructor & Destructor Documentation

template<class T, class Cmp = std::less<T>>
faudes::TBaseSet< T, Cmp >::Iterator::Iterator  )  [inline]
 

Default contructor, container unknown.

Definition at line 337 of file baseset.h.

template<class T, class Cmp = std::less<T>>
faudes::TBaseSet< T, Cmp >::Iterator::Iterator const TBaseSet< T, Cmp > *  pBaseSet,
const typename std::set< T, Cmp >::const_iterator sit
[inline]
 

Construct by members, used by TBaseSet to create temporary iterators.

Definition at line 344 of file baseset.h.

template<class T, class Cmp = std::less<T>>
faudes::TBaseSet< T, Cmp >::Iterator::Iterator const Iterator fit  )  [inline]
 

Copy constructor, copies container reference, incl attach.

Definition at line 353 of file baseset.h.

template<class T, class Cmp = std::less<T>>
faudes::TBaseSet< T, Cmp >::Iterator::~Iterator void   )  [inline]
 

Destructor.

Definition at line 365 of file baseset.h.


Member Function Documentation

template<class T, class Cmp = std::less<T>>
void faudes::TBaseSet< T, Cmp >::Iterator::Detach void   )  [inline]
 

Detach.

Definition at line 412 of file baseset.h.

template<class T, class Cmp = std::less<T>>
void faudes::TBaseSet< T, Cmp >::Iterator::DValid void   )  const [inline]
 

Check validity (provoke abort error).

Definition at line 418 of file baseset.h.

template<class T, class Cmp = std::less<T>>
void faudes::TBaseSet< T, Cmp >::Iterator::Invalidate void   )  [inline]
 

Invalidate.

Definition at line 406 of file baseset.h.

template<class T, class Cmp = std::less<T>>
const T& faudes::TBaseSet< T, Cmp >::Iterator::operator * void   )  const [inline]
 

Reimplement derefernce.

Definition at line 438 of file baseset.h.

template<class T, class Cmp = std::less<T>>
bool faudes::TBaseSet< T, Cmp >::Iterator::operator!= const Iterator rOther  )  const [inline]
 

Reimplement !=.

Definition at line 460 of file baseset.h.

template<class T, class Cmp = std::less<T>>
const Iterator& faudes::TBaseSet< T, Cmp >::Iterator::operator++ void   )  [inline]
 

Reimplement prefix ++.

Definition at line 484 of file baseset.h.

template<class T, class Cmp = std::less<T>>
Iterator faudes::TBaseSet< T, Cmp >::Iterator::operator++ int  step  )  [inline]
 

Reimplement postfix ++.

Definition at line 471 of file baseset.h.

template<class T, class Cmp = std::less<T>>
const Iterator& faudes::TBaseSet< T, Cmp >::Iterator::operator-- void   )  [inline]
 

Reimplement prefix --.

Definition at line 509 of file baseset.h.

template<class T, class Cmp = std::less<T>>
Iterator faudes::TBaseSet< T, Cmp >::Iterator::operator-- int  step  )  [inline]
 

Reimplement postfix --.

Definition at line 496 of file baseset.h.

template<class T, class Cmp = std::less<T>>
const T* faudes::TBaseSet< T, Cmp >::Iterator::operator-> void   )  const [inline]
 

Reimplement dereference.

Definition at line 427 of file baseset.h.

template<class T, class Cmp = std::less<T>>
const Iterator& faudes::TBaseSet< T, Cmp >::Iterator::operator= const Iterator rSrc  )  [inline]
 

Assigment, tracks container.

Definition at line 370 of file baseset.h.

template<class T, class Cmp = std::less<T>>
bool faudes::TBaseSet< T, Cmp >::Iterator::operator== const Iterator rOther  )  const [inline]
 

Reimplement ==.

Definition at line 449 of file baseset.h.

template<class T, class Cmp = std::less<T>>
const std::set<T,Cmp>::const_iterator& faudes::TBaseSet< T, Cmp >::Iterator::StlIterator void   )  const [inline]
 

Get STL iterator only.

Definition at line 401 of file baseset.h.

template<class T, class Cmp = std::less<T>>
void faudes::TBaseSet< T, Cmp >::Iterator::StlIterator const typename std::set< T, Cmp >::const_iterator sit  )  [inline]
 

Assign STL iterator only.

Definition at line 396 of file baseset.h.


Member Data Documentation

template<class T, class Cmp = std::less<T>>
bool faudes::TBaseSet< T, Cmp >::Iterator::mAttached
 

Indocate that this iterator is attached to some baseset.

Definition at line 532 of file baseset.h.

template<class T, class Cmp = std::less<T>>
const TBaseSet<T,Cmp>* faudes::TBaseSet< T, Cmp >::Iterator::pBaseSet
 

Maintaine container reference.

Definition at line 518 of file baseset.h.


The documentation for this class was generated from the following file:
Generated on Mon Nov 10 08:13:17 2008 for libFAUDES 2.11v by  doxygen 1.4.4