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

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 iterators 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 turn to public inheritance. Make sure to Lock the relevant sets befor applying any STL algorithms.

Definition at line 422 of file cfl_baseset.h.

#include <cfl_baseset.h>

Public Member Functions

 Iterator ()
 
 Iterator (const TBaseSet< T, Cmp > *pBaseSet, const typename std::set< T, Cmp >::const_iterator &sit, bool att=false)
 
 Iterator (const Iterator &fit)
 
 ~Iterator (void)
 
std::string DStr (void) const
 
const Iteratoroperator= (const Iterator &rSrc)
 
void StlIterator (const typename std::set< T, Cmp >::const_iterator &sit)
 
const std::set< T, Cmp >::const_iteratorStlIterator (void) const
 
void Invalidate (void)
 
void Detach (void)
 
bool Valid (void) const
 
void DValid (void) const
 
const T * operator-> (void) const
 
const T & operator* (void) const
 
bool operator== (const Iterator &rOther) const
 
bool operator!= (const Iterator &rOther) const
 
Iterator operator++ (int step)
 
const Iteratoroperator++ (void)
 
Iterator operator-- (int step)
 
const Iteratoroperator-- (void)
 

Public Attributes

const TBaseSet< T, Cmp > * pBaseSet
 
bool mAttached
 

Constructor & Destructor Documentation

◆ Iterator() [1/3]

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

Default constructor, container unknown

Definition at line 425 of file cfl_baseset.h.

◆ Iterator() [2/3]

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,
bool  att = false 
)
inline

Construct by members (used by TBaseSet to create temporary iterators)

Definition at line 432 of file cfl_baseset.h.

◆ Iterator() [3/3]

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 447 of file cfl_baseset.h.

◆ ~Iterator()

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

Destructor

Definition at line 459 of file cfl_baseset.h.

Member Function Documentation

◆ Detach()

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

Detach

Definition at line 515 of file cfl_baseset.h.

◆ DStr()

template<class T , class Cmp = std::less<T>>
std::string faudes::TBaseSet< T, Cmp >::Iterator::DStr ( void  ) const
inline

report (debugging)

Definition at line 464 of file cfl_baseset.h.

◆ DValid()

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 526 of file cfl_baseset.h.

◆ Invalidate()

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

Invalidate

Definition at line 509 of file cfl_baseset.h.

◆ operator!=()

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

Reimplement !=

Definition at line 568 of file cfl_baseset.h.

◆ operator*()

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

Reimplement dereference

Definition at line 546 of file cfl_baseset.h.

◆ operator++() [1/2]

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

Reimplement postfix ++

Definition at line 579 of file cfl_baseset.h.

◆ operator++() [2/2]

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

Reimplement prefix ++

Definition at line 592 of file cfl_baseset.h.

◆ operator--() [1/2]

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

Reimplement postfix –

Definition at line 604 of file cfl_baseset.h.

◆ operator--() [2/2]

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

Reimplement prefix –

Definition at line 617 of file cfl_baseset.h.

◆ operator->()

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

Reimplement dereference

Definition at line 535 of file cfl_baseset.h.

◆ operator=()

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 473 of file cfl_baseset.h.

◆ operator==()

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

Reimplement ==

Definition at line 557 of file cfl_baseset.h.

◆ StlIterator() [1/2]

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

Set STL iterator only

Definition at line 499 of file cfl_baseset.h.

◆ StlIterator() [2/2]

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 504 of file cfl_baseset.h.

◆ Valid()

template<class T , class Cmp = std::less<T>>
bool faudes::TBaseSet< T, Cmp >::Iterator::Valid ( void  ) const
inline

Check validity (no exception/abort

Definition at line 520 of file cfl_baseset.h.

Member Data Documentation

◆ mAttached

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

Indicate that this iterator is attached to some baseset

Definition at line 640 of file cfl_baseset.h.

◆ pBaseSet

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

Order by reference for containers of Iterators < Maintaine container reference

Definition at line 637 of file cfl_baseset.h.


The documentation for this class was generated from the following file:

libFAUDES 2.34g --- 2026.03.30 --- c++ api documentaion by doxygen