libFAUDES
Sections
Index
|
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 -> ,*, =, ++, --, ==, !=.
Technical detail: the private inheritance prohibits the direct use of stl algorithms on faudes Iterators. If you need direct access to stl algorithms from outside the faudes set class, you may turmn to public inheritance. Make sure to Lock the relevant sets befor applying any stl algorithms.
Definition at line 379 of file baseset.h.
|
Public Member Functions |
| Iterator () |
| Default constructor, 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 Iterator & | operator= (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 Iterator & | operator++ (void) |
| Reimplement prefix ++.
|
Iterator | operator-- (int step) |
| Reimplement postfix --.
|
const Iterator & | operator-- (void) |
| Reimplement prefix --.
|
Public Attributes |
const TBaseSet< T, Cmp > * | pBaseSet |
| Order by reference for containers of Iterators <.
|
bool | mAttached |
| Indocate that this iterator is attached to some baseset.
|
Constructor & Destructor Documentation
template<class T, class Cmp = std::less<T>>
Default constructor, container unknown.
Definition at line 382 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Construct by members, used by TBaseSet to create temporary iterators.
Definition at line 389 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Copy constructor, copies container reference, incl attach.
Definition at line 398 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Member Function Documentation
template<class T, class Cmp = std::less<T>>
Assigment, tracks container.
Definition at line 415 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Assign STL iterator only.
Definition at line 441 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Get STL iterator only.
Definition at line 446 of file baseset.h.
template<class T, class Cmp = std::less<T>>
template<class T, class Cmp = std::less<T>>
template<class T, class Cmp = std::less<T>>
Check validity (provoke abort error).
Definition at line 463 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 472 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 483 of file baseset.h.
template<class T, class Cmp = std::less<T>>
template<class T, class Cmp = std::less<T>>
template<class T, class Cmp = std::less<T>>
Reimplement postfix ++.
Definition at line 516 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Reimplement prefix ++.
Definition at line 529 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Reimplement postfix --.
Definition at line 541 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Reimplement prefix --.
Definition at line 554 of file baseset.h.
Member Data Documentation
template<class T, class Cmp = std::less<T>>
Order by reference for containers of Iterators <.
Maintaine container reference
Definition at line 563 of file baseset.h.
template<class T, class Cmp = std::less<T>>
Indocate that this iterator is attached to some baseset.
Definition at line 577 of file baseset.h.
The documentation for this class was generated from the following file:
|