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 -> ,*, =, ++, --, ==, !=.

Definition at line 447 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 450 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 457 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 466 of file baseset.h.

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

Destructor.

Definition at line 478 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 525 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 531 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 519 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 551 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 573 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 597 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 584 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 622 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 609 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 540 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 483 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 562 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 514 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 509 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 645 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 631 of file baseset.h.


The documentation for this class was generated from the following file:
Generated on Fri May 9 11:26:48 2008 for libFAUDES 2.09b by  doxygen 1.4.4