faudes::TBaseSet< T, Cmp > Class Template Reference
[State, Event and Transition Set]

#include <baseset.h>

List of all members.


Detailed Description

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

STL style set template.

This class template is built on top of the STL set template. It provides essentials of the STL interface relevant to libFAUDES plus a deferred copy mechanism, aka copy-on-write. TBaseSet serves as a base class for all libFaudes containers:

The public functions of a TBaseSet provide the high-level api, with the intention to organize the deferred copy machanism in a transparent manner. Since STL iterators refer to a particular STL container, they become invalid when the internal container is copied. Therefor TBaseSet tracks iterators and fixes them when the actual copy takes place. Clearly, this introduces some overhead, in particular when your application represents subsets as sets of iterators. You may use the public method Lock() to enforce a full copy and to prevent any further re-allocation.

Alternatively to the high-level api, a protected low-level api is provided with direct access to the internal STL set. When using this api, it is up to the derived class to ensure that the BaseSet gets detached from its refernces befor write operations can take place.

The virtual function TBaseSet<T>::Valid() is used to indicate whether a candidate element is valid as a set member. If the macro FAUDES_CHECKED is defined, the attempt to insert an invalid element triggers an exception (id 61). Invalid iterators throw an exception (id 62) when used as an argument to a BaseSet function.

Note on a boring technical detail: since STL sets are sorted, effectively all set iterators should be const. However, there is a minor issue whether or not the erase function should use a const iterator as argument. SGI derived STL implementations (as used on most GNU systems) avoid this issue by defining const and non-const iterators on sets as identical types. MS implementation (used in VS C++ by default) differ in this aspect. The class TBaseSet::Iterator hides the issue from the faudes API but it is still present internaly: in its current implementation, libfaudes will not compile with MS STL. At this stage we are aware of two workarounds, one simple but on cost of performance, one a little bit awkward. Let us know if MS STL is missioncrititical for your libfaudes application.

Definition at line 82 of file baseset.h.

Public Member Functions

 TBaseSet (void)
 Constructor.
 TBaseSet (const TBaseSet &rOtherSet)
 Copy-constructor.
virtual ~TBaseSet (void)
 Virtual destructor.
std::string Name (void) const
 Return name of TBaseSet.
void Name (const std::string &rName)
 Set name of TBaseSet.
virtual void Clear (void)
 Clear all set.
Idx Size (void) const
 Get Size of TBaseSet.
bool Empty (void) const
 Check if the TBaseSet ist Empty.
void Write (void) const
 Write set to console.
void Write (const std::string &pFileName, const std::string &rLabel="", std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write set to a file.
void Write (TokenWriter &rTw, const std::string &rLabel="") const
 Write set to TokenWriter.
std::string ToString (void) const
 Write set to a string.
void DWrite (void) const
 Write debug info to console.
void DWrite (TokenWriter &rTw) const
 Write debug info to TokenWriter.
void DWrite (const char *pFileName, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write debug info a file.
void Read (const std::string &rFileName, const std::string &rLabel="BaseSet")
 Read from file with label specified.
void Read (TokenReader &rTr, const std::string &rLabel="BaseSet")
 Read from TokenReader with label sepcified.
Iterator Begin (void) const
 Iterator to the begin of set.
Iterator End (void) const
 Iterator to the end of set.
virtual bool Valid (const T &rElem) const
 Test validty of candidate element.
virtual bool Erase (const T &rElem)
 Erase element by reference.
virtual Iterator Erase (const Iterator &pos)
 Erase element by iterator.
virtual void EraseSet (const TBaseSet &rOtherSet)
 Erase elements given by other set.
virtual bool Insert (const T &rElem)
 Insert specified element.
virtual void InsertSet (const TBaseSet &rOtherSet)
 Insert elements given by rOtherSet.
virtual void SetUnion (const TBaseSet &rOtherSet)
 Set Union, result is accumulated in this set.
virtual void SetIntersection (const TBaseSet &rOtherSet)
 Set Intersection, result is stored in this set.
bool Exists (const T &rElem) const
 Test existence of element.
Iterator Find (const T &rElem) const
 Find element and return iterator.
TBaseSet operator+ (const TBaseSet &rOtherSet) const
 Set union operator.
TBaseSet operator- (const TBaseSet &rOtherSet) const
 Set difference operator.
TBaseSet operator * (const TBaseSet &rOtherSet) const
 Set intersection operator.
bool operator== (const TBaseSet &rOtherSet) const
 Test for equality.
bool operator!= (const TBaseSet &rOtherSet) const
 Test for inequality.
bool operator<= (const TBaseSet &rOtherSet) const
 Test for subset.
bool operator>= (const TBaseSet &rOtherSet) const
 Test for superset.
bool operator< (const TBaseSet &rOtherSet) const
 Order for sorting containers of TBaseSet.
virtual const TBaseSetoperator= (const TBaseSet &rSrc)
 Assignment operator (fake copy).
void DValid (const std::string &rMessage="") const
 Some validation of deferred copy mechanism (provole abort).
void Detach (void) const
 Detach from extern storage (incl allocation and true copy).
void Lock (void) const
 Detach and lock any further reallocation.

Protected Types

typedef std::set< T, Cmp
>::iterator 
iterator
 STL iterator, non-const version.
typedef std::set< T, Cmp
>::const_iterator 
const_iterator
 STL iterator, const version.

Protected Member Functions

virtual void DoDWrite (TokenWriter &rTw) const
 Actual DWrite routine, virtual.
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="") const
 Actual Write routine, virtual.
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="BaseSet")
 Actual Read routine, virtual.
const TBaseSet< T, Cmp > & Assign (const TBaseSet< T, Cmp > &rOtherSet)
 Assignment function (fake copy, no storage allocated).
TBaseSet< T, Cmp >::Iterator ThisIterator (const typename std::set< T, Cmp >::const_iterator &sit) const
 Convert STL iterator.

Protected Attributes

std::set< T, Cmp > * mpSet
 STL set, if the object owns content (else NULL).
std::set< T, Cmp > * pSet
 Pointer on STL set to operate on.

Static Protected Attributes

static std::set< T, Cmp > mEmptySet = std::set<T,Cmp>()
 static empty STL set for default constructor

Private Member Functions

void RelinkReferences (void)
 Ensure that we do not serve contents to anyone else.
void AttachReference (TBaseSet *pRef) const
 Record that we serve contents to some other TBaseSet.
void DetachReference (TBaseSet *pRef) const
 Record that we stop serving contents to some TBaseSet.
void AttachIterator (Iterator *pFit) const
 Record that an iterator refers to this TBaseSet.
void DetachIterator (Iterator *pFit) const
 Record that an iterator stops to refer to this TBaseSet.

Private Attributes

std::string mMyName
 Name of TBaseSet.
std::set< TBaseSet< T, Cmp > * > mReferences
 Other BaseSets, that refer to the STL set provided by this TBaseSet.
TBaseSet< T, Cmp > * pBaseSet
 Pointer on BaseSet that owns the STL set this BaseSet referrs to.
bool mDetached
 Indicate "has no references, provides STL set".
bool mLocked
 Indicate "dont re-allocate the STL set again".
std::set< Iterator * > mIterators
 Iterators that refer to this TBaseSet.

Classes

class  Iterator
 Iterator class for high-level api to TBaseSet. More...


Member Typedef Documentation

template<class T, class Cmp = std::less<T>>
typedef std::set<T,Cmp>::const_iterator faudes::TBaseSet< T, Cmp >::const_iterator [protected]
 

STL iterator, const version.

Definition at line 737 of file baseset.h.

template<class T, class Cmp = std::less<T>>
typedef std::set<T,Cmp>::iterator faudes::TBaseSet< T, Cmp >::iterator [protected]
 

STL iterator, non-const version.

Definition at line 734 of file baseset.h.


Constructor & Destructor Documentation

template<class T, class Cmp>
faudes::TBaseSet< T, Cmp >::TBaseSet void   ) 
 

Constructor.

Definition at line 806 of file baseset.h.

template<class T, class Cmp>
faudes::TBaseSet< T, Cmp >::TBaseSet const TBaseSet< T, Cmp > &  rOtherSet  ) 
 

Copy-constructor.

Parameters:
rOtherSet Source to copy from

Definition at line 828 of file baseset.h.

template<class T, class Cmp>
faudes::TBaseSet< T, Cmp >::~TBaseSet void   )  [virtual]
 

Virtual destructor.

Definition at line 849 of file baseset.h.


Member Function Documentation

template<class T, class Cmp>
const TBaseSet< T, Cmp > & faudes::TBaseSet< T, Cmp >::Assign const TBaseSet< T, Cmp > &  rOtherSet  )  [protected]
 

Assignment function (fake copy, no storage allocated).

Definition at line 864 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::AttachIterator Iterator pFit  )  const [inline, private]
 

Record that an iterator refers to this TBaseSet.

Definition at line 1081 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::AttachReference TBaseSet< T, Cmp > *  pRef  )  const [inline, private]
 

Record that we serve contents to some other TBaseSet.

Definition at line 1067 of file baseset.h.

template<class T, class Cmp>
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Begin void   )  const [inline]
 

Iterator to the begin of set.

Returns:
Iterator

Reimplemented in faudes::TTransSet< Cmp >.

Definition at line 1334 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Clear void   )  [virtual]
 

Clear all set.

Reimplemented in faudes::TaIndexSet< Attr >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< StateAttr >, and faudes::TaIndexSet< EventAttr >.

Definition at line 1347 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Detach void   )  const
 

Detach from extern storage (incl allocation and true copy).

Definition at line 898 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DetachIterator Iterator pFit  )  const [inline, private]
 

Record that an iterator stops to refer to this TBaseSet.

Definition at line 1089 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DetachReference TBaseSet< T, Cmp > *  pRef  )  const [inline, private]
 

Record that we stop serving contents to some TBaseSet.

Definition at line 1074 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DoDWrite TokenWriter rTw  )  const [protected, virtual]
 

Actual DWrite routine, virtual.

Note: reimplement this function in derived classes for specific specific template parameters.

Reimplemented in faudes::NameSet, faudes::TaNameSet< Attr >, and faudes::TaNameSet< EventAttr >.

Definition at line 1293 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DoRead TokenReader rTr,
const std::string &  rLabel = "BaseSet"
[protected, virtual]
 

Actual Read routine, virtual.

Note: reimplement this function in derived classes for specific specific template parameters.

Reimplemented in faudes::IndexSet, faudes::TaIndexSet< Attr >, faudes::NameSet, faudes::TaNameSet< Attr >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaNameSet< EventAttr >.

Definition at line 1319 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DoWrite TokenWriter rTw,
const std::string &  rLabel = ""
const [protected, virtual]
 

Actual Write routine, virtual.

Note: reimplement this function in derived classes for specific specific template parameters.

Reimplemented in faudes::IndexSet, faudes::TaIndexSet< Attr >, faudes::NameSet, faudes::TaNameSet< Attr >, faudes::TTransSet< Cmp >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaNameSet< EventAttr >.

Definition at line 1257 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DValid const std::string &  rMessage = ""  )  const
 

Some validation of deferred copy mechanism (provole abort).

Definition at line 1099 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DWrite const char *  pFileName,
std::ios::openmode  openmode = std::ios::out|std::ios::trunc
const
 

Write debug info a file.

The openmode can specified and defaults to truncate. Note: all write functions use the virtual function DoWrite(), to be reimplemented for specific template parameters.

Parameters:
pFileName Name of file
openmode ios::openmode
Exceptions:
Exception 
  • IO errors (id 2)

Definition at line 1273 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DWrite TokenWriter rTw  )  const
 

Write debug info to TokenWriter.

Note: all write functions use the virtual function DoWrite(), to be reimplemented for specific template parameters.

Exceptions:
Exception 
  • IO errors (id 2)

Definition at line 1287 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::DWrite void   )  const
 

Write debug info to console.

Note: all write functions use the virtual function DoWrite(), to be reimplemented for specific template parameters.

Definition at line 1266 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::Empty void   )  const
 

Check if the TBaseSet ist Empty.

Returns:
True if empty

Definition at line 1216 of file baseset.h.

template<class T, class Cmp>
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::End void   )  const [inline]
 

Iterator to the end of set.

Returns:
Iterator

Reimplemented in faudes::TTransSet< Cmp >.

Definition at line 1340 of file baseset.h.

template<class T, class Cmp>
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Erase const Iterator pos  )  [virtual]
 

Erase element by iterator.

Parameters:
pos Iterator to specify element
Returns:
Iterator to next element (or End if no such)

Reimplemented in faudes::TaIndexSet< Attr >, faudes::NameSet, faudes::TaNameSet< Attr >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaNameSet< EventAttr >.

Definition at line 1441 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::Erase const T &  rElem  )  [virtual]
 

Erase element by reference.

Parameters:
rElem Element to erase
Returns:
True if element used to exist

Reimplemented in faudes::TTransSet< Cmp >, and faudes::TaTransSet< Attr >.

Definition at line 1433 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::EraseSet const TBaseSet< T, Cmp > &  rOtherSet  )  [virtual]
 

Erase elements given by other set.

Parameters:
rOtherSet Set of elements to erase

Definition at line 1460 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::Exists const T &  rElem  )  const
 

Test existence of element.

Parameters:
rElem Element to test
Returns:
True if element exists in set

Reimplemented in faudes::TTransSet< Cmp >.

Definition at line 1492 of file baseset.h.

template<class T, class Cmp>
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Find const T &  rElem  )  const
 

Find element and return iterator.

Parameters:
rElem Element to find
Returns:
Iterator to element or End() if nonexistent

Reimplemented in faudes::TTransSet< Cmp >.

Definition at line 1486 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::Insert const T &  rElem  )  [virtual]
 

Insert specified element.

Parameters:
rElem Element to insert
Returns:
True if index was new to set

Reimplemented in faudes::TTransSet< Cmp >, and faudes::TaTransSet< Attr >.

Definition at line 1392 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::InsertSet const TBaseSet< T, Cmp > &  rOtherSet  )  [virtual]
 

Insert elements given by rOtherSet.

Parameters:
rOtherSet Set of elements to insert

Definition at line 1406 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Lock void   )  const
 

Detach and lock any further reallocation.

Definition at line 1001 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Name const std::string &  rName  ) 
 

Set name of TBaseSet.

Parameters:
rName Name to set

Definition at line 1204 of file baseset.h.

template<class T, class Cmp>
std::string faudes::TBaseSet< T, Cmp >::Name void   )  const
 

Return name of TBaseSet.

Returns:
Name of TBaseSet

Definition at line 1198 of file baseset.h.

template<class T, class Cmp>
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator * const TBaseSet< T, Cmp > &  rOtherSet  )  const
 

Set intersection operator.

Returns:
Intersection Set

Definition at line 1580 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::operator!= const TBaseSet< T, Cmp > &  rOtherSet  )  const
 

Test for inequality.

Definition at line 1599 of file baseset.h.

template<class T, class Cmp>
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator+ const TBaseSet< T, Cmp > &  rOtherSet  )  const
 

Set union operator.

Returns:
Union Set

Definition at line 1555 of file baseset.h.

template<class T, class Cmp>
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator- const TBaseSet< T, Cmp > &  rOtherSet  )  const
 

Set difference operator.

Returns:
Difference Set

Definition at line 1567 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::operator< const TBaseSet< T, Cmp > &  rOtherSet  )  const
 

Order for sorting containers of TBaseSet.

Definition at line 1617 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::operator<= const TBaseSet< T, Cmp > &  rOtherSet  )  const
 

Test for subset.

Definition at line 1605 of file baseset.h.

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

Assignment operator (fake copy).

Definition at line 427 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::operator== const TBaseSet< T, Cmp > &  rOtherSet  )  const
 

Test for equality.

Definition at line 1593 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::operator>= const TBaseSet< T, Cmp > &  rOtherSet  )  const
 

Test for superset.

Definition at line 1611 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Read TokenReader rTr,
const std::string &  rLabel = "BaseSet"
 

Read from TokenReader with label sepcified.

Note: all read functions use the virtual function DoRead(), to be reimplemented for specific template parameters.

Parameters:
rTr Reference to tokenreader
rLabel Section to read
Exceptions:
Exception 
  • IO errors (id 1)
  • token mismatch from DoRead()

Definition at line 1313 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Read const std::string &  rFileName,
const std::string &  rLabel = "BaseSet"
 

Read from file with label specified.

Note: all read functions use the virtual function DoRead(), to be reimplemented for specific template parameters.

Parameters:
rFileName Name of file
rLabel Section to read from
Exceptions:
Exception 
  • IO errors (id 1)
  • token mismatch from DoRead()

Definition at line 1306 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::RelinkReferences void   )  [inline, private]
 

Ensure that we do not serve contents to anyone else.

Definition at line 1027 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::SetIntersection const TBaseSet< T, Cmp > &  rOtherSet  )  [virtual]
 

Set Intersection, result is stored in this set.

Parameters:
rOtherSet Other TBaseSet

Definition at line 1525 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::SetUnion const TBaseSet< T, Cmp > &  rOtherSet  )  [virtual]
 

Set Union, result is accumulated in this set.

Parameters:
rOtherSet Other TBaseSet

Definition at line 1499 of file baseset.h.

template<class T, class Cmp>
Idx faudes::TBaseSet< T, Cmp >::Size void   )  const
 

Get Size of TBaseSet.

Returns:
Number of indices in TBaseSet

Definition at line 1210 of file baseset.h.

template<class T, class Cmp>
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::ThisIterator const typename std::set< T, Cmp >::const_iterator sit  )  const [protected]
 

Convert STL iterator.

Definition at line 1328 of file baseset.h.

template<class T, class Cmp>
std::string faudes::TBaseSet< T, Cmp >::ToString void   )  const
 

Write set to a string.

Note: all write functions use the virtual function DoWrite(), to be reimplemented for specific template parameters.

Returns:
output string
Exceptions:
Exception 
  • IO errors (id 2)

Definition at line 1249 of file baseset.h.

template<class T, class Cmp>
bool faudes::TBaseSet< T, Cmp >::Valid const T &  rElem  )  const [inline, virtual]
 

Test validty of candidate element.

Reimplement this function for particular type T of elements, eg for an index set with T=Idx indicate 0 an invalid index.

Parameters:
rElem Candidate to test
Returns:
True if element is valid

Definition at line 1385 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Write TokenWriter rTw,
const std::string &  rLabel = ""
const
 

Write set to TokenWriter.

Note: all write functions use the virtual function DoWrite(), to be reimplemented for specific template parameters.

Parameters:
rTw Reference to TokenWriter
rLabel Label of section to write, defaults to name of set
Exceptions:
Exception 
  • IO errors (id 2)

Definition at line 1243 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Write const std::string &  pFileName,
const std::string &  rLabel = "",
std::ios::openmode  openmode = std::ios::out|std::ios::trunc
const
 

Write set to a file.

Note: all write functions use the virtual function DoWrite(), to be reimplemented for specific template parameters.

Parameters:
pFileName Name of file
rLabel Label of section to write, defaults to name of set
openmode ios::openmode
Exceptions:
Exception 
  • IO errors (id 2)

Definition at line 1229 of file baseset.h.

template<class T, class Cmp>
void faudes::TBaseSet< T, Cmp >::Write void   )  const
 

Write set to console.

Note: all write functions use the virtual function DoWrite(), to be reimplemented for specific template parameters.

Definition at line 1222 of file baseset.h.


Member Data Documentation

template<class T, class Cmp = std::less<T>>
bool faudes::TBaseSet< T, Cmp >::mDetached [private]
 

Indicate "has no references, provides STL set".

Definition at line 756 of file baseset.h.

template<class T, class Cmp = std::less<T>>
std::set< T, Cmp > faudes::TBaseSet< T, Cmp >::mEmptySet = std::set<T,Cmp>() [static, protected]
 

static empty STL set for default constructor

Definition at line 728 of file baseset.h.

template<class T, class Cmp = std::less<T>>
std::set< Iterator* > faudes::TBaseSet< T, Cmp >::mIterators [private]
 

Iterators that refer to this TBaseSet.

Definition at line 771 of file baseset.h.

template<class T, class Cmp = std::less<T>>
bool faudes::TBaseSet< T, Cmp >::mLocked [private]
 

Indicate "dont re-allocate the STL set again".

Definition at line 759 of file baseset.h.

template<class T, class Cmp = std::less<T>>
std::string faudes::TBaseSet< T, Cmp >::mMyName [private]
 

Name of TBaseSet.

Definition at line 747 of file baseset.h.

template<class T, class Cmp = std::less<T>>
std::set<T,Cmp>* faudes::TBaseSet< T, Cmp >::mpSet [protected]
 

STL set, if the object owns content (else NULL).

Definition at line 725 of file baseset.h.

template<class T, class Cmp = std::less<T>>
std::set< TBaseSet<T,Cmp>* > faudes::TBaseSet< T, Cmp >::mReferences [private]
 

Other BaseSets, that refer to the STL set provided by this TBaseSet.

Definition at line 750 of file baseset.h.

template<class T, class Cmp = std::less<T>>
TBaseSet<T,Cmp>* faudes::TBaseSet< T, Cmp >::pBaseSet [private]
 

Pointer on BaseSet that owns the STL set this BaseSet referrs to.

Definition at line 753 of file baseset.h.

template<class T, class Cmp = std::less<T>>
std::set<T,Cmp>* faudes::TBaseSet< T, Cmp >::pSet [protected]
 

Pointer on STL set to operate on.

Definition at line 731 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