Public Member Functions |
|
| TaTransSet (void) |
| Construct an empty TaTransSet object.
|
| TaTransSet (const TaTransSet &rOtherSet) |
| Copy-constructor (incl attributes)
|
| TaTransSet (const TTransSet< TransSort::X1EvX2 > &rOtherSet) |
| Copy-Constructor (set attributes to default)
|
virtual | ~TaTransSet () |
| Virtual destructor.
|
virtual TaTransSet & | Assign (const TBaseSet< Transition, TransSort::X1EvX2 > &rSrc) |
| Relaxed assignment method.
|
virtual TaTransSet & | operator= (const TransSet &rSrc) |
| Relaxed assignment operator.
|
| TTransSet (void) |
| Construct an empty TTransSet object.
|
| TTransSet (const TBaseSet< Transition, Cmp > &rOtherSet) |
| Copy-constructor.
|
template<class OtherCmp > |
| TTransSet (const TTransSet< OtherCmp > &res) |
| Re-Sort Copy-constructor.
|
virtual | ~TTransSet () |
| Virtual destructor.
|
Iterator | Inject (const Iterator &pos, const Transition &rTransition) |
| Add a Transition.
|
void | Inject (const Transition &rTransition) |
| Add a Transition.
|
void | EraseByX1 (Idx x1) |
| Remove all transitions containing predecessor state x1.
|
void | EraseByX1Ev (Idx x1, Idx ev) |
| Remove all transitions containing predecessor state x1 and event ev.
|
void | EraseByX2 (Idx x2) |
| Remove all transitions containing successor state x2.
|
void | EraseByEv (Idx ev) |
| Remove all transitions containing event ev.
|
void | EraseByX1OrX2 (Idx x) |
| Remove all transitions containing state x, This function iterates over all transitions to work with any sorting.
|
void | EraseByX1OrX2 (const StateSet &rStates) |
| Remove all transitions containing a specified state.
|
void | RestrictStates (const StateSet &rStateSet) |
| Restrict to transitions with states as specified.
|
void | RestrictEvents (const EventSet &rEventSet) |
| Restrict to transitions with events as specified.
|
Iterator | Find (Idx x1, Idx ev, Idx x2) const |
| Find transition given by x1, ev, x2.
|
Iterator | Find (const Transition &t) const |
| Find specified transition.
|
bool | Exists (const Transition &t) const |
| Test existence.
|
bool | Exists (Idx x1, Idx ev, Idx x2) const |
| Test existence.
|
bool | ExistsByX1Ev (Idx x1, Idx ev) const |
| Test existence.
|
bool | ExistsByX1 (Idx x1) const |
| Test existence.
|
bool | ExistsByX1OrX2 (Idx x) const |
| Tests if a transition with specified predecessor or successor state exists.
|
Iterator | Begin (void) const |
| Iterator to begin of set.
|
Iterator | End (void) const |
| Iterator to end of set.
|
Iterator | Begin (Idx x1) const |
| Iterator to first Transition specified by current state.
|
Iterator | End (Idx x1) const |
| Iterator to end or Transitions with specified current state.
|
Iterator | Begin (Idx x1, Idx ev) const |
| Iterator to first Transitions specified by current state and event.
|
Iterator | End (Idx x1, Idx ev) const |
| Iterator to first Transition after spcified current state and event.
|
Iterator | BeginByEv (Idx ev) const |
| Iterator to first Transition specified by event.
|
Iterator | EndByEv (Idx ev) const |
| Iterator to first Transition after specified by event.
|
Iterator | BeginByEvX1 (Idx ev, Idx x1) const |
| Iterator to first Transition specified by event and current state.
|
Iterator | EndByEvX1 (Idx ev, Idx x1) const |
| Iterator to first Transition after specified ev and current state.
|
Iterator | BeginByEvX2 (Idx ev, Idx x2) const |
| Iterator to first Transition specified by event and next state.
|
Iterator | EndByEvX2 (Idx ev, Idx x2) const |
| Iterator to first Transition after specified event and next state.
|
Iterator | BeginByX2 (Idx x2) const |
| Iterator to first Transition specified by successor state x2.
|
Iterator | EndByX2 (Idx x2) const |
| Iterator to first Transition after specified successor state x2.
|
Iterator | BeginByX2Ev (Idx x2, Idx ev) const |
| Iterator to first Transition specified by successor x2 and ev.
|
Iterator | EndByX2Ev (Idx x2, Idx ev) const |
| Iterator to first Transition after specified successor x2 and ev.
|
template<class OtherCmp > |
void | ReSort (TTransSet< OtherCmp > &res) const |
| Get copy of trantision relation sorted by other compare operator, e.g.
|
StateSet | States (void) const |
| Get state set covered by transition set.
|
StateSet | SuccessorStates (Idx x1) const |
| Get set of successor states for specified current state.
|
StateSet | SuccessorStates (const StateSet &rX1Set) const |
| Get set of successor states for specified current states.
|
StateSet | SuccessorStates (Idx x1, Idx ev) const |
| Get set of successor states for specified current state and event.
|
StateSet | SuccessorStates (const StateSet &rX1Set, const EventSet &rEvSet) const |
| Get set of successor states for specified current states and events.
|
EventSet | ActiveEvents (Idx x1, SymbolTable *pSymTab=NULL) const |
| Get set of events that are active for a specified current state Since a transition set does not refer to a SymbolTable, this function returns a set of plain indices.
|
std::string | Str (const Transition &rTrans) const |
| Return pretty printable string representation.
|
| TBaseSet (void) |
| Constructor.
|
| TBaseSet (const TBaseSet &rOtherSet) |
| Copy-constructor.
|
| TBaseSet (const std::string &rFilename, const std::string &rLabel="BaseSet") |
| Constructor from file.
|
virtual | ~TBaseSet (void) |
| Virtual destructor.
|
const 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 |
| Test whether if the TBaseSet is Empty.
|
virtual bool | Valid (const Transition &rElem) const |
| Test validty of candidate element.
|
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 Iterator | Inject (const Iterator &pos, const Transition &rElem) |
| Insert specified element.
|
virtual void | InsertSet (const TBaseSet &rOtherSet) |
| Insert elements given by rOtherSet.
|
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 subset.
|
bool | operator>= (const TBaseSet &rOtherSet) const |
| Test for superset.
|
bool | operator< (const TBaseSet &rOtherSet) const |
| Order for sorting containers of TBaseSet.
|
void | DValid (const std::string &rMessage="") const |
| Some validation of deferred copy mechanism (provoke abort)
|
void | Detach (DetachMode flag=AttrIncl) const |
void | Lock (void) const |
| Detach and lock any further reallocation.
|
virtual bool | AttributeTest (const Type &rAttr) const |
| Attribute typeinfo.
|
virtual TBaseSet & | AssignWithoutAttributes (const TBaseSet &rSourceSet) |
| Attribute access.
|
virtual void | Attributes (const TBaseSet &rOtherSet) |
| Attributes access.
|
Idx | AttributesSize (void) const |
| Attribute access.
|
void | ClearAttributes (void) |
| Attribute access.
|
bool | EqualAttributes (const TBaseSet &rOtherSet) const |
| Attribute access.
|
virtual void | ClrAttribute (const Transition &rElem) |
| Attribute access.
|
virtual void | XElementTag (const std::string &rTag) |
| Configure the element name tag.
|
virtual const std::string & | TypeName (void) const |
| Get objects's type name.
|
virtual void | TypeName (const std::string &rType) |
| Overwrite faudes-type name.
|
| Type (void) |
| Constructor.
|
| Type (const Type &rType) |
| Copy constructor.
|
virtual | ~Type (void) |
| Destructor.
|
virtual Type * | New (void) const |
| Construct on heap.
|
virtual Type * | Copy (void) const |
| Construct on heap.
|
virtual const Type * | Cast (const Type *pOther) const |
| Cast other object to this type.
|
virtual Type & | Assign (const Type &rSrc) |
| Assign configuration data from other object.
|
virtual Type & | operator= (const Type &rSrc) |
| Assign configurationdata from other object.
|
virtual bool | Equal (const Type &rOther) const |
| Test equality of configuration data.
|
virtual bool | operator== (const Type &rOther) const |
| Test equality of configuration data.
|
virtual bool | operator!= (const Type &rOther) const |
| Test equality of configuration data.
|
void | Write (const Type *pContext=0) const |
| Write configuration data to console.
|
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.
|
void | Write (const std::string &pFileName, std::ios::openmode openmode) const |
| Write configuration data to a file.
|
void | Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data to TokenWriter.
|
virtual void | XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data to an XML file.
|
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.
|
void | XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data in XML format to TokenWriter.
|
std::string | ToString (const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data to a string.
|
std::string | ToText (const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data to a formated string.
|
void | DWrite (const Type *pContext=0) const |
| Write configuration data to console, debugging format.
|
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.
|
void | DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data in debug format to TokenWriter.
|
void | SWrite (TokenWriter &rTw) const |
| Write statistics comment to TokenWriter.
|
void | SWrite (void) const |
| Write statistics comment to console.
|
std::string | ToSText (void) const |
| Write statistics to a string.
|
void | Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0) |
| Read configuration data from file with label specified.
|
void | FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0) |
| Read configuration data from a string.
|
void | Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0) |
| Read configuration data from TokenReader with label sepcified.
|
| TAttrMap (TBaseSet< Transition, TransSort::X1EvX2 > *pBaseSetRef) |
| Constructor.
|
virtual | ~TAttrMap (void) |
| Virtual destructor.
|
void | AssignWithAttributes (const TBaseSet< Transition, TransSort::X1EvX2 > &rSourceSet) |
| Copy from a TBaseSet to the associated TBaseSet, with attributes, provided that they can be casted accordingly.
|
TBaseSet< Transition,
TransSort::X1EvX2 >::Iterator | Erase (const typename TBaseSet< Transition, TransSort::X1EvX2 >::Iterator &pos) |
| Erase element by iterator (incl attribute)
|
Protected Member Functions |
void | DoAssign (const TaTransSet &rSource) |
| Assign my members.
|
void | DoAssign (const TTransSet &rSource) |
| Assign my members.
|
virtual void | DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
| Write to TokenWriter, see Type::Write for public wrappers.
|
virtual const std::string & | XElementTag (void) const |
| Get name of elements (used for XML IO)
|
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 | DoSWrite (TokenWriter &rTw) const |
| Token output, see Type::SWrite for public wrappers.
|
virtual void | DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0) |
| Token input, see Type::Read for public wrappers.
|
void | DoAssign (const TBaseSet &rSourceSet) |
| assign my members
|
bool | DoEqual (const TBaseSet &rOtherSet) const |
| test equality
|
void | DoAttribute (const Transition &rElem, const Type *pAttr) |
| set attribute in map (assume elem exists in set, NULL <=> set to default)
|
const AttributeVoid * | DoAttribute (const Transition &rElem) const |
| get attribute from map (return null if elem does not exist in map)
|
AttributeVoid * | DoAttributeExplicit (const Transition &rElem) |
| get attribute from map (insert explicit default if elem does not exist in map)
|
TBaseSet< Transition, Cmp >
::Iterator | ThisIterator (const typename std::set< Transition, Cmp >::const_iterator &sit) const |
| Convert STL iterator to API iterator.
|
void | RelinkClients (void) |
| Ensure that we do not host contents to anyone else.
|
void | AttachClient (TBaseSet *pRef) const |
| Record that we provide contents to some other BaseSet.
|
void | DetachClient (TBaseSet *pRef) const |
| Record that we stop providing data for 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.
|
virtual const TypeDefinition * | TypeDefinitionp (void) const |
| Reimplment from type to use chache.
|
void | DoAssign (const Type &rSrc) |
| Assign configuration data from other object.
|
bool | DoEqual (const Type &rOther) const |
| Test equality of configuration data.
|
virtual void | DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data of this object to TokenWriter in XML format.
|
virtual Token | XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const |
Additional Inherited Members |
typedef TBaseSet< Transition,
Cmp >::Iterator | Iterator |
| Iterator on transition.
|
typedef std::set< Transition,
Cmp >::iterator | iterator |
| STL iterator, non-const version.
|
typedef std::set< Transition,
Cmp >::const_iterator | const_iterator |
| STL iterator, const version.
|
typedef std::map< Transition,
AttributeVoid * >::iterator | aiterator |
| STL attribute iterator, non-const version.
|
typedef std::map< Transition,
AttributeVoid * >
::const_iterator | const_aiterator |
| STL attribute iterator, const version.
|
typedef TBaseSet< Transition,
TransSort::X1EvX2 >::iterator | iterator |
| use TBaseSet STL iterators
|
typedef TBaseSet< Transition,
TransSort::X1EvX2 >
::const_iterator | const_iterator |
| use TBaseSet STL iterators
|
typedef TBaseSet< Transition,
TransSort::X1EvX2 >::aiterator | aiterator |
| use TBaseSet STL iterators
|
typedef TBaseSet< Transition,
TransSort::X1EvX2 >
::const_aiterator | const_aiterator |
| use TBaseSet STL iterators
|
std::string | mMyName |
| Name of this BaseSet.
|
std::set< Transition, Cmp > * | pSet |
| Pointer on STL set to operate on.
|
std::set< Transition, Cmp > * | mpSet |
| STL set, if this object hosts data (else NULL)
|
std::map< Transition,
AttributeVoid * > * | pAttributes |
| Pointer to attribute map to operate on.
|
std::map< Transition,
AttributeVoid * > * | mpAttributes |
| Attribute map, if this object hosts data (else NULL).
|
TBaseSet< Transition, Cmp > * | pHostSet |
| Pointer on BaseSet that hosts our data (THIS if we host)
|
std::list< TBaseSet
< Transition, Cmp >
* >::iterator | mClientRecord |
| Iterator to the client list that hosts our data (maintained by host)
|
std::list< TBaseSet
< Transition, Cmp > * > * | mpClients |
| BaseSets, that use data hosted by us (NULL if we dont host data, emptyset if we host to ourself excl.)
|
bool | mDetached |
| Indicate "hosts data to myself only".
|
bool | mLocked |
| Indicate "dont re-allocate the STL set ever again".
|
std::set< Iterator * > | mIterators |
| Iterators that refer to this TBaseSet.
|
TBaseSet< Transition,
TransSort::X1EvX2 > * | pBaseSet |
| reference to associated TBaseSet
|
static std::set< Transition, Cmp > | msEmptySet |
| static empty STL set for default constructor
|
static std::map< Transition,
AttributeVoid * > | msEmptyAttributes |
| static empty STL map for default constructor
|
template<class Attr>
class faudes::TaTransSet< Attr >
Set of Transitions with attributes.
This container class is derived from TTransSet to provide attributes as an additional feature. The template parameter specifies the attribute class, which in turn must provide some basic funtionality. In contrast to the TTransSet, the TaTransSet is restricted to standard ordering.
Note that it is the context of a Generator that actually allows to interpret a TaTransSet as a set of transitions as opposed to a set of triples of indices with attributes. In particular, file IO of transitions is provided by the generator class (although TaTransSet provides output functions for debugging)
Definition at line 955 of file cfl_transset.h.