| |
libFAUDES
Sections
Index
|
faudes::TBaseSet< T, Cmp > Class Template Reference |
Public Member Functions | |
TBaseSet (void) | |
Constructor. | |
TBaseSet (const TBaseSet &rOtherSet) | |
Copy-constructor. | |
TBaseSet (const std::string &rFilename, const std::string &rLabel="BaseSet") | |
Constructor from file. | |
virtual TBaseSet * | New (void) const |
Construct on heap with same type. | |
virtual | ~TBaseSet (void) |
Virtual destructor. | |
virtual TBaseSet & | Assign (const TBaseSet< T, Cmp > &rSourceSet) |
Assign baseset. | |
virtual void | Copy (TBaseSet< T, Cmp > &rDestSet) const |
Copy baseset. | |
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. | |
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 void | RestrictSet (const TBaseSet &rOtherSet) |
Restrict 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 TBaseSet & | operator= (const TBaseSet &rSrc) |
Assignment operator (fake copy). | |
void | DValid (const std::string &rMessage="") const |
Some validation of deferred copy mechanism (provoke abort). | |
void | Detach (void) const |
Detach from extern storage (incl allocation and true copy). | |
void | Lock (void) const |
Detach and lock any further reallocation. | |
virtual const AttributeVoid * | Attributep (void) const |
Attribute typeinfo. | |
virtual const AttributeVoid & | Attribute (void) const |
Attribute typeinfo. | |
virtual bool | AttributeTry (const Type &rAttr) const |
Attribute typeinfo. | |
virtual void | Attributes (const TBaseSet &rOtherSet) |
Attributes access. | |
virtual Idx | AttributesSize (void) const |
Attribute access. | |
virtual void | ClearAttributes (void) |
Attribute access. | |
virtual AttributeVoid * | Attributep (const T &rElem) |
Attribute access. | |
virtual const AttributeVoid & | Attribute (const T &rElem) const |
Attribute access. | |
virtual void | Attribute (const T &rElem, const Type &rAttr) |
Attribute access. | |
virtual void | AttributeTry (const T &rElem, const Type &rAttr) |
Attribute access. | |
virtual void | ClrAttribute (const T &rElem) |
Attribute access. | |
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 std::string &rLabel="", const Type *pContext=0) const |
Token output, debugging see Type::DWrite for public wrappers. | |
virtual void | DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
Token output, see Type::DWrite for public wrappers. | |
virtual void | DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0) |
Token input, see Type::Read for public wrappers. | |
virtual TBaseSet & | DoAssign (const TBaseSet< T, Cmp > &rSourceSet) |
assign my members | |
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... |
typedef std::set<T,Cmp>::iterator faudes::TBaseSet< T, Cmp >::iterator [protected] |
STL iterator, non-const version.
typedef std::set<T,Cmp>::const_iterator faudes::TBaseSet< T, Cmp >::const_iterator [protected] |
STL iterator, const version.
faudes::TBaseSet< T, Cmp >::TBaseSet | ( | void | ) | [inline] |
Constructor.
faudes::TBaseSet< T, Cmp >::TBaseSet | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | [inline] |
Copy-constructor.
rOtherSet | Source to copy from |
faudes::TBaseSet< T, Cmp >::TBaseSet | ( | const std::string & | rFilename, | |
const std::string & | rLabel = "BaseSet" | |||
) | [inline] |
Constructor from file.
This constructor indicates the intended interface for derived classes. The base set itself cannot read from token streams.
rFilename | Name of File | |
rLabel | Section for the set in the file; |
faudes::TBaseSet< T, Cmp >::~TBaseSet | ( | void | ) | [inline, virtual] |
Virtual destructor.
TBaseSet< T, Cmp > * faudes::TBaseSet< T, Cmp >::New | ( | void | ) | const [inline, virtual] |
Construct on heap with same type.
Reimplemented from faudes::Type.
Reimplemented in faudes::IndexSet, faudes::TaIndexSet< Attr >, faudes::NameSet, faudes::TaNameSet< Attr >, faudes::TTransSet< Cmp >, faudes::TaTransSet< Attr >, faudes::ClockSet, faudes::TaIndexSet< faudes::HioEventFlags >, faudes::TaIndexSet< faudes::SimConditionAttribute >, faudes::TaIndexSet< faudes::AttributeTimedState >, faudes::TaIndexSet< faudes::SimEventAttribute >, faudes::TaIndexSet< faudes::HioStateFlags >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, faudes::TaIndexSet< faudes::AttributeCFlags >, faudes::TaNameSet< faudes::HioEventFlags >, faudes::TaNameSet< faudes::SimConditionAttribute >, faudes::TaNameSet< faudes::SimEventAttribute >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< faudes::AttributeCFlags >, faudes::TTransSet< faudes::TransSort::EvX2X1 >, and faudes::TTransSet< faudes::TransSort::X1EvX2 >.
TBaseSet< T, Cmp > & faudes::TBaseSet< T, Cmp >::Assign | ( | const TBaseSet< T, Cmp > & | rSourceSet | ) | [inline, virtual] |
Assign baseset.
Performs a fake copy. The actual set is not copied now, but prepared to be copied on write access.
rSourceSet | Source to copy from |
void faudes::TBaseSet< T, Cmp >::Copy | ( | TBaseSet< T, Cmp > & | rDestSet | ) | const [inline, virtual] |
Copy baseset.
Alternative interface to copy from given source.
rDestSet | Destination to copy to |
std::string faudes::TBaseSet< T, Cmp >::Name | ( | void | ) | const [inline] |
void faudes::TBaseSet< T, Cmp >::Name | ( | const std::string & | rName | ) | [inline] |
void faudes::TBaseSet< T, Cmp >::Clear | ( | void | ) | [inline, virtual] |
Clear all set.
Reimplemented from faudes::Type.
Reimplemented in faudes::TaIndexSet< Attr >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< faudes::HioEventFlags >, faudes::TaIndexSet< faudes::SimConditionAttribute >, faudes::TaIndexSet< faudes::AttributeTimedState >, faudes::TaIndexSet< faudes::SimEventAttribute >, faudes::TaIndexSet< faudes::HioStateFlags >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaIndexSet< faudes::AttributeCFlags >.
Idx faudes::TBaseSet< T, Cmp >::Size | ( | void | ) | const [inline] |
bool faudes::TBaseSet< T, Cmp >::Empty | ( | void | ) | const [inline] |
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Begin | ( | void | ) | const [inline] |
Iterator to the begin of set.
Reimplemented in faudes::TTransSet< Cmp >, faudes::TTransSet< faudes::TransSort::EvX2X1 >, and faudes::TTransSet< faudes::TransSort::X1EvX2 >.
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::End | ( | void | ) | const [inline] |
Iterator to the end of set.
Reimplemented in faudes::TTransSet< Cmp >, faudes::TTransSet< faudes::TransSort::EvX2X1 >, and faudes::TTransSet< faudes::TransSort::X1EvX2 >.
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.
rElem | Candidate to test |
Reimplemented in faudes::SymbolSet.
bool faudes::TBaseSet< T, Cmp >::Erase | ( | const T & | rElem | ) | [inline, virtual] |
Erase element by reference.
rElem | Element to erase |
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Erase | ( | const Iterator & | pos | ) | [inline, virtual] |
Erase element by iterator.
pos | Iterator to specify element |
Reimplemented in faudes::TaIndexSet< Attr >, faudes::NameSet, faudes::TaNameSet< Attr >, faudes::TTransSet< Cmp >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< faudes::HioEventFlags >, faudes::TaIndexSet< faudes::SimConditionAttribute >, faudes::TaIndexSet< faudes::AttributeTimedState >, faudes::TaIndexSet< faudes::SimEventAttribute >, faudes::TaIndexSet< faudes::HioStateFlags >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, faudes::TaIndexSet< faudes::AttributeCFlags >, faudes::TaNameSet< faudes::HioEventFlags >, faudes::TaNameSet< faudes::SimConditionAttribute >, faudes::TaNameSet< faudes::SimEventAttribute >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< faudes::AttributeCFlags >, faudes::TTransSet< faudes::TransSort::EvX2X1 >, and faudes::TTransSet< faudes::TransSort::X1EvX2 >.
void faudes::TBaseSet< T, Cmp >::EraseSet | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | [inline, virtual] |
Erase elements given by other set.
rOtherSet | Set of elements to erase |
void faudes::TBaseSet< T, Cmp >::RestrictSet | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | [inline, virtual] |
Restrict elements given by other set.
rOtherSet | Set of elements to keep |
bool faudes::TBaseSet< T, Cmp >::Insert | ( | const T & | rElem | ) | [inline, virtual] |
Insert specified element.
rElem | Element to insert |
Reimplemented in faudes::SymbolSet.
void faudes::TBaseSet< T, Cmp >::InsertSet | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | [inline, virtual] |
Insert elements given by rOtherSet.
rOtherSet | Set of elements to insert |
void faudes::TBaseSet< T, Cmp >::SetUnion | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | [inline, virtual] |
void faudes::TBaseSet< T, Cmp >::SetIntersection | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | [inline, virtual] |
bool faudes::TBaseSet< T, Cmp >::Exists | ( | const T & | rElem | ) | const [inline] |
Test existence of element.
rElem | Element to test |
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Find | ( | const T & | rElem | ) | const [inline] |
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator+ | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | const [inline] |
Set union operator.
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator- | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | const [inline] |
Set difference operator.
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator* | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | const [inline] |
Set intersection operator.
bool faudes::TBaseSet< T, Cmp >::operator== | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | const [inline] |
Test for equality.
bool faudes::TBaseSet< T, Cmp >::operator!= | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | const [inline] |
Test for inequality.
bool faudes::TBaseSet< T, Cmp >::operator<= | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | const [inline] |
Test for subset.
bool faudes::TBaseSet< T, Cmp >::operator>= | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | const [inline] |
Test for superset.
bool faudes::TBaseSet< T, Cmp >::operator< | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | const [inline] |
Order for sorting containers of TBaseSet.
virtual TBaseSet& faudes::TBaseSet< T, Cmp >::operator= | ( | const TBaseSet< T, Cmp > & | rSrc | ) | [inline, virtual] |
Assignment operator (fake copy).
Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly
void faudes::TBaseSet< T, Cmp >::DValid | ( | const std::string & | rMessage = "" |
) | const [inline] |
Some validation of deferred copy mechanism (provoke abort).
void faudes::TBaseSet< T, Cmp >::Detach | ( | void | ) | const [inline] |
Detach from extern storage (incl allocation and true copy).
void faudes::TBaseSet< T, Cmp >::Lock | ( | void | ) | const [inline] |
Detach and lock any further reallocation.
const AttributeVoid * faudes::TBaseSet< T, Cmp >::Attributep | ( | void | ) | const [inline, virtual] |
Attribute typeinfo.
This virtual function provides an interface for derived container classes with attributes eg TaIndexSet. When not re-implemented, it returns an attribute with type AttributeVoid to indicate the absence of nontrivial attributes
Reimplemented in faudes::TaIndexSet< Attr >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< faudes::HioEventFlags >, faudes::TaIndexSet< faudes::SimConditionAttribute >, faudes::TaIndexSet< faudes::AttributeTimedState >, faudes::TaIndexSet< faudes::SimEventAttribute >, faudes::TaIndexSet< faudes::HioStateFlags >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaIndexSet< faudes::AttributeCFlags >.
const AttributeVoid & faudes::TBaseSet< T, Cmp >::Attribute | ( | void | ) | const [inline, virtual] |
Attribute typeinfo.
This virtual function provides an interface for derived container classes with attributes eg TaIndexSet. When not re-implemented, it returns an attribute with type AttributeVoid to
Reimplemented in faudes::TaIndexSet< Attr >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< faudes::HioEventFlags >, faudes::TaIndexSet< faudes::SimConditionAttribute >, faudes::TaIndexSet< faudes::AttributeTimedState >, faudes::TaIndexSet< faudes::SimEventAttribute >, faudes::TaIndexSet< faudes::HioStateFlags >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaIndexSet< faudes::AttributeCFlags >.
virtual bool faudes::TBaseSet< T, Cmp >::AttributeTry | ( | const Type & | rAttr | ) | const [inline, virtual] |
Attribute typeinfo.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. It is meant to test whether this set accepts the specified attribute type ie whether it can be casted. When not re-implemented, the set accepts no attributes other than void.
rAttr | Attribute type to test. |
Reimplemented in faudes::TaIndexSet< Attr >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< faudes::HioEventFlags >, faudes::TaIndexSet< faudes::SimConditionAttribute >, faudes::TaIndexSet< faudes::AttributeTimedState >, faudes::TaIndexSet< faudes::SimEventAttribute >, faudes::TaIndexSet< faudes::HioStateFlags >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaIndexSet< faudes::AttributeCFlags >.
virtual void faudes::TBaseSet< T, Cmp >::Attributes | ( | const TBaseSet< T, Cmp > & | rOtherSet | ) | [inline, virtual] |
Attributes access.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. It is meant to copy attributes from the specified set. The TBaseSet itself has no attributes and thus this function does nothing.
rOtherSet | Other BaseSet |
virtual Idx faudes::TBaseSet< T, Cmp >::AttributesSize | ( | void | ) | const [inline, virtual] |
Attribute access.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet itself has no attributes and thus this function returns 0.
Reimplemented in faudes::TaIndexSet< Attr >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< faudes::HioEventFlags >, faudes::TaIndexSet< faudes::SimConditionAttribute >, faudes::TaIndexSet< faudes::AttributeTimedState >, faudes::TaIndexSet< faudes::SimEventAttribute >, faudes::TaIndexSet< faudes::HioStateFlags >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaIndexSet< faudes::AttributeCFlags >.
virtual void faudes::TBaseSet< T, Cmp >::ClearAttributes | ( | void | ) | [inline, virtual] |
Attribute access.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet itself has no attributes and thus this function does nothing.
Reimplemented in faudes::TaIndexSet< Attr >, faudes::TaTransSet< Attr >, faudes::TaIndexSet< faudes::HioEventFlags >, faudes::TaIndexSet< faudes::SimConditionAttribute >, faudes::TaIndexSet< faudes::AttributeTimedState >, faudes::TaIndexSet< faudes::SimEventAttribute >, faudes::TaIndexSet< faudes::HioStateFlags >, faudes::TaIndexSet< StateAttr >, faudes::TaIndexSet< EventAttr >, and faudes::TaIndexSet< faudes::AttributeCFlags >.
AttributeVoid * faudes::TBaseSet< T, Cmp >::Attributep | ( | const T & | rElem | ) | [inline, virtual] |
Attribute access.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet has no attributes and thus throws an exception. Derived classes that provide attributes are meant to return a pointer to the attribute specified by rElem.
rElem | Element of which the attribute is requested |
Exception |
|
const AttributeVoid & faudes::TBaseSet< T, Cmp >::Attribute | ( | const T & | rElem | ) | const [inline, virtual] |
Attribute access.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet has no attributes and thus returns a void attribute. Derived classes that provide attributes are meant to return the attribute specified by rElem.
rElem | Element of which the attribute is requested |
void faudes::TBaseSet< T, Cmp >::Attribute | ( | const T & | rElem, | |
const Type & | rAttr | |||
) | [inline, virtual] |
Attribute access.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet itself has no attributes and thus throws an exception for any specified attribute different to AttributeVoid. Derived classes that provide attributes are meant to set the attribute as specified. Only if the required cast to the actual attribute type fails an exception is thrown.
rElem | Element of which the attribute is to be set | |
rAttr | Attribute value to set. |
Exception |
|
virtual void faudes::TBaseSet< T, Cmp >::AttributeTry | ( | const T & | rElem, | |
const Type & | rAttr | |||
) | [inline, virtual] |
Attribute access.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. It is meant to try to set the attribute as specified if the type can be casted. Otherwise it does nothing.
rElem | Element of which the attribute is to be set | |
rAttr | Attribute value to set. |
virtual void faudes::TBaseSet< T, Cmp >::ClrAttribute | ( | const T & | rElem | ) | [inline, virtual] |
Attribute access.
This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet itself has no attributes and thus this function does nothing.
rElem | Element of which the attribute is to be cleared |
void faudes::TBaseSet< T, Cmp >::DoDWrite | ( | TokenWriter & | rTw, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | const [inline, protected, virtual] |
Token output, debugging see Type::DWrite for public wrappers.
Reimplement this function in derived classes for specific specific template parameters.
rTw | Reference to TokenWriter | |
rLabel | Label of section to write, defaults to name of set | |
pContext | Write context to provide contextual information |
Reimplemented from faudes::Type.
Reimplemented in faudes::NameSet.
void faudes::TBaseSet< T, Cmp >::DoWrite | ( | TokenWriter & | rTw, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | const [inline, protected, virtual] |
Token output, see Type::DWrite for public wrappers.
Reimplement this function in derived classes for specific specific template parameters. By convention, the default label "" should be translated to a) the name of the set or b) some meaningful default, eg "IndexSet" for a set of indices". The pContext pointer can de type-checked and interpreted, ie as a symboltable to provide symbolic names. It is also passed on to attributes.
rTw | Reference to TokenWriter | |
rLabel | Label of section to write, defaults to name of set | |
pContext | Write context to provide contextual information |
Reimplemented from faudes::Type.
Reimplemented in faudes::IndexSet, faudes::NameSet, faudes::SymbolSet, faudes::TTransSet< Cmp >, faudes::TTransSet< faudes::TransSort::EvX2X1 >, and faudes::TTransSet< faudes::TransSort::X1EvX2 >.
void faudes::TBaseSet< T, Cmp >::DoRead | ( | TokenReader & | rTr, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | [inline, protected, virtual] |
Token input, see Type::Read for public wrappers.
Reimplement this function in derived classes for specific specific template parameters. By convention, the default label "" should be translated to some meaningful default, eg "IndexSet" for a set of indices". The pContext pointer can de type-checked and interpreted, ie as a symboltable to provide symbolic names. It is also passed on to attributes.
rTr | Reference to TokenReader | |
rLabel | Label of section to read, defaults to name of set | |
pContext | Read context to provide contextual information |
Reimplemented from faudes::Type.
Reimplemented in faudes::IndexSet, faudes::NameSet, and faudes::SymbolSet.
TBaseSet< T, Cmp > & faudes::TBaseSet< T, Cmp >::DoAssign | ( | const TBaseSet< T, Cmp > & | rSourceSet | ) | [inline, protected, virtual] |
assign my members
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::ThisIterator | ( | const typename std::set< T, Cmp >::const_iterator & | sit | ) | const [inline, protected] |
Convert STL iterator.
void faudes::TBaseSet< T, Cmp >::RelinkReferences | ( | void | ) | [inline, private] |
Ensure that we do not serve contents to anyone else.
void faudes::TBaseSet< T, Cmp >::AttachReference | ( | TBaseSet< T, Cmp > * | pRef | ) | const [inline, private] |
Record that we serve contents to some other TBaseSet.
void faudes::TBaseSet< T, Cmp >::DetachReference | ( | TBaseSet< T, Cmp > * | pRef | ) | const [inline, private] |
Record that we stop serving contents to some TBaseSet.
void faudes::TBaseSet< T, Cmp >::AttachIterator | ( | Iterator * | pFit | ) | const [inline, private] |
Record that an iterator refers to this TBaseSet.
void faudes::TBaseSet< T, Cmp >::DetachIterator | ( | Iterator * | pFit | ) | const [inline, private] |
Record that an iterator stops to refer to this TBaseSet.
std::set<T,Cmp>* faudes::TBaseSet< T, Cmp >::mpSet [protected] |
STL set, if the object owns content (else NULL).
std::set< T, Cmp > faudes::TBaseSet< T, Cmp >::mEmptySet = std::set<T,Cmp>() [inline, static, protected] |
static empty STL set for default constructor
std::set<T,Cmp>* faudes::TBaseSet< T, Cmp >::pSet [protected] |
Pointer on STL set to operate on.
std::string faudes::TBaseSet< T, Cmp >::mMyName [private] |
Name of TBaseSet.
std::set< TBaseSet<T,Cmp>* > faudes::TBaseSet< T, Cmp >::mReferences [private] |
Other BaseSets, that refer to the STL set provided by this TBaseSet.
TBaseSet<T,Cmp>* faudes::TBaseSet< T, Cmp >::pBaseSet [private] |
Pointer on BaseSet that owns the STL set this BaseSet referrs to.
bool faudes::TBaseSet< T, Cmp >::mDetached [private] |
Indicate "has no references, provides STL set".
bool faudes::TBaseSet< T, Cmp >::mLocked [private] |
Indicate "dont re-allocate the STL set again".
std::set< Iterator* > faudes::TBaseSet< T, Cmp >::mIterators [private] |
Iterators that refer to this TBaseSet.
libFAUDES 2.13a c++ source docu by doxygen 1.5.6