faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > Class Template Reference

Detailed Description

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
class faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >

Generator with specified attribute types.

Overview

The TaGenerator takes four template parameters to specify attribute classes for the global attribute and state-, event- and transition-attributes.

In the context of a TaGenerator, attributes still have only minimal sematics: they can be accessed in a per event, state and transition manner and they can have default or non-default value. The minimum interface that an attribute template parameter must provide, is given in faudes::AttributeVoid. Derived attribute classes are meant to provide addtional semantics, eg faudes::AttributeFlags for boolean flags and faudes::AttributeCFlags for controllability properties. The TaGenerator transparently supports extended attribute semantics, but does not provide taylored access functions. This is done in TaGenerator derivates eg TcGenerator.

Technical detail: Attributes data types must be derived from AttributeVoid, which in turn is derived from the general purpose base faudes::Type. For your derived attribute class to be fully functional, you must reimplement the faudes::Type::New().

Definition at line 70 of file cfl_agenerator.h.

#include <cfl_agenerator.h>

Public Types

typedef TaTransSet< TransAttr > ATransSet
 Convenience typdef for member transiton set. More...
 

Public Member Functions

Constructors & Destructor
 TaGenerator (void)
 Construct an emtpy Generator. More...
 
 TaGenerator (const TaGenerator &rOtherGen)
 Copy-constructor (from TaGenerator, incl attributes) More...
 
 TaGenerator (const vGenerator &rOtherGen)
 Copy-constructor (from vGenerator, set attributes to default) More...
 
 TaGenerator (const std::string &rFileName)
 Construct from file. More...
 
virtual TaGeneratorNew (void) const
 Construct on heap. More...
 
virtual TaGeneratorCopy (void) const
 Construct copy on heap. More...
 
virtual TaGenerator NewAGen (void) const
 Construct on stack. More...
 
virtual const TypeCast (const Type *pOther) const
 Type test. More...
 
virtual ~TaGenerator (void)
 Destructor. More...
 
Copy and Assignment
virtual TaGeneratorAssign (const Type &rSrc)
 Copy from other faudes Type (try to cast to agenerator or pass to base) More...
 
virtual TaGeneratoroperator= (const TaGenerator &rOtherGen)
 Assignment operator (uses Assign(Generator&) ) More...
 
virtual void Move (TaGenerator &rGen)
 Destructive copy to other TaGenerator Copy method with increased performance at the cost of invalidating the source data. More...
 
virtual void Move (Generator &rGen)
 Destructive copy to other Generator. More...
 
Basic Maintenance
bool Valid (void) const
 Check if generator is valid. More...
 
virtual void Clear (void)
 Clear generator data. More...
 
Read Access to Core Members
const TaEventSet< EventAttr > & Alphabet (void) const
 Return const reference to alphabet. More...
 
const TaStateSet< StateAttr > & States (void) const
 Return reference to state set. More...
 
const ATransSetTransRel (void) const
 Return reference to transition relation. More...
 
void TransRel (TransSetX1EvX2 &res) const
 Get copy of trantision relation sorted by other compare operator, e.g. More...
 
void TransRel (TransSetEvX1X2 &res) const
 
void TransRel (TransSetEvX2X1 &res) const
 
void TransRel (TransSetX2EvX1 &res) const
 
void TransRel (TransSetX2X1Ev &res) const
 
void TransRel (TransSetX1X2Ev &res) const
 
Write Access to Core Members
bool InsEvent (Idx index)
 Add an existing event to alphabet by index. More...
 
Idx InsEvent (const std::string &rName)
 Add named event to generator. More...
 
bool InsEvent (Idx index, const EventAttr &rAttr)
 Add an existing event to alphabet by index, incl. More...
 
Idx InsEvent (const std::string &rName, const EventAttr &rAttr)
 Add named event with attribute to generator. More...
 
void InjectAlphabet (const EventSet &rNewalphabet)
 Set mpAlphabet without consistency check. More...
 
void InjectAlphabet (const TaEventSet< EventAttr > &rNewalphabet)
 Set mpAlphabet without consistency check. More...
 
Idx InsState (void)
 Add new anonymous state to generator. More...
 
Idx InsState (const StateAttr &attr)
 Add new anonymous state with attribute to generator. More...
 
bool InsState (Idx index)
 Add (perhaps new) state to generator. More...
 
Idx InsState (const std::string &rName)
 Add new named state to generator. More...
 
Idx InsState (const std::string &rName, const StateAttr &attr)
 Add new named state with attribute to generator. More...
 
bool InsState (Idx index, const StateAttr &attr)
 Add (perhaps new) state with attribute to generator. More...
 
void InjectStates (const StateSet &rNewStates)
 Inject a complete state set without consistency checks. More...
 
void InjectStates (const TaStateSet< StateAttr > &rNewStates)
 Inject a complete state set without consistency checks. More...
 
bool SetTransition (Idx x1, Idx ev, Idx x2)
 Add a transition to generator by indices. More...
 
bool SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2)
 Add a transition to generator by names. More...
 
bool SetTransition (const Transition &rTransition)
 Add a transition to generator. More...
 
bool SetTransition (const Transition &rTransition, const TransAttr &rAttr)
 Add a transition with attribute to generator. More...
 
void InjectTransRel (const TransSet &rNewtransrel)
 Set transition relation without consistency check. More...
 
void InjectTransRel (const ATransSet &rNewtransrel)
 Set transition relation without consistency check. More...
 
Attributes
void EventAttribute (Idx index, const EventAttr &rAttr)
 Set attribute for existing event. More...
 
void EventAttribute (Idx index, const Type &rAttr)
 Set attribute for existing event. More...
 
const EventAttr & EventAttribute (Idx index) const
 Event attribute lookup. More...
 
const EventAttr & EventAttribute (const std::string &rName) const
 Event attribute lookup. More...
 
EventAttr * EventAttributep (Idx index)
 Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute. More...
 
EventAttr * EventAttributep (const std::string &rName)
 Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute. More...
 
void StateAttribute (Idx index, const StateAttr &rAttr)
 Set attribute for existing state. More...
 
void StateAttribute (Idx index, const Type &rAttr)
 Set attribute for existing state. More...
 
const StateAttr & StateAttribute (Idx index) const
 State attribute lookup. More...
 
StateAttr * StateAttributep (Idx index)
 State attribute pointer (to access Attribute methods) note: may insert explicit default attribute. More...
 
void TransAttribute (const Transition &rTrans, const TransAttr &rAttr)
 Set attribute for existing transition. More...
 
void TransAttribute (const Transition &rTrans, const Type &rAttr)
 Set attribute for existing transition. More...
 
const TransAttr & TransAttribute (const Transition &rTrans) const
 Get attribute for existing transition. More...
 
TransAttr * TransAttributep (const Transition &rTrans)
 Get attribute pointer for existing transition note: may insert explicit default attribute. More...
 
void GlobalAttribute (const GlobalAttr &rAttr)
 Set global attribute. More...
 
void GlobalAttribute (const Type &rAttr)
 Set global attribute. More...
 
const GlobalAttr & GlobalAttribute (void) const
 Get global attribute ref. More...
 
GlobalAttr * GlobalAttributep (void)
 Get global attribute pointer. More...
 
- Public Member Functions inherited from faudes::vGenerator
 vGenerator (void)
 Default constructor. More...
 
 vGenerator (const vGenerator &rOtherGen)
 Copy-constructror. More...
 
 vGenerator (const std::string &rFileName)
 Construct from file. More...
 
virtual ~vGenerator (void)
 Destructor. More...
 
virtual vGeneratorAssignWithoutAttributes (const vGenerator &rGen)
 Copy from other vGenerator, ignore attributes. More...
 
virtual vGeneratoroperator= (const vGenerator &rOtherGen)
 Assignment operator (uses Assign method) More...
 
virtual void Version (const std::string &rVersion, vGenerator &rResGen) const
 Create another version of this generator. More...
 
virtual void Version (Idx version, vGenerator &rResGen) const
 Create another version of this generator. More...
 
virtual void Version (const std::string &rPattern, const std::string &rReplacement, vGenerator &rResGen) const
 Create another version of this generator. More...
 
void Name (const std::string &rName)
 Set the generator's name. More...
 
const std::string & Name (void) const
 Get generator's name. More...
 
void ClearStates (void)
 Clear all states and transitions, maintain alphabet. More...
 
Idx AlphabetSize (void) const
 Get number of events in alphabet. More...
 
Idx Size (void) const
 Get generator size (number of states) More...
 
Idx TransRelSize (void) const
 Get number of transitions. More...
 
Idx InitStatesSize (void) const
 Get number of initial states. More...
 
Idx MarkedStatesSize (void) const
 Get number of marked states. More...
 
bool Empty (void) const
 Check if generator is empty (no states) More...
 
bool AlphabetEmpty (void) const
 Check if alphabet is Empty. More...
 
bool TransRelEmpty (void) const
 Check if transition relation is empty. More...
 
bool InitStatesEmpty (void) const
 Check if set of initial states are empty. More...
 
bool MarkedStatesEmpty (void) const
 Check if set of marked states are empty. More...
 
SymbolTableEventSymbolTablep (void) const
 Get Pointer to EventSymbolTable currently used by this vGenerator. More...
 
virtual void EventSymbolTablep (SymbolTable *pSymTab)
 Set EventSymbolTable to be used by this vGenerator. More...
 
virtual void EventSymbolTablep (const vGenerator &rOtherGen)
 Set EventSymbolTable as given by rOtherGen. More...
 
EventSet NewEventSet (void) const
 Create EventSet with generator's EventSymbolTable (on stack). More...
 
EventSetNewEventSetp (void) const
 Create EventSet with generator's EventSymbolTable (on heap). More...
 
Idx EventIndex (const std::string &rName) const
 Event index lookup. More...
 
std::string EventName (Idx index) const
 Event name lookup. More...
 
void EventName (Idx index, const std::string &rName)
 Set name for existing event. More...
 
std::string UniqueEventName (const std::string &rName) const
 Create a new unique symbolic event name. More...
 
bool EventRename (Idx event, const std::string &rNewName)
 Rename event in this generator. More...
 
bool EventRename (const std::string &rOldName, const std::string &rNewName)
 Rename event in this generator. More...
 
const SymbolTableStateSymbolTable (void) const
 Get StateSymbolTable. More...
 
void StateSymbolTable (const SymbolTable &rSymTab)
 Set StateSymbolTable. More...
 
Idx StateIndex (const std::string &rName) const
 State index lookup. More...
 
std::string StateName (Idx index) const
 State name lookup. More...
 
void StateName (Idx index, const std::string &rName)
 Set name of state. More...
 
void ClearStateNames (void)
 Remove all names from generator's StateSymbolTable. More...
 
void ClrStateName (Idx index)
 Clear name for individual state. More...
 
void ClrStateName (const std::string &rName)
 Clear name for individual state. More...
 
bool StateNamesEnabled (void) const
 Whether libFAUEDS functions are requested to generate state names. More...
 
void StateNamesEnabled (bool flag)
 Enable/disable libFAUEDS functions to automatically generate state names. More...
 
void SetDefaultStateNames (void)
 Assign each state a default name based on its index. More...
 
void EnforceStateNames (const std::string &rTemplate)
 For all states without a symbolic name, assign a name based on suggested template and the index. More...
 
std::string UniqueStateName (const std::string &rName) const
 Create a new unique symbolic state name. More...
 
EventSet::Iterator AlphabetBegin (void) const
 Iterator to Begin() of alphabet. More...
 
EventSet::Iterator AlphabetEnd (void) const
 Iterator to End() of alphabet. More...
 
bool ExistsEvent (Idx index) const
 Test existence of event in alphabet. More...
 
bool ExistsEvent (const std::string &rName) const
 Test existence of event in alphabet. More...
 
EventSet::Iterator FindEvent (Idx index) const
 Returns a iterator to event index in alphabet. More...
 
EventSet::Iterator FindEvent (const std::string &rName) const
 Returns a iterator to event index in alphabet. More...
 
const EventSetAlphabet (void) const
 Return const reference to alphabet. More...
 
StateSet::Iterator StatesBegin (void) const
 Iterator to Begin() of state set. More...
 
StateSet::Iterator StatesEnd (void) const
 Iterator to End() of state set. More...
 
bool ExistsState (Idx index) const
 Test existence of state in state set. More...
 
bool ExistsState (const std::string &name) const
 Test existence of state in state set. More...
 
StateSet::Iterator FindState (Idx index) const
 Returns a iterator to state index in state set. More...
 
StateSet::Iterator FindState (const std::string &rName) const
 Returns a iterator to state with specified name. More...
 
const StateSetStates (void) const
 Return reference to state set. More...
 
Idx InitState (void) const
 Return initial state. More...
 
StateSet::Iterator InitStatesBegin (void) const
 Iterator to Begin() of mInitStates. More...
 
StateSet::Iterator InitStatesEnd (void) const
 Iterator to End() of mInitStates. More...
 
bool ExistsInitState (Idx index) const
 Test existence of state in mInitStates. More...
 
StateSet::Iterator FindInitState (Idx index) const
 Iterator to state index in mInitStates. More...
 
const StateSetInitStates (void) const
 Const ref to initial states. More...
 
StateSet::Iterator MarkedStatesBegin (void) const
 Iterator to Begin() of mMarkedStates. More...
 
StateSet::Iterator MarkedStatesEnd (void) const
 Iterator to End() of mMarkedStates. More...
 
bool ExistsMarkedState (Idx index) const
 Test existence of state in mMarkedStates. More...
 
StateSet::Iterator FindMarkedState (Idx index) const
 Returns a iterator to state index in mMarkedStates. More...
 
const StateSetMarkedStates (void) const
 Return const ref of marked states. More...
 
TransSet::Iterator TransRelBegin (void) const
 Iterator to Begin() of transition relation. More...
 
TransSet::Iterator TransRelEnd (void) const
 Iterator to End() of transition relation. More...
 
TransSet::Iterator TransRelBegin (Idx x1) const
 Iterator to begin of transitions with x1 as predecessor state. More...
 
TransSet::Iterator TransRelEnd (Idx x1) const
 iterator to end of transitions with x1 as predecessor state. More...
 
TransSet::Iterator TransRelBegin (Idx x1, Idx ev) const
 iterator to begin of transitions with x1 as predecessor state and event ev. More...
 
TransSet::Iterator TransRelEnd (Idx x1, Idx ev) const
 Iterator to end of transitions with x1 as predecessor state and event ev. More...
 
TransSet::Iterator FindTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2) const
 iterator to transition given by x1, ev, x2 More...
 
TransSet::Iterator FindTransition (Idx x1, Idx ev, Idx x2) const
 Iterator to transition given by x1, ev, x2. More...
 
TransSet::Iterator FindTransition (const Transition &rTrans) const
 Iterator to transition. More...
 
bool ExistsTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2) const
 Test for transition given by x1, ev, x2. More...
 
bool ExistsTransition (Idx x1, Idx ev, Idx x2) const
 Test for transition given by x1, ev, x2. More...
 
bool ExistsTransition (const Transition &rTrans) const
 test for transition More...
 
bool ExistsTransition (Idx x1, Idx ev) const
 Test for transition given by x1, ev. More...
 
bool ExistsTransition (Idx x1) const
 Test for transition given by x1. More...
 
const TransSetTransRel (void) const
 Return reference to transition relation. More...
 
void TransRel (TransSetX1EvX2 &res) const
 Get copy of trantision relation sorted by other compare operator, e.g. More...
 
void TransRel (TransSetEvX1X2 &res) const
 
void TransRel (TransSetEvX2X1 &res) const
 
void TransRel (TransSetX2EvX1 &res) const
 
void TransRel (TransSetX2X1Ev &res) const
 
void TransRel (TransSetX1X2Ev &res) const
 
Transition TransitionByNames (const std::string &rX1, const std::string &rEv, const std::string &rX2) const
 Convebience function. More...
 
bool InsEvent (Idx index)
 Add an existing event to alphabet by index. More...
 
Idx InsEvent (const std::string &rName)
 Add named event to generator. More...
 
void InsEvents (const EventSet &events)
 Add new named events to generator. More...
 
bool DelEvent (Idx index)
 Delete event from generator by index. More...
 
bool DelEvent (const std::string &rName)
 Delete event from generator by name. More...
 
void DelEvents (const EventSet &rEvents)
 Delete a set of events from generator. More...
 
bool DelEventFromAlphabet (Idx index)
 Delete event from alphabet without consistency check. More...
 
void InjectAlphabet (const EventSet &rNewalphabet)
 Set mpAlphabet without consistency check. More...
 
void RestrictAlphabet (const EventSet &rNewalphabet)
 Restricts mpAlphabet incl removing resp. More...
 
Idx InsState (void)
 Add new anonymous state to generator. More...
 
bool InsState (Idx index)
 Add (perhaps new) state to generator. More...
 
Idx InsState (const std::string &rName)
 Add new named state to generator. More...
 
void InsStates (const StateSet &rStates)
 Add anonymous states to generator. More...
 
bool DelState (Idx index)
 Delete a state from generator by index. More...
 
bool DelState (const std::string &rName)
 Delete a state from generator by name. More...
 
void DelStates (const StateSet &rDelStates)
 Delete a set of states Cleans mpStates, mInitStates, mMarkedStates, mpTransrel, and mpStateSymboltable. More...
 
bool DelStateFromStates (Idx index)
 Delete a state from generator without consistency check. More...
 
StateSet::Iterator DelStateFromStates (StateSet::Iterator pos)
 Delete a state from generator without consistency check. More...
 
void RestrictStates (const StateSet &rStates)
 Restrict states Cleans mpStates, mInitStates, mMarkedStates, mpTransrel, and mpStateSymboltable. More...
 
void InjectState (Idx index)
 Inject an existing state index into generators mStates Use with care! For use in performance optimized functions. More...
 
void InjectStates (const StateSet &rNewStates)
 Inject a complete state set without consistency checks (without attributes) More...
 
Idx InsInitState (void)
 Create new anonymous state and set as initial state. More...
 
bool InsInitState (Idx index)
 Add (perhaps new) state to generator and turn it into a initial state. More...
 
Idx InsInitState (const std::string &rName)
 Create a new named state and set as initial state. More...
 
void InsInitStates (const StateSet &rStates)
 Add (perhaps new) anonymous initial states to generator
More...
 
Idx InsMarkedState (void)
 Create new anonymous state and set as marked state. More...
 
bool InsMarkedState (Idx index)
 Add (perhaps new) state to generator and turn it into a marked state. More...
 
Idx InsMarkedState (const std::string &rName)
 Create a new named state and set as marked state. More...
 
void InsMarkedStates (const StateSet &rStates)
 Add (perhaps new) anonymous initial states to generator
More...
 
void SetInitState (Idx index)
 Set an existing state as initial state by index. More...
 
void SetInitState (const std::string &rName)
 Set an existing state as initial state by name. More...
 
void InjectInitStates (const StateSet &rNewInitStates)
 Replace mInitStates with StateSet given as parameter without consistency checks. More...
 
void ClrInitState (Idx index)
 Unset an existing state as initial state by index. More...
 
void ClrInitState (const std::string &rName)
 Unset an existing state as initial state by name. More...
 
StateSet::Iterator ClrInitState (StateSet::Iterator pos)
 Unset an existing state as initial state by iterator. More...
 
void ClearInitStates (void)
 Clear all mInitStates. More...
 
void SetMarkedState (Idx index)
 Set an existing state as marked state by index. More...
 
void SetMarkedState (const std::string &rName)
 Set an existing state as marked state by name. More...
 
void ClrMarkedState (Idx index)
 Unset an existing state as marked state by index. More...
 
void ClrMarkedState (const std::string &rName)
 Unset an existing state as marked state by name. More...
 
StateSet::Iterator ClrMarkedState (StateSet::Iterator pos)
 Unset an existing state as marked state by iterator. More...
 
void ClearMarkedStates (void)
 Clear all marked states. More...
 
void InjectMarkedStates (const StateSet &rNewMarkedStates)
 Replace mMarkedStates with StateSet given as parameter without consistency checks. More...
 
bool SetTransition (Idx x1, Idx ev, Idx x2)
 Add a transition to generator by indices. More...
 
bool SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2)
 Add a transition to generator by names. More...
 
bool SetTransition (const Transition &rTransition)
 Add a transition to generator. More...
 
void ClrTransition (Idx x1, Idx ev, Idx x2)
 Remove a transition by indices. More...
 
void ClrTransition (const Transition &rTrans)
 Remove a transition by transition object. More...
 
TransSet::Iterator ClrTransition (TransSet::Iterator it)
 Remove a transition by iterator. More...
 
void ClrTransitions (Idx x1, Idx ev)
 Remove a transitions by state and event. More...
 
void ClrTransitions (Idx x1)
 Remove a transitions by state. More...
 
void ClearTransRel (void)
 Clear all transitions. More...
 
void InjectTransition (const Transition &rTrans)
 Set transition without consistency check. More...
 
void InjectTransRel (const TransSet &rNewtransrel)
 Set transition relation without consistency check (no attributes) More...
 
virtual void ClearAttributes (void)
 Clear Attributes. More...
 
virtual bool UpdateAttributes (void)
 Updates internal attributes. More...
 
virtual void ClearEventAttributes (void)
 Clear event attributes. More...
 
virtual void ClrEventAttribute (Idx index)
 Clear attribute for existing event. More...
 
virtual void EventAttributes (const EventSet &rEventSet)
 Set attributes for existing events. More...
 
virtual void ClearStateAttributes (void)
 Clear state attributes. More...
 
virtual void ClrStateAttribute (Idx index)
 Clear attribute for existing state. More...
 
virtual void ClearTransAttributes (void)
 Clear transition attributes. More...
 
virtual void ClrTransAttribute (const Transition &rTrans)
 Clear attribute for existing transition. More...
 
virtual void ClearGlobalAttribute (void)
 Clear global attribute. More...
 
virtual void GlobalAttributeTry (const Type &rAttr)
 Set global attribute. More...
 
StateSet AccessibleSet (void) const
 Compute set of accessible states. More...
 
bool Accessible (void)
 Make generator accessible. More...
 
bool IsAccessible (void) const
 Check if generator is accessible. More...
 
StateSet CoaccessibleSet (void) const
 Compute set of Coaccessible states. More...
 
bool Coaccessible (void)
 Make generator Coaccessible. More...
 
bool IsCoaccessible (void) const
 Check if generator is Coaccessible. More...
 
StateSet BlockingStates (void) const
 Compute set of blocking states. More...
 
StateSet TerminalStates (void) const
 Compute set of terminal states. More...
 
StateSet TerminalStates (const StateSet &rStates) const
 Compute set of terminal states. More...
 
bool IsComplete (void) const
 Check if generator is complete. More...
 
bool IsComplete (const StateSet &rStates) const
 Check if generator is complete. More...
 
bool IsComplete (const EventSet &rSigmaO) const
 Check if generator is complete w.r.t. More...
 
bool Complete (void)
 Make generator Complete. More...
 
bool Complete (const EventSet &rSigmaO)
 Make generator Complete w.r.t. More...
 
StateSet TrimSet (void) const
 Compute set of trim states. More...
 
bool Trim (void)
 Make generator trim. More...
 
bool IsTrim (void) const
 Check if generator is trim. More...
 
bool OmegaTrim (void)
 Make generator omega-trim. More...
 
bool IsOmegaTrim (void) const
 Check if generator is omega-trim. More...
 
EventSet UsedEvents (void) const
 Return used events (executed in transitions) More...
 
EventSet UnusedEvents (void) const
 Return unused events. More...
 
void MinimizeAlphabet (void)
 Set the alphabet to used events. More...
 
EventSet ActiveEventSet (Idx x1) const
 Return active event set at state x1. More...
 
TransSet ActiveTransSet (Idx x1) const
 Return active transition set at state x1. More...
 
StateSet TransRelStates (void) const
 Return the states covered by transitions. More...
 
Idx SuccessorState (Idx x1, Idx ev) const
 Return the successor state of state x1 with event ev. More...
 
StateSet SuccessorStates (Idx x1) const
 Return the successor states of state x1. More...
 
StateSet SuccessorStates (Idx x1, Idx ev) const
 Return the successor states of state x1 with event ev. More...
 
bool IsDeterministic (void) const
 Check if generator is deterministic. More...
 
void SetMinStateIndexMap (void) const
 Set minimal index map for file io of generator states. More...
 
void ClearMinStateIndexMap (void) const
 Clear minimal index map for 1:1 file io. More...
 
Idx MinStateIndex (Idx index) const
 Get state index as is it will be written to file. More...
 
void MinStateIndex (void)
 Re-enumerate states. More...
 
Idx MaxStateIndex (void) const
 Get maximum state index used in this generator. More...
 
const std::map< Idx, Idx > & MinStateIndexMap (void) const
 Get state index translation map. More...
 
std::string EStr (Idx index) const
 Pretty printable event name for index (eg for debugging). More...
 
std::string SStr (Idx index) const
 Return pretty printable state name for index (eg for debugging) More...
 
std::string TStr (const Transition &rTrans) const
 Return pretty printable transition (eg for debugging) More...
 
void GraphWrite (const std::string &rFileName, const std::string &rOutFormat="", const std::string &rDotExec="dot") const
 Produce graphical representation of this generator. More...
 
bool operator< (const vGenerator &rOtherGen) const
 Order for sorting containers of generators. More...
 
void WriteAlphabet (void) const
 Write generators alphabet to console. More...
 
std::string AlphabetToString (void) const
 Write generators alphabet to string. More...
 
void WriteAlphabet (TokenWriter &rTw) const
 Write generators alphabet to tokenwriter. More...
 
void WriteStateSet (const StateSet &rStateSet) const
 Write a stateset to console (no re-indexing). More...
 
std::string StateSetToString (const StateSet &rStateSet) const
 Write a stateset to string (no re-indexing). More...
 
std::string StateSetToText (const StateSet &rStateSet) const
 Write a stateset to formated text (no re-indexing). More...
 
void WriteStateSet (TokenWriter &rTw, const StateSet &rStateSet) const
 Write a stateset to TokenWriter. More...
 
void DWriteStateSet (TokenWriter &rTw, const StateSet &rStateSet) const
 Write a stateset to TokenWriter (debug version, no re-indexing) More...
 
std::string StatesToString (void) const
 Write stateset of this generator to a string (no re-indexing) More...
 
std::string StatesToText (void) const
 Write stateset of this generator to formated text (no re-indexing) More...
 
std::string MarkedStatesToString (void) const
 Write set of marked states to a string (no re-indexing) More...
 
std::string InitStatesToString (void) const
 Write set of initial states to a string (no re-indexing) More...
 
void WriteTransRel (void) const
 Write transition relation to console (no re-indexing) More...
 
std::string TransRelToString (void) const
 Write transition relation to string (no re-indexing) More...
 
std::string TransRelToText (void) const
 Write transition relation to formated text (no re-indexing) More...
 
void WriteTransRel (TokenWriter &rTw) const
 Write transition relation to tokenwriter. More...
 
void DWriteTransRel (TokenWriter &rTw) const
 Write transition relation to tokenwriter (debug version) More...
 
virtual void DotWrite (const std::string &rFileName) const
 Writes generator to dot input format. More...
 
virtual void DDotWrite (const std::string &rFileName) const
 Writes generator to dot input format (no re-indexing). More...
 
virtual void XDotWrite (const std::string &rFileName) const
 Writes generator to dot input format for export to VioLib. More...
 
void ReadStateSet (TokenReader &rTr, const std::string &rLabel, StateSet &rStateSet) const
 Read a state set. More...
 
bool ReindexOnWrite (void) const
 Test whether file-i/o uses minimal state indicees. More...
 
void ReindexOnWrite (bool flag)
 Enable/disable minimal state indicees for file-i/o. 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 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...
 
virtual const std::string & TypeName (void) const
 Get objects's type name. 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...
 

Protected Member Functions

virtual void NewCore (void)
 Allocate my heap members (attribute dependent types) More...
 
virtual void UpdateCore (void)
 Update my secondary pointers for new core. More...
 
void DoAssign (const TaGenerator &rGen)
 Assignment. More...
 
- Protected Member Functions inherited from faudes::vGenerator
virtual void DeleteCore (void)
 Free my heap members (attribute dependent types) More...
 
void ConfigureAttributeTypes (const AttributeVoid *pNewGlobalPrototype, const StateSet *pNewStatesPrototype, const EventSet *pNewAlphabetPrototype, const TransSet *pNewTransRelPrototype)
 Configure attribute types. More...
 
void DoAssign (const vGenerator &rSrc)
 Assignment for matching type. More...
 
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read generator object from TokenReader, see Type::Read for public wrappers. More...
 
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write generator to TokenWriter, see Type::Write for public wrappers. More...
 
virtual void DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write generator in debugging format to TokenWriter, see Type::DWrite for public wrappers. More...
 
virtual void DoSWrite (TokenWriter &rTw) const
 Write generator statistics as comment to TokenWriter, see Type::SWrite for public wrappers. More...
 
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write generator to TokenWriter, see Type::XWrite for public wrappers. More...
 
void ReadAlphabet (TokenReader &rTr)
 Read the generator's alphabet from a TokenReader. More...
 
void WriteStates (TokenWriter &rTw) const
 Write generators stateset to TokenWriter. More...
 
void ReadStates (TokenReader &rTr)
 Read the generator's stateset from a TokenReader. More...
 
void XReadStateSet (TokenReader &rTr, StateSet &rStateSet, const std::string &rLabel="") const
 Read a stateset from TokenReader in XML format. More...
 
void ReadTransRel (const std::string &rFileName)
 Read the generator's transition relation from a file. More...
 
void ReadTransRel (TokenReader &rTr)
 Read the generator's transition relation from a TokenReader. More...
 
void XReadTransRel (TokenReader &rTr)
 Read the generator's transition relation from a TokenReader. More...
 
void XWriteStateSet (TokenWriter &rTw, const StateSet &rStateSet, const std::string &rLabel="") const
 Write a stateset to TokenWriter in XML format. More...
 
void XWriteTransRel (TokenWriter &rTw) const
 Write transition relation to tokenwriter in XML format. 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 const TypeDefinitionTypeDefinitionp (void) const
 Get objects's type definition. More...
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Static Protected Member Functions

static const TaNameSet< EventAttr > & AlphabetTaGen (void)
 Static default alphabet prototype (incl. More...
 
static const TaIndexSet< StateAttr > & StatesTaGen (void)
 Static default state set prototype (incl. More...
 
static const ATransSetTransRelTaGen (void)
 Static default transition relation prototype (incl. More...
 
static const GlobalAttr & GlobalTaGen (void)
 Static default global attribute prototype (configures global attribute type) More...
 
- Static Protected Member Functions inherited from faudes::vGenerator
static const EventSetAlphabetVoid (void)
 Static default alphabet prototype (incl. More...
 
static const StateSetStatesVoid (void)
 Static default state set prototype (incl. More...
 
static const TransSetTransRelVoid (void)
 Static default transition relation prototype (incl. More...
 
static const AttributeVoidGlobalVoid (void)
 Static default global attribute prototype (configures global attribute type) More...
 

Protected Attributes

TaNameSet< EventAttr > * pAlphabet
 Alphabet, pointer with actual attribute type. More...
 
TaIndexSet< StateAttr > * pStates
 State set, pointer with actual attribute type. More...
 
ATransSetpTransRel
 Transition relation, pointer with actual attribute type. More...
 
GlobalAttr * pGlobalAttribute
 Global attribute, pointer with actual attribute type. More...
 
- Protected Attributes inherited from faudes::vGenerator
std::string mMyName
 Name of generator. More...
 
Idx mId
 Number of generator. More...
 
SymbolTable mStateSymbolTable
 State symbol table (local per Generator) More...
 
SymbolTablempStateSymbolTable
 Pointer to State symbol table. More...
 
SymbolTablempEventSymbolTable
 Pointer to Event symbol table. More...
 
bool mStateNamesEnabled
 Automatic state names. More...
 
bool mReindexOnWrite
 Reindex states on file-i/o. More...
 
EventSetmpAlphabet
 Pointer to alphabet (actual type depends on attributes) More...
 
StateSetmpStates
 Pointer to state set (actual type depends on attributes) More...
 
TransSetmpTransRel
 Pointer to ransition relation (actual type depends on attributes) More...
 
AttributeVoidmpGlobalAttribute
 Pointer to lobal attribute (actual type depends on attributes) More...
 
const EventSetpAlphabetPrototype
 Pointer to alphabet prototype (incl. More...
 
const StateSetpStatesPrototype
 Pointer to state set prototype (incl. More...
 
const TransSetpTransRelPrototype
 Pointer to transition relation prototype (incl. More...
 
const AttributeVoidpGlobalPrototype
 Pointer to global attribute prototype (configures global attribute type) More...
 
StateSet mInitStates
 Initial states. More...
 
StateSet mMarkedStates
 Marked states. More...
 
std::map< Idx, IdxmMinStateIndexMap
 Map State indices to consecutive indices. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from faudes::vGenerator
static SymbolTableGlobalEventSymbolTablep (void)
 Get Pointer to global EventSymbolTable. More...
 
static void StateNamesEnabledDefault (bool flag)
 Sets the default for automatic state name generation. More...
 
static void ReindexOnWriteDefault (bool flag)
 Enable/disable reindexing states for file-i/o. More...
 
static bool ReindexOnWriteDefault (void)
 Enable/disable reindexing states for file-i/o. More...
 
- Static Protected Attributes inherited from faudes::vGenerator
static Idx msObjectCount = 0
 Number of generator objects. More...
 
static bool msStateNamesEnabledDefault = true
 Default for automatic statenames. More...
 
static bool msReindexOnWriteDefault = false
 Default for automatic statenames. More...
 

Member Typedef Documentation

◆ ATransSet

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
typedef TaTransSet<TransAttr> faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ATransSet

Convenience typdef for member transiton set.

Definition at line 74 of file cfl_agenerator.h.

Constructor & Destructor Documentation

◆ TaGenerator() [1/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TaGenerator ( void  )

Construct an emtpy Generator.

doxygen group

Definition at line 829 of file cfl_agenerator.h.

◆ TaGenerator() [2/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TaGenerator ( const TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rOtherGen)

Copy-constructor (from TaGenerator, incl attributes)

Parameters
rOtherGen

Definition at line 841 of file cfl_agenerator.h.

◆ TaGenerator() [3/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TaGenerator ( const vGenerator rOtherGen)

Copy-constructor (from vGenerator, set attributes to default)

Parameters
rOtherGen

Definition at line 855 of file cfl_agenerator.h.

◆ TaGenerator() [4/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TaGenerator ( const std::string &  rFileName)

Construct from file.

This constructor effectively uses the Read(TokenReader&) function to read.

Parameters
rFileNameName of file
Exceptions
Exception
  • IO errors (id 1)
  • Token mismatch (id 50, 51, 52, 80, 85)

Definition at line 869 of file cfl_agenerator.h.

◆ ~TaGenerator()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::~TaGenerator ( void  )
virtual

Destructor.

Definition at line 999 of file cfl_agenerator.h.

Member Function Documentation

◆ Alphabet()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaEventSet< EventAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Alphabet ( void  ) const

Return const reference to alphabet.

doxygen group

Returns
EventSet Reference to mpAlphabet

Definition at line 1358 of file cfl_agenerator.h.

◆ AlphabetTaGen()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaNameSet< EventAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::AlphabetTaGen ( void  )
staticprotected

Static default alphabet prototype (incl.

attribute type)

Definition at line 810 of file cfl_agenerator.h.

◆ Assign()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Assign ( const Type rSrc)
virtual

Copy from other faudes Type (try to cast to agenerator or pass to base)

doxygen group

Parameters
rSrcSource for copy operation.

Reimplemented from faudes::vGenerator.

Reimplemented in faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 960 of file cfl_agenerator.h.

◆ Cast()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const Type * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Cast ( const Type pOther) const
virtual

Type test.

Uses C++ dynamic cast to test whether the specified object casts to a Generator.

Returns
TcGenerator reference if dynamic cast succeeds, else NULL

Reimplemented from faudes::vGenerator.

Reimplemented in faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TlhaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1036 of file cfl_agenerator.h.

◆ Clear()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Clear ( void  )
virtual

Clear generator data.

Clears state set, alphabet and transitionrealtion. Behavioural flags eg StateNamesEnabled are maintained.

Reimplemented from faudes::vGenerator.

Reimplemented in faudes::Executor.

Definition at line 1067 of file cfl_agenerator.h.

◆ Copy()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Copy ( void  ) const
virtual

◆ DoAssign()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DoAssign ( const TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rGen)
protected

Assignment.

Definition at line 928 of file cfl_agenerator.h.

◆ EventAttribute() [1/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const EventAttr & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttribute ( const std::string &  rName) const
virtual

Event attribute lookup.

Parameters
rName
Returns
reference to attribute

Reimplemented from faudes::vGenerator.

Definition at line 1317 of file cfl_agenerator.h.

◆ EventAttribute() [2/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const EventAttr & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttribute ( Idx  index) const
virtual

Event attribute lookup.

Parameters
index
Returns
reference to attribute

Reimplemented from faudes::vGenerator.

Definition at line 1307 of file cfl_agenerator.h.

◆ EventAttribute() [3/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttribute ( Idx  index,
const EventAttr &  rAttr 
)

Set attribute for existing event.

doxygen group

Parameters
indexEvent index
rAttrNew attribute
Exceptions
ExceptionIndex not found in alphabet (id 60)

Definition at line 1287 of file cfl_agenerator.h.

◆ EventAttribute() [4/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttribute ( Idx  index,
const Type rAttr 
)
virtual

Set attribute for existing event.

This version uses a dynamic cast to test the actual type of the provided attribute. An exception is thrown for an invalid attribute type.

Parameters
indexEvent index
rAttrNew attribute
Exceptions
Exception
  • Index not found in alphabet (id 60)
  • Cannot cast attribute (id 63)

Reimplemented from faudes::vGenerator.

Definition at line 1294 of file cfl_agenerator.h.

◆ EventAttributep() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
EventAttr * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttributep ( const std::string &  rName)
virtual

Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute.

Parameters
rName
Returns
pointer to attribute

Reimplemented from faudes::vGenerator.

Definition at line 1322 of file cfl_agenerator.h.

◆ EventAttributep() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
EventAttr * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttributep ( Idx  index)
virtual

Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute.

Parameters
index
Returns
pointer to attribute

Reimplemented from faudes::vGenerator.

Definition at line 1312 of file cfl_agenerator.h.

◆ GlobalAttribute() [1/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::GlobalAttribute ( const GlobalAttr &  rAttr)
inline

Set global attribute.

Parameters
rAttrattribute

Definition at line 744 of file cfl_agenerator.h.

◆ GlobalAttribute() [2/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::GlobalAttribute ( const Type rAttr)
inlinevirtual

Set global attribute.

The vGenerator does not have attributes, so this function throws an exception for any specified attribute different to AttributeVoid. The TaGenarator provides a re-implementation to actually set the global attribute.

Parameters
rAttrAttribute
Exceptions
Exception
  • Cannot cast attribute (id 63)

Reimplemented from faudes::vGenerator.

Definition at line 745 of file cfl_agenerator.h.

◆ GlobalAttribute() [3/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const GlobalAttr& faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::GlobalAttribute ( void  ) const
inlinevirtual

Get global attribute ref.

Reimplemented from faudes::vGenerator.

Definition at line 750 of file cfl_agenerator.h.

◆ GlobalAttributep()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
GlobalAttr* faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::GlobalAttributep ( void  )
inlinevirtual

Get global attribute pointer.

Reimplemented from faudes::vGenerator.

Definition at line 756 of file cfl_agenerator.h.

◆ GlobalTaGen()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const GlobalAttr & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::GlobalTaGen ( void  )
staticprotected

Static default global attribute prototype (configures global attribute type)

Definition at line 822 of file cfl_agenerator.h.

◆ InjectAlphabet() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectAlphabet ( const EventSet rNewalphabet)

Set mpAlphabet without consistency check.

Attributes will be casted if possible or silently ignored.

Parameters
rNewalphabetEventSet with new alphabet

Definition at line 1074 of file cfl_agenerator.h.

◆ InjectAlphabet() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectAlphabet ( const TaEventSet< EventAttr > &  rNewalphabet)

Set mpAlphabet without consistency check.

Parameters
rNewalphabetEventSet with new alphabet

Definition at line 1080 of file cfl_agenerator.h.

◆ InjectStates() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectStates ( const StateSet rNewStates)

Inject a complete state set without consistency checks.

Attributes will be casted if possible or silently ignored.

Parameters
rNewStatesStateSet

Definition at line 1160 of file cfl_agenerator.h.

◆ InjectStates() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectStates ( const TaStateSet< StateAttr > &  rNewStates)

Inject a complete state set without consistency checks.

Parameters
rNewStatesStateSet

Definition at line 1167 of file cfl_agenerator.h.

◆ InjectTransRel() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectTransRel ( const ATransSet rNewtransrel)

Set transition relation without consistency check.

Parameters
rNewtransrelTransRel to insert

Definition at line 1184 of file cfl_agenerator.h.

◆ InjectTransRel() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectTransRel ( const TransSet rNewtransrel)

Set transition relation without consistency check.

Attributes will be casted if possible or silently ignored.

Parameters
rNewtransrelTransRel to insert

Definition at line 1178 of file cfl_agenerator.h.

◆ InsEvent() [1/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsEvent ( const std::string &  rName)

Add named event to generator.

An entry in the mpEventSymbolTable will be made if event name is not known so far.

Parameters
rNameName of the event to add
Returns
New unique index

Definition at line 1100 of file cfl_agenerator.h.

◆ InsEvent() [2/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsEvent ( const std::string &  rName,
const EventAttr &  rAttr 
)

Add named event with attribute to generator.

An entry in the mpEventSymbolTable will be made if event is not kown so far. If the event allready exits in the generator, the attribute will be overwritten by rAttr.

Parameters
rNameName of the event to add
rAttrAttribute of event
Returns
New unique index

Definition at line 1112 of file cfl_agenerator.h.

◆ InsEvent() [3/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsEvent ( Idx  index)

Add an existing event to alphabet by index.

doxygen group It is an error to insert an event index that is not known to the mpEventSymbolTable.

Parameters
indexEvent index
Returns
True, if event was new to alphabet

Definition at line 1094 of file cfl_agenerator.h.

◆ InsEvent() [4/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsEvent ( Idx  index,
const EventAttr &  rAttr 
)

Add an existing event to alphabet by index, incl.

attribute If the index allready exists, the attribute is overwritten by rAttr.

Parameters
rAttrAttribute of event
indexEvent index
Returns
True, if event was new to alphabet

Definition at line 1106 of file cfl_agenerator.h.

◆ InsState() [1/6]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsState ( const StateAttr &  attr)

Add new anonymous state with attribute to generator.

Parameters
attrattribute of new state
Returns
Index of new unique state

Definition at line 1124 of file cfl_agenerator.h.

◆ InsState() [2/6]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsState ( const std::string &  rName)

Add new named state to generator.

Parameters
rNameName of the state to add
Returns
Index of new unique state
Exceptions
ExceptionName already exists (id 44)

Definition at line 1142 of file cfl_agenerator.h.

◆ InsState() [3/6]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsState ( const std::string &  rName,
const StateAttr &  attr 
)

Add new named state with attribute to generator.

Parameters
rNameName of the state to add
attrattribute of new state
Returns
Index of new unique state
Exceptions
ExceptionName already exists (id 44)

Definition at line 1150 of file cfl_agenerator.h.

◆ InsState() [4/6]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsState ( Idx  index)

Add (perhaps new) state to generator.

Returns
true to indicate that state was new to generator

Definition at line 1130 of file cfl_agenerator.h.

◆ InsState() [5/6]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsState ( Idx  index,
const StateAttr &  attr 
)

Add (perhaps new) state with attribute to generator.

Parameters
indexIndex of state to add
attrAttribute of new state
Returns
True, if event was new to alphabet

Definition at line 1136 of file cfl_agenerator.h.

◆ InsState() [6/6]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsState ( void  )

Add new anonymous state to generator.

Returns
Index of new unique state

Definition at line 1118 of file cfl_agenerator.h.

◆ Move() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Move ( Generator rGen)
virtual

Destructive copy to other Generator.

Copy method with increased performance at the cost of invalidating the source data. Convert attributes if possible.

Parameters
rGenDestination for copy operation.

Reimplemented from faudes::vGenerator.

Definition at line 992 of file cfl_agenerator.h.

◆ Move() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Move ( TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rGen)
virtual

Destructive copy to other TaGenerator Copy method with increased performance at the cost of invalidating the source data.

This version will copy attributes 1:1.

Parameters
rGenDestination for copy operation.

Definition at line 984 of file cfl_agenerator.h.

◆ New()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::New ( void  ) const
virtual

◆ NewAGen()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::NewAGen ( void  ) const
virtual

Construct on stack.

Technically not a constructor, this function creates a TaGenerator with the same event symboltable and the same attribute type.

Returns
new Generator

Definition at line 1023 of file cfl_agenerator.h.

◆ NewCore()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::NewCore ( void  )
protectedvirtual

Allocate my heap members (attribute dependent types)

Reimplemented from faudes::vGenerator.

Definition at line 886 of file cfl_agenerator.h.

◆ operator=()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::operator= ( const TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rOtherGen)
virtual

Assignment operator (uses Assign(Generator&) )

Parameters
rOtherGenOther generator

Definition at line 1042 of file cfl_agenerator.h.

◆ SetTransition() [1/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition ( const std::string &  rX1,
const std::string &  rEv,
const std::string &  rX2 
)

Add a transition to generator by names.

Statename and eventname must already exist!

Parameters
rX1Predecessor state name
rEvEvent name
rX2Successor state name
Returns
True, if the transition was new the generator
Exceptions
Exception
  • state or event not in generator (id 95)
  • state name not known (id 90)
  • event name not known (id 66)

Definition at line 1191 of file cfl_agenerator.h.

◆ SetTransition() [2/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition ( const Transition rTransition)

Add a transition to generator.

States and event must already exist!

Parameters
rTransitionTransition
Returns
True, if the transition was new the generator
Exceptions
Exception
  • state or event not in generator (id 95)

Definition at line 1202 of file cfl_agenerator.h.

◆ SetTransition() [3/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition ( const Transition rTransition,
const TransAttr &  rAttr 
)

Add a transition with attribute to generator.

States and event must already exist!

Parameters
rTransitiontransition
rAttrattribute
Returns
True, if the transition was new the generator
Exceptions
Exception
  • state or event not in generator (id 95)

Definition at line 1229 of file cfl_agenerator.h.

◆ SetTransition() [4/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition ( Idx  x1,
Idx  ev,
Idx  x2 
)

Add a transition to generator by indices.

States and event must already exist!

Define FAUDES_CHECKED for consistency checks.

Parameters
x1Predecessor state index
evEvent index
x2Successor state index
Returns
True, if the transition was new the generator
Exceptions
Exception
  • state or event not in generator (id 95)

Definition at line 1197 of file cfl_agenerator.h.

◆ StateAttribute() [1/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const StateAttr & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StateAttribute ( Idx  index) const
virtual

State attribute lookup.

Parameters
index
Returns
ref to attribute of state

Reimplemented from faudes::vGenerator.

Definition at line 1348 of file cfl_agenerator.h.

◆ StateAttribute() [2/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StateAttribute ( Idx  index,
const StateAttr &  rAttr 
)

Set attribute for existing state.

Parameters
indexIndex
rAttrattriute
Exceptions
ExceptionName already associated with another index (id 44)

Definition at line 1327 of file cfl_agenerator.h.

◆ StateAttribute() [3/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StateAttribute ( Idx  index,
const Type rAttr 
)
virtual

Set attribute for existing state.

This version uses a dynamic cast to test the actual type of the provided attribute. An exception is thrown for an invalid attribute type.

Parameters
indexState index
rAttrNew attribute
Exceptions
Exception
  • Index not found in Stateset (id 60)
  • Cannot cast attribute (id 63)

Reimplemented from faudes::vGenerator.

Definition at line 1334 of file cfl_agenerator.h.

◆ StateAttributep()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StateAttr * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StateAttributep ( Idx  index)
virtual

State attribute pointer (to access Attribute methods) note: may insert explicit default attribute.

Parameters
index
Returns
pointer to attribute of state

Reimplemented from faudes::vGenerator.

Definition at line 1353 of file cfl_agenerator.h.

◆ States()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaStateSet< StateAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::States ( void  ) const

Return reference to state set.

Returns
StateSet reference incl actual attribute type

Definition at line 1363 of file cfl_agenerator.h.

◆ StatesTaGen()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaIndexSet< StateAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StatesTaGen ( void  )
staticprotected

Static default state set prototype (incl.

attribute type)

Definition at line 814 of file cfl_agenerator.h.

◆ TransAttribute() [1/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TransAttr & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransAttribute ( const Transition rTrans) const
virtual

Get attribute for existing transition.

Returns
attribute

Reimplemented from faudes::vGenerator.

Definition at line 1282 of file cfl_agenerator.h.

◆ TransAttribute() [2/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransAttribute ( const Transition rTrans,
const TransAttr &  rAttr 
)

Set attribute for existing transition.

Parameters
rTranstransition
rAttrNew attribute

Definition at line 1256 of file cfl_agenerator.h.

◆ TransAttribute() [3/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransAttribute ( const Transition rTrans,
const Type rAttr 
)
virtual

Set attribute for existing transition.

This version uses a dynamic cast to test the actual type of the provided attribute. An exception is thrown for an invalid attribute type.

Parameters
rTranstransition
rAttrNew attribute
Exceptions
Exception
  • Transition not found in transition relation(id 60)
  • Cannot cast attribute (id 63)

Reimplemented from faudes::vGenerator.

Definition at line 1263 of file cfl_agenerator.h.

◆ TransAttributep()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TransAttr * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransAttributep ( const Transition rTrans)
virtual

Get attribute pointer for existing transition note: may insert explicit default attribute.

Returns
attribute pointer

Reimplemented from faudes::vGenerator.

Definition at line 1276 of file cfl_agenerator.h.

◆ TransRel() [1/7]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRel ( TransSetEvX1X2 res) const

Definition at line 1374 of file cfl_agenerator.h.

◆ TransRel() [2/7]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRel ( TransSetEvX2X1 res) const

◆ TransRel() [3/7]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRel ( TransSetX1EvX2 res) const

Get copy of trantision relation sorted by other compare operator, e.g.

"x2,ev,x1"

Parameters
resresulting transition relation

Definition at line 1373 of file cfl_agenerator.h.

◆ TransRel() [4/7]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRel ( TransSetX1X2Ev res) const

◆ TransRel() [5/7]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRel ( TransSetX2EvX1 res) const

◆ TransRel() [6/7]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRel ( TransSetX2X1Ev res) const

◆ TransRel() [7/7]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ATransSet & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRel ( void  ) const

Return reference to transition relation.

Returns
TransRel

Definition at line 1368 of file cfl_agenerator.h.

◆ TransRelTaGen()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaTransSet< TransAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRelTaGen ( void  )
staticprotected

Static default transition relation prototype (incl.

attribute type)

Definition at line 818 of file cfl_agenerator.h.

◆ UpdateCore()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::UpdateCore ( void  )
protectedvirtual

Update my secondary pointers for new core.

Reimplemented from faudes::vGenerator.

Definition at line 904 of file cfl_agenerator.h.

◆ Valid()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Valid ( void  ) const
virtual

Check if generator is valid.

doxygen group

Returns
Success

Reimplemented from faudes::vGenerator.

Reimplemented in faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::Executor, and faudes::TlhaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1048 of file cfl_agenerator.h.

Member Data Documentation

◆ pAlphabet

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TaNameSet<EventAttr>* faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::pAlphabet
protected

Alphabet, pointer with actual attribute type.

Definition at line 767 of file cfl_agenerator.h.

◆ pGlobalAttribute

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
GlobalAttr* faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::pGlobalAttribute
protected

Global attribute, pointer with actual attribute type.

Definition at line 776 of file cfl_agenerator.h.

◆ pStates

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TaIndexSet<StateAttr>* faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::pStates
protected

State set, pointer with actual attribute type.

Definition at line 770 of file cfl_agenerator.h.

◆ pTransRel

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
ATransSet* faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::pTransRel
protected

Transition relation, pointer with actual attribute type.

Definition at line 773 of file cfl_agenerator.h.


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

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