faudes::TaNameSet< Attr > Class Template Reference
[Classes]

Set of indices with symbolic names and attributes. More...

#include <cfl_nameset.h>

List of all members.

Public Member Functions

 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 TaNameSetAssign (const NameSet &rSrc)
 Relaxed assignment method (uses base class to maintain attributes).
virtual TaNameSetoperator= (const NameSet &rSrc)
 Relaxed assignment operator (uses base class to 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 void DoAssign (const TaNameSet &rSourceSet)
 Assign to other name set.
virtual bool DoEqual (const NameSet &rOtherSet) const
 Test equality of configuration data, ignore attributes Ignore name of the set, insist in matching symboltables.

Friends

class NameSet
 We implement "protected privacy for template classes" by friendship.

Detailed Description

template<class Attr>
class faudes::TaNameSet< Attr >

Set of indices with symbolic names and attributes.

This class is derived from NameSet and TaBaseSet.

The file format is demonstrated by the following example of a set "Alphabet" consisting of events "alpha", "beta" and "gamma" with "gamma" having some attribute (see eg AtributeFlags)

 <Alphabet> 
 "alpha" 
 "beta" 
 "gamma" 0x0f
 <\Alphabet> 

As with TaBaseSet, reading a file ignores unknown attributes. Thus, the above example may also be read as NameSet.

Definition at line 539 of file cfl_nameset.h.


Constructor & Destructor Documentation

template<class Attr >
faudes::TaNameSet< Attr >::TaNameSet ( void   )  [inline]

Constructor for NameSet referring to the static SymbolTable.

Definition at line 861 of file cfl_nameset.h.

template<class Attr >
faudes::TaNameSet< Attr >::TaNameSet ( const TaNameSet< Attr > &  rOtherSet  )  [inline]

Copy-constructor from other TaNameSet (incl attributes and symboltable).

Parameters:
rOtherSet Set to copy

Definition at line 873 of file cfl_nameset.h.

template<class Attr >
faudes::TaNameSet< Attr >::TaNameSet ( const NameSet rOtherSet  )  [inline]

Constructor from NameSet (sets default attributes, same symboltable).

Parameters:
rOtherSet Set to copy

Definition at line 885 of file cfl_nameset.h.

template<class Attr >
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.

Parameters:
rFilename Name of File
rLabel Section for the set in the file;

Definition at line 897 of file cfl_nameset.h.

template<class Attr>
virtual faudes::TaNameSet< Attr >::~TaNameSet ( void   )  [inline, virtual]

Virtual destructor.

Definition at line 587 of file cfl_nameset.h.


Member Function Documentation

template<class Attr >
TaNameSet< Attr > & faudes::TaNameSet< Attr >::Assign ( const NameSet rSrc  )  [inline, virtual]

Relaxed assignment method (uses base class to maintain attributes).

Parameters:
rSrc Source from which to assign
Returns:
Ref to this set

Definition at line 945 of file cfl_nameset.h.

template<class Attr >
void faudes::TaNameSet< Attr >::Attributes ( const TaNameSet< Attr > &  rOtherSet  )  [inline, virtual]

Set attributes.

Attributes are copied per element from rOtherSet. Elements of this set which are not in rOtherSet maintain their attribute.

Parameters:
rOtherSet Other IndexSet

Definition at line 1114 of file cfl_nameset.h.

template<class Attr >
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.

Parameters:
rOtherSet Other IndexSet
Exceptions:
Exception 
  • Element does not exist (63)
  • Cannot cast attribute type (63)

Reimplemented from faudes::NameSet.

Definition at line 1128 of file cfl_nameset.h.

template<class Attr >
void faudes::TaNameSet< Attr >::DoAssign ( const TaNameSet< Attr > &  rSourceSet  )  [inline, protected, virtual]

Assign to other name set.

Performs a fake copy, see TBaseSet. This function maintains attributes.

Parameters:
rSourceSet Destination to copy from
Returns:
ref to this set

Definition at line 925 of file cfl_nameset.h.

template<class Attr >
bool faudes::TaNameSet< Attr >::DoEqual ( const NameSet rOtherSet  )  const [inline, protected, virtual]

Test equality of configuration data, ignore attributes Ignore name of the set, insist in matching symboltables.

Parameters:
rOtherSet Other object to compare with.
Returns:
True on match.

Reimplemented from faudes::NameSet.

Definition at line 935 of file cfl_nameset.h.

template<class Attr >
TaNameSet< Attr >::Iterator faudes::TaNameSet< Attr >::Erase ( const Iterator pos  )  [inline, virtual]

Delete element by iterator.

Symbolic nam is not removed from SymbolTable.

Parameters:
pos TaNameSet::iterator
Returns:
Iterator to next element
Exceptions:
Exception 
  • invalid iterator (id 62)

Reimplemented from faudes::TaBaseSet< Idx, Attr >.

Definition at line 1052 of file cfl_nameset.h.

template<class Attr >
bool faudes::TaNameSet< Attr >::Erase ( const std::string &  rName  )  [inline, virtual]

Delete element by symbolic name.

Symbolic name is not removed from SymbolTable

Parameters:
rName Symbolic name of element to dlete
Returns:
True if element did exist
Exceptions:
Exception 
  • name not found in Symboltable (id 66)

Reimplemented from faudes::NameSet.

Definition at line 1037 of file cfl_nameset.h.

template<class Attr >
bool faudes::TaNameSet< Attr >::Erase ( const Idx rIndex  )  [inline, virtual]

Delete element by index.

Symbolic name is not removed from SymbolTable.

Parameters:
rIndex Index to delete
Returns:
True if element did exist

Reimplemented from faudes::NameSet.

Definition at line 1030 of file cfl_nameset.h.

template<class Attr >
void faudes::TaNameSet< Attr >::EraseSet ( const TaNameSet< Attr > &  rOtherSet  )  [inline]

Erase elements indicated by rOtherSet.

Exceptions:
Exception 
  • symboltable mismatch (id 67)
Parameters:
rOtherSet Other StateSet

Definition at line 1072 of file cfl_nameset.h.

template<class Attr >
void faudes::TaNameSet< Attr >::EraseSet ( const NameSet rOtherSet  )  [inline]

Erase elements indicated by rOtherSet.

Exceptions:
Exception 
  • symboltable mismatch (id 67)
Parameters:
rOtherSet Other StateSet

Reimplemented from faudes::NameSet.

Definition at line 1058 of file cfl_nameset.h.

template<class Attr>
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.

Parameters:
rName symbolic name of element to add
rAttr Attribute
Returns:
Index of (new) element

Definition at line 993 of file cfl_nameset.h.

template<class Attr>
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.

Parameters:
rName symbolic name of element to add
Returns:
Index of (new) element

Reimplemented from faudes::NameSet.

Definition at line 985 of file cfl_nameset.h.

template<class Attr>
bool faudes::TaNameSet< Attr >::Insert ( const Idx rIndex,
const Attr &  rAttr 
) [inline]

Add an element by index incl.

attribute

Parameters:
rIndex Index to add
rAttr Attribute to add
Returns:
True, if index was new to set
Exceptions:
Exception 
  • no symbolic name for index (id 65)

Reimplemented from faudes::TaBaseSet< Idx, Attr >.

Definition at line 971 of file cfl_nameset.h.

template<class Attr >
bool faudes::TaNameSet< Attr >::Insert ( const Idx rIndex  )  [inline, virtual]

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.

Parameters:
rIndex Index to add
Returns:
True, if element was new to set
Exceptions:
Exception 
  • no symbolic name for index (id 65)

Reimplemented from faudes::NameSet.

Definition at line 957 of file cfl_nameset.h.

template<class Attr >
void faudes::TaNameSet< Attr >::InsertSet ( const TaNameSet< Attr > &  rOtherSet  )  [inline]

Inserts elements of rOtherSet incl attributes Attributes of this set are maintained, new elements are inserted with attribute.

Parameters:
rOtherSet Other StateSet

Definition at line 1016 of file cfl_nameset.h.

template<class Attr >
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.

Parameters:
rOtherSet Other StateSet
Exceptions:
Exception 
  • symboltable mismatch (id 67)

Reimplemented from faudes::NameSet.

Definition at line 1002 of file cfl_nameset.h.

template<class Attr >
TaNameSet< Attr > faudes::TaNameSet< Attr >::NewN ( void   )  const [inline]

Return a NameSet with same symboltable as this set.

Returns:
New empty TaNameSet

Reimplemented from faudes::NameSet.

Definition at line 917 of file cfl_nameset.h.

template<class Attr>
virtual TaNameSet& faudes::TaNameSet< Attr >::operator= ( const NameSet rSrc  )  [inline, virtual]

Relaxed assignment operator (uses base class to maintain attributes).

Parameters:
rSrc Source from which to assign
Returns:
Ref to this set

Definition at line 613 of file cfl_nameset.h.

template<class Attr >
void faudes::TaNameSet< Attr >::RestrictSet ( const TaNameSet< Attr > &  rOtherSet  )  [inline]

Restrict elements indicated by rOtherSet.

Exceptions:
Exception 
  • symboltable mismatch (id 67)
Parameters:
rOtherSet Other StateSet

Definition at line 1100 of file cfl_nameset.h.

template<class Attr >
void faudes::TaNameSet< Attr >::RestrictSet ( const NameSet rOtherSet  )  [inline]

Restrict elements indicated by rOtherSet.

Exceptions:
Exception 
  • symboltable mismatch (id 67)
Parameters:
rOtherSet Other EventSet

Reimplemented from faudes::NameSet.

Definition at line 1086 of file cfl_nameset.h.

template<class Attr >
std::string faudes::TaNameSet< Attr >::Str ( const Idx rIndex  )  const [inline, virtual]

Return pretty printable symbolic name for index.

Primary meant for debugging messages.

Parameters:
rIndex Index to print
Returns:
String

Reimplemented from faudes::NameSet.

Definition at line 1143 of file cfl_nameset.h.


Friends And Related Function Documentation

template<class Attr>
friend class NameSet [friend]

We implement "protected privacy for template classes" by friendship.

This is used for the pragmatic implemention conversion constructors.

Definition at line 547 of file cfl_nameset.h.


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

libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen