faudes::NameSet Class Reference
|
Public Member Functions | |
NameSet (void) | |
Constructor for NameSet referring to the static SymbolTable. | |
NameSet (const NameSet &rOtherSet) | |
Copy-constructor from other NameSet. | |
NameSet (const std::string &rFilename, const std::string &rLabel="") | |
Constructor from file. | |
virtual | ~NameSet (void) |
Virtual destructor. | |
NameSet | NewN (void) const |
Return an empty NameSet with same SymbolTable as this set. | |
SymbolTable * | SymbolTablep (void) const |
Get Pointer mpSymbolTable. | |
void | SymbolTablep (SymbolTable *pSymTab) |
Set SymbolTable reference. | |
bool | Insert (const Idx &rIndex) |
Add an element by index. | |
Idx | Insert (const std::string &rName) |
Add an element by its symbolic name. | |
virtual void | InsertSet (const NameSet &rOtherSet) |
Inserts elements of rOtherSet. | |
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 specified by rOtherSet. | |
void | RestrictSet (const NameSet &rOtherSet) |
Restrict elements specified by rOtherSet. | |
void | SymbolicName (Idx index, const std::string &rName) |
Set new name for existing index. | |
void | SymbolicName (const std::string &rName, const std::string &rNewName) |
Set new name for existing name FAUDES_CHECKED checks if the specified name exists in NameSet. | |
std::string | SymbolicName (Idx index) const |
Name lookup. | |
Idx | Index (const std::string &rName) const |
Index lookup. | |
bool | Exists (const Idx &rIndex) const |
Test existence of index. | |
bool | Exists (const std::string &rName) const |
Test existence of name. | |
NameSet::Iterator | Find (const Idx &rIndex) const |
Find iterator for index. | |
NameSet::Iterator | Find (const std::string &rName) const |
Find iterator for name. | |
virtual void | Attributes (const NameSet &rOtherSet) |
Set attributes. | |
NameSet | operator+ (const NameSet &rOtherSet) const |
Set union operator. | |
NameSet | operator- (const NameSet &rOtherSet) const |
Set difference operator. | |
NameSet | operator* (const NameSet &rOtherSet) const |
Set intersection operator. | |
bool | operator<= (const NameSet &rOtherSet) const |
Test for subset. | |
bool | operator>= (const NameSet &rOtherSet) const |
Test for superset. | |
std::string | Str (const Idx &rIndex) const |
Return pretty printable symbolic name for index. | |
Protected Member Functions | |
virtual void | DoAssign (const NameSet &rSourceSet) |
Assign from other name set. | |
virtual bool | DoEqual (const NameSet &rOtherSet) const |
Test equality of configuration data. | |
virtual void | DoWrite (TokenWriter &tw, const std::string &rLabel="", const Type *pContext=0) const |
Write to TokenWriter, see Type::Write for public wrappers This function will also do the token IO of attributes in derived classes. | |
virtual void | DoDWrite (TokenWriter &tw, const std::string &rLabel="", const Type *pContext=0) const |
Write debug info to TokenWriter, see Type::DWrite for public wrapper. | |
virtual void | DoXWrite (TokenWriter &tw, const std::string &rLabel="", const Type *pContext=0) const |
Write to TokenWriter XML format, see Type::XWrite for public wrappers This function will also do the token IO of attributes in derived classes. | |
virtual void | DoRead (TokenReader &tr, const std::string &rLabel="", const Type *pContext=0) |
Read from TokenReader, see Type::Read for public wrappers. | |
Protected Attributes | |
SymbolTable * | mpSymbolTable |
Pointer to local SymbolTable. | |
Friends | |
class | TaNameSet |
We implement "protected privacy for template classes" by friendship. |
Set of indices with symbolic names.
In a NameSet, symbolic names are mandatory. The class is derived from IndexSet and uses a pointer to a SymbolTable to maintain the symbolic names. The static SymbolTable is used as default, which in the context of libfaudes becomes the global event symbol table. It is an error to refer to an unknown symbolic name or to an index with no name associated. When FAUDES_CHECKED is defined, an exception will be thrown. It is also considered an error to relate two NameSets that refer to different SymbolTables (using e.g. SetUnion).
Since symbolic names are mandatory, file IO uses names rather than indices. Technically, file IO is done by TaNameSet functions. This requires a copy and for that reason may be reimplemented in a future versions. The format is demonstrated by the following example of a set with name "Alphabet" consisting of events "alpha", "beta" and "gamma":
Note that when reading a file, indices will be associated with the symbolic names based on availability. Within one libfaudes session, each individual event will be referred to by a unique index.
Definition at line 69 of file cfl_nameset.h.
faudes::NameSet::NameSet | ( | void | ) |
Constructor for NameSet referring to the static SymbolTable.
Definition at line 48 of file cfl_nameset.cpp.
faudes::NameSet::NameSet | ( | const NameSet & | rOtherSet | ) |
Copy-constructor from other NameSet.
This also copies the SymbolTable reference, hence the new NameSet will use the same SymbolTable as rOtherSet.
rOtherSet | Set to copy |
Definition at line 55 of file cfl_nameset.cpp.
faudes::NameSet::NameSet | ( | const std::string & | rFilename, | |
const std::string & | rLabel = "" | |||
) |
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; |
Definition at line 63 of file cfl_nameset.cpp.
faudes::NameSet::~NameSet | ( | void | ) | [virtual] |
Virtual destructor.
Definition at line 70 of file cfl_nameset.cpp.
virtual void faudes::NameSet::Attributes | ( | const NameSet & | rOtherSet | ) | [inline, virtual] |
Set attributes.
This virtual interface function is overloaded by the derived class TaNameSet to set attributes by the specified set. Since the plain NameSet has no attributes, this function does nothing.
rOtherSet | Other NameSet |
Exception |
|
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 343 of file cfl_nameset.h.
void faudes::NameSet::DoAssign | ( | const NameSet & | rSourceSet | ) | [protected, virtual] |
Assign from other name set.
Performs a fake copy, see TBaseSet.
rSourceSet | Source to copy from |
Definition at line 89 of file cfl_nameset.cpp.
void faudes::NameSet::DoDWrite | ( | TokenWriter & | tw, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | const [protected, virtual] |
Write debug info to TokenWriter, see Type::DWrite for public wrapper.
The debug version writes a format that includes symbolic names and indices.
tw | Reference to TokenWriter | |
rLabel | Label of the section to write, defaults to name of set or "NameSet" | |
pContext | Write context to provide contextual information |
Exception |
|
Reimplemented from faudes::TBaseSet< Idx >.
Definition at line 148 of file cfl_nameset.cpp.
bool faudes::NameSet::DoEqual | ( | const NameSet & | rOtherSet | ) | const [protected, virtual] |
Test equality of configuration data.
Ignore name of the set, insist in matching symboltables.
rOtherSet | Other object to compare with. |
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 98 of file cfl_nameset.cpp.
void faudes::NameSet::DoRead | ( | TokenReader & | tr, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | [protected, virtual] |
Read from TokenReader, see Type::Read for public wrappers.
It is an error if the file contains a plain index (id 52). The method invokes TokenReader::ReadBegin() to seek the specified section, reads subsequent symbols, and calls matching TokenReader::ReadEnd(). If no section is specified, the section is assumed to start at the current position of the token stream. If the current position is no begin token, the section "NameSet" is read. When used by a derived class with attributes, attributes are read, too.
tr | Reference to TokenReader | |
rLabel | Label to read, defaults to current begin label or else "NameSet" | |
pContext | Write context to provide contextual information |
Exception |
|
Reimplemented from faudes::TBaseSet< Idx >.
Definition at line 194 of file cfl_nameset.cpp.
void faudes::NameSet::DoWrite | ( | TokenWriter & | tw, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | const [protected, virtual] |
Write to TokenWriter, see Type::Write for public wrappers This function will also do the token IO of attributes in derived classes.
tw | Reference to TokenWriter | |
rLabel | Label of the section to write, defaults to name of set or "NameSet" | |
pContext | Write context to provide contextual information |
Exception |
|
Reimplemented from faudes::TBaseSet< Idx >.
Definition at line 125 of file cfl_nameset.cpp.
void faudes::NameSet::DoXWrite | ( | TokenWriter & | tw, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | const [protected, virtual] |
Write to TokenWriter XML format, see Type::XWrite for public wrappers This function will also do the token IO of attributes in derived classes.
tw | Reference to TokenWriter | |
rLabel | Label of the section to write, defaults to name of set or "NameSet" | |
pContext | Write context to provide contextual information |
Exception |
|
Reimplemented from faudes::Type.
Definition at line 164 of file cfl_nameset.cpp.
NameSet::Iterator faudes::NameSet::Erase | ( | const Iterator & | pos | ) | [virtual] |
Delete element by iterator.
Symbolic nam is not removed from SymbolTable.
pos | NameSet::iterator |
Exception |
|
Reimplemented from faudes::TBaseSet< Idx >.
Definition at line 315 of file cfl_nameset.cpp.
bool faudes::NameSet::Erase | ( | const std::string & | rName | ) | [virtual] |
Delete element by symbolic name.
The symbolic name is not removed from the SymbolTable
rName | symbolic name |
Exception |
|
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 301 of file cfl_nameset.cpp.
bool faudes::NameSet::Erase | ( | const Idx & | rIndex | ) | [virtual] |
Delete element by index.
The symbolic name is not removed from the SymbolTable.
rIndex | Index |
Reimplemented from faudes::TBaseSet< Idx >.
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 295 of file cfl_nameset.cpp.
void faudes::NameSet::EraseSet | ( | const NameSet & | rOtherSet | ) |
Erase elements specified by rOtherSet.
rOtherSet | Other StateSet |
Exception |
|
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 320 of file cfl_nameset.cpp.
bool faudes::NameSet::Exists | ( | const std::string & | rName | ) | const |
Test existence of name.
rName | Symbolic name to test |
Definition at line 387 of file cfl_nameset.cpp.
bool faudes::NameSet::Exists | ( | const Idx & | rIndex | ) | const |
Test existence of index.
rIndex | Index to test |
Reimplemented from faudes::TBaseSet< Idx >.
Definition at line 382 of file cfl_nameset.cpp.
NameSet::Iterator faudes::NameSet::Find | ( | const std::string & | rName | ) | const |
Find iterator for name.
Returns either a valid iterator or End() for non-existent.
rName | Name to find |
Definition at line 397 of file cfl_nameset.cpp.
NameSet::Iterator faudes::NameSet::Find | ( | const Idx & | rIndex | ) | const |
Find iterator for index.
Returns either a valid iterator or End() for non-existent.
rIndex | Index to find |
Reimplemented from faudes::TBaseSet< Idx >.
Definition at line 392 of file cfl_nameset.cpp.
Idx faudes::NameSet::Index | ( | const std::string & | rName | ) | const |
Index lookup.
rName | Symbolic name to look up |
Definition at line 377 of file cfl_nameset.cpp.
Idx faudes::NameSet::Insert | ( | const std::string & | rName | ) |
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 |
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 274 of file cfl_nameset.cpp.
bool faudes::NameSet::Insert | ( | const Idx & | rIndex | ) | [virtual] |
Add an element by index.
Index must be already known to the global SymbolTable.
rIndex | Index to add |
Exception |
|
Reimplemented from faudes::TBaseSet< Idx >.
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 262 of file cfl_nameset.cpp.
void faudes::NameSet::InsertSet | ( | const NameSet & | rOtherSet | ) | [virtual] |
Inserts elements of rOtherSet.
rOtherSet | Other NameSet |
Exception |
|
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 282 of file cfl_nameset.cpp.
NameSet faudes::NameSet::NewN | ( | void | ) | const |
Return an empty NameSet with same SymbolTable as this set.
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 82 of file cfl_nameset.cpp.
Set intersection operator.
Exception |
|
Definition at line 433 of file cfl_nameset.cpp.
Set union operator.
Exception |
|
Definition at line 403 of file cfl_nameset.cpp.
Set difference operator.
Exception |
|
Definition at line 418 of file cfl_nameset.cpp.
bool faudes::NameSet::operator<= | ( | const NameSet & | rOtherSet | ) | const |
Test for subset.
Definition at line 448 of file cfl_nameset.cpp.
bool faudes::NameSet::operator>= | ( | const NameSet & | rOtherSet | ) | const |
Test for superset.
Definition at line 460 of file cfl_nameset.cpp.
void faudes::NameSet::RestrictSet | ( | const NameSet & | rOtherSet | ) |
Restrict elements specified by rOtherSet.
rOtherSet | Other StateSet |
Exception |
|
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 332 of file cfl_nameset.cpp.
std::string faudes::NameSet::Str | ( | const Idx & | rIndex | ) | const [virtual] |
Return pretty printable symbolic name for index.
Primary meant for debugging messages.
rIndex | Index to print |
Reimplemented from faudes::TBaseSet< Idx >.
Reimplemented in faudes::TaNameSet< Attr >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< AttributeFailureEvents >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< HioEventFlags >, faudes::TaNameSet< AttributeSignalEvent >, faudes::TaNameSet< SimEventAttribute >, and faudes::TaNameSet< AttributeSimplenetEvent >.
Definition at line 472 of file cfl_nameset.cpp.
std::string faudes::NameSet::SymbolicName | ( | Idx | index | ) | const |
Name lookup.
index | Index to lookup |
Definition at line 344 of file cfl_nameset.cpp.
void faudes::NameSet::SymbolicName | ( | const std::string & | rName, | |
const std::string & | rNewName | |||
) |
Set new name for existing name FAUDES_CHECKED checks if the specified name exists in NameSet.
rName | Symbolic name to edit | |
rNewName | New name |
Exception |
|
Definition at line 362 of file cfl_nameset.cpp.
void faudes::NameSet::SymbolicName | ( | Idx | index, | |
const std::string & | rName | |||
) |
Set new name for existing index.
FAUDES_CHECKED checks if index exists in NameSet.
index | Index to edit | |
rName | New name |
Exception |
|
Definition at line 349 of file cfl_nameset.cpp.
void faudes::NameSet::SymbolTablep | ( | SymbolTable * | pSymTab | ) |
Set SymbolTable reference.
This function sets the reference to the SymbolTable. The current implementation clears the set, future versions may implement a re-indexing.
pSymTab | Pointer to SymbolTable |
Definition at line 116 of file cfl_nameset.cpp.
SymbolTable * faudes::NameSet::SymbolTablep | ( | void | ) | const |
Get Pointer mpSymbolTable.
Definition at line 111 of file cfl_nameset.cpp.
friend class TaNameSet [friend] |
We implement "protected privacy for template classes" by friendship.
This is used for the pragmatic implemention of conversion constructors.
Definition at line 79 of file cfl_nameset.h.
SymbolTable* faudes::NameSet::mpSymbolTable [protected] |
Pointer to local SymbolTable.
Definition at line 403 of file cfl_nameset.h.
libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen