Detailed Description

Container class to model a set of clocks.

Technically, this is a NameSet with a static SymbolTable to map symbolic clock names to clock indices. Thus, clock names are global similar to event names. Note that clocksets of individual TtGenerators are assumed to be disjoint.

Todo: explicitely inherit other constructors (!)

Definition at line 38 of file tp_timeconstraint.h.

#include <tp_timeconstraint.h>

Public Member Functions

 ClockSet (void)
 Constructor. More...
 
 ClockSet (const ClockSet &rOtherSet)
 Copy-constructor. More...
 
 ClockSet (const std::string &rFilename, const std::string &rLabel="Clocks")
 Construct from file. More...
 
- Public Member Functions inherited from faudes::NameSet
 NameSet (void)
 Constructor for NameSet referring to the static SymbolTable. More...
 
 NameSet (const NameSet &rOtherSet)
 Copy-constructor from other NameSet. More...
 
 NameSet (const std::string &rFilename, const std::string &rLabel="")
 Constructor from file. More...
 
virtual ~NameSet (void)
 Virtual destructor. More...
 
SymbolTableSymbolTablep (void) const
 Get Pointer mpSymbolTable. More...
 
void SymbolTablep (SymbolTable *pSymTab)
 Set SymbolTable reference. More...
 
bool Insert (const Idx &rIndex)
 Add an element by index. More...
 
Idx Insert (const std::string &rName)
 Add an element by its symbolic name. More...
 
virtual void InsertSet (const NameSet &rOtherSet)
 Inserts all elements of rOtherSet. More...
 
virtual void InsertSet (const TBaseSet< Idx > &rOtherSet)
 Inserts all elements of rOtherSet. More...
 
virtual bool Erase (const Idx &rIndex)
 Delete element by index. More...
 
virtual bool Erase (const std::string &rName)
 Delete element by symbolic name. More...
 
virtual NameSet::Iterator Erase (const Iterator &pos)
 Delete element by iterator. More...
 
void EraseSet (const NameSet &rOtherSet)
 Erase elements specified by rOtherSet. More...
 
virtual void EraseSet (const TBaseSet< Idx > &rOtherSet)
 Erase elements specified by rOtherSet. More...
 
void RestrictSet (const NameSet &rOtherSet)
 Restrict to elements specified by rOtherSet. More...
 
virtual void RestrictSet (const TBaseSet< Idx > &rOtherSet)
 Restrict to elements specified by rOtherSet. More...
 
void SymbolicName (Idx index, const std::string &rName)
 Set new name for existing index. More...
 
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. More...
 
std::string SymbolicName (Idx index) const
 Name lookup. More...
 
Idx Index (const std::string &rName) const
 Index lookup. More...
 
bool Exists (const Idx &rIndex) const
 Test existence of index. More...
 
bool Exists (const std::string &rName) const
 Test existence of name. More...
 
NameSet::Iterator Find (const Idx &rIndex) const
 Find iterator for index. More...
 
NameSet::Iterator Find (const std::string &rName) const
 Find iterator for name. More...
 
NameSet operator+ (const NameSet &rOtherSet) const
 Set union operator. More...
 
NameSet operator- (const NameSet &rOtherSet) const
 Set difference operator. More...
 
NameSet operator* (const NameSet &rOtherSet) const
 Set intersection operator. More...
 
bool operator<= (const NameSet &rOtherSet) const
 Test for subset
More...
 
bool operator>= (const NameSet &rOtherSet) const
 Test for superset. More...
 
std::string Str (const Idx &rIndex) const
 Return pretty printable symbolic name for index. More...
 
- Public Member Functions inherited from faudes::TBaseSet< Idx >
 TBaseSet (void)
 Constructor. More...
 
 TBaseSet (const TBaseSet &rOtherSet)
 Copy-constructor. More...
 
 TBaseSet (const std::string &rFilename, const std::string &rLabel="BaseSet")
 Constructor from file. More...
 
virtual ~TBaseSet (void)
 Virtual destructor. More...
 
const std::string & Name (void) const
 Return name of TBaseSet. More...
 
void Name (const std::string &rName)
 Set name of TBaseSet. More...
 
virtual void Clear (void)
 Clear all set. More...
 
Idx Size (void) const
 Get Size of TBaseSet. More...
 
bool Empty (void) const
 Test whether if the TBaseSet is Empty. More...
 
virtual std::string Str (const Idx &rElem) const
 Return pretty printable element. More...
 
Iterator Begin (void) const
 Iterator to the begin of set. More...
 
Iterator End (void) const
 Iterator to the end of set. More...
 
virtual bool Valid (const Idx &rElem) const
 Test validty of candidate element. More...
 
virtual bool Erase (const Idx &rElem)
 Erase element by reference. More...
 
virtual Iterator Erase (const Iterator &pos)
 Erase element by iterator. More...
 
virtual void EraseSet (const TBaseSet &rOtherSet)
 Erase elements given by other set. More...
 
virtual void RestrictSet (const TBaseSet &rOtherSet)
 Restrict elements given by other set. More...
 
virtual bool Disjoint (const TBaseSet &rOtherSet) const
 Test for this set to be disjoint witg other set. More...
 
virtual bool Insert (const Idx &rElem)
 Insert specified element. More...
 
virtual Iterator Inject (const Iterator &pos, const Idx &rElem)
 Insert specified element. More...
 
virtual void Inject (const Idx &rElem)
 Insert specified element. More...
 
virtual void InsertSet (const TBaseSet &rOtherSet)
 Insert elements given by rOtherSet. More...
 
bool Exists (const Idx &rElem) const
 Test existence of element. More...
 
Iterator Find (const Idx &rElem) const
 Find element and return iterator. More...
 
TBaseSet operator+ (const TBaseSet &rOtherSet) const
 Set union operator. More...
 
TBaseSet operator- (const TBaseSet &rOtherSet) const
 Set difference operator. More...
 
TBaseSet operator* (const TBaseSet &rOtherSet) const
 Set intersection operator. More...
 
bool operator<= (const TBaseSet &rOtherSet) const
 Test for subset
More...
 
bool operator>= (const TBaseSet &rOtherSet) const
 Test for superset. More...
 
bool operator< (const TBaseSet &rOtherSet) const
 Order for sorting containers of TBaseSet. More...
 
void DValid (const std::string &rMessage="") const
 Some validation of deferred copy mechanism (provoke abort) More...
 
void Detach (DetachMode flag=AttrIncl) const
 
void Lock (void) const
 Detach and lock any further reallocation. More...
 
virtual const AttributeVoidAttributeType (void) const
 Attribute typeinfo. More...
 
virtual bool AttributeTest (const Type &rAttr) const
 Attribute typeinfo. More...
 
virtual TBaseSetAssignWithoutAttributes (const TBaseSet &rSourceSet)
 Attribute access. More...
 
virtual void Attributes (const TBaseSet &rOtherSet)
 Attributes access. More...
 
Idx AttributesSize (void) const
 Attribute access. More...
 
void ClearAttributes (void)
 Attribute access. More...
 
bool EqualAttributes (const TBaseSet &rOtherSet) const
 Attribute access. More...
 
virtual AttributeVoidAttributep (const Idx &rElem)
 Attribute access. More...
 
virtual const AttributeVoidAttribute (const Idx &rElem) const
 Attribute access. More...
 
virtual void Attribute (const Idx &rElem, const Type &rAttr)
 Attribute access. More...
 
virtual void AttributeTry (const Idx &rElem, const Type &rAttr)
 Attribute access. More...
 
virtual void ClrAttribute (const Idx &rElem)
 Attribute access. More...
 
virtual void XElementTag (const std::string &rTag)
 Configure the element name tag. More...
 
virtual const std::string & TypeName (void) const
 Get objects's type name. More...
 
virtual void TypeName (const std::string &rType)
 Overwrite faudes-type name. More...
 
- Public Member Functions inherited from faudes::Type
 Type (void)
 Constructor. More...
 
 Type (const Type &rType)
 Copy constructor. More...
 
virtual ~Type (void)
 Destructor. More...
 
virtual TypeNew (void) const
 Construct on heap. More...
 
virtual TypeCopy (void) const
 Construct on heap. More...
 
virtual const TypeCast (const Type *pOther) const
 Cast other object to this type. More...
 
virtual TypeAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
virtual Typeoperator= (const Type &rSrc)
 Assign configurationdata from other object. More...
 
virtual bool Equal (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual bool operator== (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual bool operator!= (const Type &rOther) const
 Test equality of configuration data. More...
 
void Write (const Type *pContext=0) const
 Write configuration data to console. More...
 
void Write (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write configuration data to a file. More...
 
void Write (const std::string &pFileName, std::ios::openmode openmode) const
 Write configuration data to a file. More...
 
void Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to TokenWriter. More...
 
virtual void XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to an XML file. More...
 
void XWrite (const Type *pContext=0) const
 Write configuration data in XML format to concole Note: this write function uses the virtual function DoXWrite(), to be reimplemented by derived classes. More...
 
void XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in XML format to TokenWriter. More...
 
std::string ToString (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a string. More...
 
std::string ToText (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a formated string. More...
 
void DWrite (const Type *pContext=0) const
 Write configuration data to console, debugging format. More...
 
void DWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write configuration data to a file, debugging format. More...
 
void DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in debug format to TokenWriter. More...
 
void SWrite (TokenWriter &rTw) const
 Write statistics comment to TokenWriter. More...
 
void SWrite (void) const
 Write statistics comment to console. More...
 
std::string ToSText (void) const
 Write statistics to a string. More...
 
void Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from file with label specified. More...
 
void FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from a string. More...
 
void Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from TokenReader with label sepcified. More...
 

Static Public Member Functions

static SymbolTableGlobalClockSymbolTablep (void)
 Get pointer to static clock SymbolTable (init on first use pattern) More...
 

Protected Member Functions

virtual void DoAssign (const ClockSet &rSourceSet)
 Assign from other clock set. More...
 
virtual bool DoEqual (const ClockSet &rOtherSet) const
 Test equality with other clock set. More...
 
- Protected Member Functions inherited from faudes::NameSet
void DoAssign (const NameSet &rSourceSet)
 Assign from other name set. More...
 
bool DoEqual (const NameSet &rOtherSet) const
 Test equality of configuration data. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void DoRead (TokenReader &tr, const std::string &rLabel="", const Type *pContext=0)
 Read from TokenReader, see Type::Read for public wrappers. More...
 
- Protected Member Functions inherited from faudes::TBaseSet< Idx >
virtual const std::string & XElementTag (void) const
 Get name of elements (used for XML IO) More...
 
virtual void DoSWrite (TokenWriter &rTw) const
 Token output, see Type::SWrite for public wrappers. More...
 
void DoAssign (const TBaseSet &rSourceSet)
 assign my members More...
 
bool DoEqual (const TBaseSet &rOtherSet) const
 test equality More...
 
void DoAttribute (const Idx &rElem, const Type *pAttr)
 set attribute in map (assume elem exists in set, NULL <=> set to default) More...
 
const AttributeVoidDoAttribute (const Idx &rElem) const
 get attribute from map (return null if elem does not exist in map) More...
 
AttributeVoidDoAttributeExplicit (const Idx &rElem)
 get attribute from map (insert explicit default if elem does not exist in map) More...
 
TBaseSet< Idx, std::less< Idx > >::Iterator ThisIterator (const typename std::set< Idx, std::less< Idx > >::const_iterator &sit) const
 Convert STL iterator to API iterator. More...
 
void RelinkClients (void)
 Ensure that we do not host contents to anyone else. More...
 
void AttachClient (TBaseSet *pRef) const
 Record that we provide contents to some other BaseSet. More...
 
void DetachClient (TBaseSet *pRef) const
 Record that we stop providing data for some TBaseSet. More...
 
void AttachIterator (Iterator *pFit) const
 Record that an iterator refers to this TBaseSet. More...
 
void DetachIterator (Iterator *pFit) const
 Record that an iterator stops to refer to this TBaseSet. More...
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 Reimplment from type to use chache. More...
 
- Protected Member Functions inherited from faudes::Type
void DoAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
bool DoEqual (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Additional Inherited Members

- Public Types inherited from faudes::TBaseSet< Idx >
enum  DetachMode
 Detach from extern storage (incl allocation and true copy) More...
 
- Protected Types inherited from faudes::TBaseSet< Idx >
typedef std::set< Idx, std::less< Idx > >::iterator iterator
 STL iterator, non-const version. More...
 
typedef std::set< Idx, std::less< Idx > >::const_iterator const_iterator
 STL iterator, const version. More...
 
typedef std::map< Idx, AttributeVoid * >::iterator aiterator
 STL attribute iterator, non-const version. More...
 
typedef std::map< Idx, AttributeVoid * >::const_iterator const_aiterator
 STL attribute iterator, const version. More...
 
- Protected Attributes inherited from faudes::NameSet
SymbolTablempSymbolTable
 Pointer to local SymbolTable. More...
 
- Protected Attributes inherited from faudes::TBaseSet< Idx >
std::string mMyName
 Name of this BaseSet. More...
 
std::set< Idx, std::less< Idx > > * pSet
 Pointer on STL set to operate on. More...
 
std::set< Idx, std::less< Idx > > * mpSet
 STL set, if this object hosts data (else NULL) More...
 
std::map< Idx, AttributeVoid * > * pAttributes
 Pointer to attribute map to operate on. More...
 
std::map< Idx, AttributeVoid * > * mpAttributes
 Attribute map, if this object hosts data (else NULL). More...
 
TBaseSet< Idx, std::less< Idx > > * pHostSet
 Pointer on BaseSet that hosts our data (THIS if we host) More...
 
std::list< TBaseSet< Idx, std::less< Idx > > * >::iterator mClientRecord
 Iterator to the client list that hosts our data (maintained by host) More...
 
std::list< TBaseSet< Idx, std::less< Idx > > * > * mpClients
 BaseSets, that use data hosted by us (NULL if we dont host data, emptyset if we host to ourself excl.) More...
 
bool mDetached
 Indicate "hosts data to myself only". More...
 
bool mLocked
 Indicate "dont re-allocate the STL set ever again". More...
 
std::set< Iterator * > mIterators
 Iterators that refer to this TBaseSet. More...
 
- Static Protected Attributes inherited from faudes::TBaseSet< Idx >
static std::set< Idx, std::less< Idx > > msEmptySet
 static empty STL set for default constructor More...
 
static std::map< Idx, AttributeVoid * > msEmptyAttributes
 static empty STL map for default constructor More...
 

Constructor & Destructor Documentation

◆ ClockSet() [1/3]

faudes::ClockSet::ClockSet ( void  )

Constructor.

Definition at line 33 of file tp_timeconstraint.cpp.

◆ ClockSet() [2/3]

faudes::ClockSet::ClockSet ( const ClockSet rOtherSet)

Copy-constructor.

Parameters
rOtherSetSet to copy

Definition at line 41 of file tp_timeconstraint.cpp.

◆ ClockSet() [3/3]

faudes::ClockSet::ClockSet ( const std::string &  rFilename,
const std::string &  rLabel = "Clocks" 
)

Construct from file.

Uses the NameSet's Read() function to scan a file for a specified clockset.

Parameters
rFilenameFile to read
rLabelSection label for the clocks in the file; default value "Clocks"

Definition at line 46 of file tp_timeconstraint.cpp.

Member Function Documentation

◆ DoAssign()

void faudes::ClockSet::DoAssign ( const ClockSet rSourceSet)
protectedvirtual

Assign from other clock set.

Parameters
rSourceSetDestination to copy from
Returns
ref to this set

Definition at line 62 of file tp_timeconstraint.cpp.

◆ DoEqual()

bool faudes::ClockSet::DoEqual ( const ClockSet rOtherSet) const
protectedvirtual

Test equality with other clock set.

Parameters
rOtherSetSet to compare with
Returns
True/false

Definition at line 68 of file tp_timeconstraint.cpp.

◆ GlobalClockSymbolTablep()

SymbolTable * faudes::ClockSet::GlobalClockSymbolTablep ( void  )
static

Get pointer to static clock SymbolTable (init on first use pattern)

Returns
Pointer to static clock SymbolTable

Definition at line 77 of file tp_timeconstraint.cpp.


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

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen