| |
libFAUDES
Sections
Index
|
faudes::TaNameSet< Attr > Class Template Reference |
Public Member Functions | |
virtual TaNameSet * | New (void) const |
Faudes Type interface. | |
virtual TaNameSet * | Copy (void) const |
Faudes Type interface. | |
virtual const TaNameSet * | Cast (const Type *pOther) const |
Faudes Type interface. | |
virtual TaNameSet & | Assign (const Type &rSrc) |
Assign configuration data from other object. | |
virtual bool | Equal (const Type &rOther) const |
Test equality of configuration data. | |
virtual TaNameSet & | operator= (const TaNameSet &rSrc) |
virtual bool | operator== (const TaNameSet &rOther) const |
virtual bool | operator!= (const TaNameSet &rOther) const |
TaNameSet (void) | |
Constructor for NameSet referring to the static SymbolTable. | |
TaNameSet (const TaNameSet &rOtherSet) | |
Copy-constructor from other TaNameSet (incl attributes and symboltable). | |
TaNameSet (const NameSet &rOtherSet) | |
Constructor from NameSet (sets default attributes, same symboltable). | |
TaNameSet (const std::string &rFilename, const std::string &rLabel="") | |
Constructor from file. | |
virtual | ~TaNameSet (void) |
Virtual destructor. | |
TaNameSet | NewN () const |
Return a NameSet with same symboltable as this set. | |
virtual TaNameSet & | Assign (const NameSet &rSrc) |
Relaxed assignment method (uses base class to be maintain attributes). | |
virtual TaNameSet & | operator= (const NameSet &rSrc) |
Relaxed assignment operator (uses base class to be maintain attributes). | |
bool | Insert (const Idx &rIndex) |
Add an element by index. | |
bool | Insert (const Idx &rIndex, const Attr &rAttr) |
Add an element by index incl. | |
Idx | Insert (const std::string &rName) |
Add an element by its symbolic name. | |
Idx | Insert (const std::string &rName, const Attr &rAttr) |
Add an element by its symbolic name. | |
void | InsertSet (const NameSet &rOtherSet) |
Inserts elements of rOtherSet. | |
void | InsertSet (const TaNameSet &rOtherSet) |
Inserts elements of rOtherSet incl attributes Attributes of this set are maintained, new elements are inserted with attribute. | |
virtual bool | Erase (const Idx &rIndex) |
Delete element by index. | |
virtual bool | Erase (const std::string &rName) |
Delete element by symbolic name. | |
virtual Iterator | Erase (const Iterator &pos) |
Delete element by iterator. | |
void | EraseSet (const NameSet &rOtherSet) |
Erase elements indicated by rOtherSet. | |
void | EraseSet (const TaNameSet &rOtherSet) |
Erase elements indicated by rOtherSet. | |
void | RestrictSet (const NameSet &rOtherSet) |
Restrict elements indicated by rOtherSet. | |
void | RestrictSet (const TaNameSet &rOtherSet) |
Restrict elements indicated by rOtherSet. | |
virtual void | Attributes (const NameSet &rOtherSet) |
Set attributes. | |
virtual void | Attributes (const TaNameSet &rOtherSet) |
Set attributes. | |
std::string | Str (const Idx &rIndex) const |
Return pretty printable symbolic name for index. | |
Protected Member Functions | |
virtual TaNameSet & | DoAssign (const TaNameSet &rSourceSet) |
Assign to other name set. | |
Friends | |
class | NameSet |
We implement "protected privacy for template classes" by friendship. |
faudes::TaNameSet< Attr >::TaNameSet | ( | void | ) | [inline] |
Constructor for NameSet referring to the static SymbolTable.
faudes::TaNameSet< Attr >::TaNameSet | ( | const TaNameSet< Attr > & | rOtherSet | ) | [inline] |
faudes::TaNameSet< Attr >::TaNameSet | ( | const NameSet & | rOtherSet | ) | [inline] |
faudes::TaNameSet< Attr >::TaNameSet | ( | const std::string & | rFilename, | |
const std::string & | rLabel = "" | |||
) | [inline] |
Constructor from file.
This constructor reads a NameSet from a file using the DoRead(TokenReader&, const std::String&) function. The section is specified by rLabel and the static SymbolTable is used.
rFilename | Name of File | |
rLabel | Section for the set in the file; |
virtual faudes::TaNameSet< Attr >::~TaNameSet | ( | void | ) | [inline, virtual] |
TaNameSet< Attr > * faudes::TaNameSet< Attr >::New | ( | void | ) | const [inline, virtual] |
Faudes Type interface.
Construct object of same type on heap.
Reimplemented from faudes::TaBaseSet< T, Attr, Cmp >.
Reimplemented in faudes::SimConditionSet.
TaNameSet< Attr > * faudes::TaNameSet< Attr >::Copy | ( | void | ) | const [inline, virtual] |
Faudes Type interface.
Construct copy on heap.
Reimplemented from faudes::TaBaseSet< T, Attr, Cmp >.
Reimplemented in faudes::SimConditionSet.
const TaNameSet< Attr > * faudes::TaNameSet< Attr >::Cast | ( | const Type * | pType | ) | const [inline, virtual] |
Faudes Type interface.
Cast object to my type.
Reimplemented from faudes::TaBaseSet< T, Attr, Cmp >.
Reimplemented in faudes::SimConditionSet.
TaNameSet< Attr > & faudes::TaNameSet< Attr >::Assign | ( | const Type & | rSrc | ) | [inline, virtual] |
Assign configuration data from other object.
Derived classes should reimplement this method to first try to cast the source to the respective class. If successful, the protected function DoAssign is invoked to perform the actual assignment. If the cast fails, the Assign method of the parent class is called. Thus, faudes objects are up- and downcatsted for assignment, maintaining as much of the source data as digestable by the destination object. On the downside, there is no sensible typechecking at compile-time.
Re-implementation can be done via the convenience macros FAUDES_TYPE_DECLARATION and FAUDES_TYPE_IMPLEMENTATION.
rSrc | Source to copy from |
Reimplemented from faudes::NameSet.
Reimplemented in faudes::SimConditionSet.
bool faudes::TaNameSet< Attr >::Equal | ( | const Type & | rOther | ) | const [inline, virtual] |
Test equality of configuration data.
Derived classes should reimplement this method to return true if both actual types and configuration data match. The object name is not consired in the test.
This method calls the virtual method DoEqual(). Re-implementation can be done via the convenience macros FAUDES_TYPE_DECLARATION and FAUDES_TYPE_IMPLEMENTATION.
rOther | Other objevt to compare with. |
Reimplemented from faudes::NameSet.
Reimplemented in faudes::SimConditionSet.
TaNameSet< Attr > & faudes::TaNameSet< Attr >::operator= | ( | const TaNameSet< Attr > & | rSrc | ) | [inline, virtual] |
bool faudes::TaNameSet< Attr >::operator== | ( | const TaNameSet< Attr > & | rOther | ) | const [inline, virtual] |
bool faudes::TaNameSet< Attr >::operator!= | ( | const TaNameSet< Attr > & | rOther | ) | const [inline, virtual] |
TaNameSet< Attr > faudes::TaNameSet< Attr >::NewN | ( | void | ) | const [inline] |
Return a NameSet with same symboltable as this set.
Reimplemented from faudes::NameSet.
TaNameSet< Attr > & faudes::TaNameSet< Attr >::Assign | ( | const NameSet & | rSrc | ) | [inline, virtual] |
virtual TaNameSet& faudes::TaNameSet< Attr >::operator= | ( | const NameSet & | rSrc | ) | [inline, virtual] |
Relaxed assignment operator (uses base class to be maintain attributes).
rSrc | Source from which to assign |
Reimplemented from faudes::NameSet.
bool faudes::TaNameSet< Attr >::Insert | ( | const Idx & | rIndex | ) | [inline] |
Add an element by index.
Index must be already known to the global SymbolTable. If the element already exists in the set, the attribute is maintained. Otherwise, the element is inserted with default attribute.
rIndex | Index to add |
Exception |
|
Reimplemented from faudes::NameSet.
bool faudes::TaNameSet< Attr >::Insert | ( | const Idx & | rIndex, | |
const Attr & | rAttr | |||
) | [inline] |
Idx faudes::TaNameSet< Attr >::Insert | ( | const std::string & | rName | ) | [inline] |
Add an element by its symbolic name.
If the name is unknown, a new index will be generated and recorded in the symboltable. If the name is known, the corresponding index will be added to the set. If the element already exists in the set, the attribute is maintained. Otherwise, the element is inserted with default attribute.
rName | symbolic name of element to add |
Reimplemented from faudes::NameSet.
Idx faudes::TaNameSet< Attr >::Insert | ( | const std::string & | rName, | |
const Attr & | rAttr | |||
) | [inline] |
Add an element by its symbolic name.
If the name is unknown, a new index will be generated and recorded in the symboltable. If the name is known, the corresponding index will be added to the set.
rName | symbolic name of element to add | |
rAttr | Attribute |
void faudes::TaNameSet< Attr >::InsertSet | ( | const NameSet & | rOtherSet | ) | [inline, virtual] |
Inserts elements of rOtherSet.
Attributes of this set are maintained, newly inserted elements have default attribute.
rOtherSet | Other StateSet |
Exception |
|
Reimplemented from faudes::NameSet.
void faudes::TaNameSet< Attr >::InsertSet | ( | const TaNameSet< Attr > & | rOtherSet | ) | [inline] |
bool faudes::TaNameSet< Attr >::Erase | ( | const Idx & | rIndex | ) | [inline, virtual] |
Delete element by index.
Symbolic name is not removed from SymbolTable.
rIndex | Index to delete |
Reimplemented from faudes::NameSet.
bool faudes::TaNameSet< Attr >::Erase | ( | const std::string & | rName | ) | [inline, virtual] |
Delete element by symbolic name.
Symbolic name is not removed from SymbolTable
rName | Symbolic name of element to dlete |
Exception |
|
Reimplemented from faudes::NameSet.
TaNameSet< Attr >::Iterator faudes::TaNameSet< Attr >::Erase | ( | const Iterator & | pos | ) | [inline, virtual] |
Delete element by iterator.
Symbolic nam is not removed from SymbolTable.
pos | TaNameSet::iterator |
Exception |
|
Reimplemented from faudes::TaBaseSet< T, Attr, Cmp >.
void faudes::TaNameSet< Attr >::EraseSet | ( | const NameSet & | rOtherSet | ) | [inline] |
Erase elements indicated by rOtherSet.
Exception |
|
rOtherSet | Other StateSet |
Reimplemented from faudes::NameSet.
void faudes::TaNameSet< Attr >::EraseSet | ( | const TaNameSet< Attr > & | rOtherSet | ) | [inline] |
void faudes::TaNameSet< Attr >::RestrictSet | ( | const NameSet & | rOtherSet | ) | [inline] |
Restrict elements indicated by rOtherSet.
Exception |
|
rOtherSet | Other EventSet |
Reimplemented from faudes::NameSet.
void faudes::TaNameSet< Attr >::RestrictSet | ( | const TaNameSet< Attr > & | rOtherSet | ) | [inline] |
void faudes::TaNameSet< Attr >::Attributes | ( | const NameSet & | rOtherSet | ) | [inline, virtual] |
Set attributes.
Provided that rOtherSet has attributes that can be casted to the appropriate type, attributes are copied per element from rOtherSet. Elements of this set which are not in rOtherSet maintain their attribute.
rOtherSet | Other IndexSet |
Exception |
|
Reimplemented from faudes::NameSet.
void faudes::TaNameSet< Attr >::Attributes | ( | const TaNameSet< Attr > & | rOtherSet | ) | [inline, virtual] |
std::string faudes::TaNameSet< Attr >::Str | ( | const Idx & | rIndex | ) | const [inline] |
Return pretty printable symbolic name for index.
Primary meant for debugging messages.
rIndex | Index to print |
Reimplemented from faudes::NameSet.
TaNameSet< Attr > & faudes::TaNameSet< Attr >::DoAssign | ( | const TaNameSet< Attr > & | rSourceSet | ) | [inline, protected, virtual] |
friend class NameSet [friend] |
libFAUDES 2.14g --- 2009-12-3 --- c++ source docu by doxygen 1.5.6