libFAUDES

Sections

Index

faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > Class Template Reference
[Generator Classes]

#include <agenerator.h>

Inherits faudes::vGenerator.

Inherited by faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioController< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioEnvironment< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::THioPlant< GlobalAttr, StateAttr, EventAttr, TransAttr >.

List of all members.


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, buit 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 agenerator.h.


Public Types

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

Public Member Functions

Constructors & Destructor
 TaGenerator (void)
 Construct an emtpy Generator.
 TaGenerator (const TaGenerator &rOtherGen)
 Copy-constructor (from TaGenerator, incl attributes).
 TaGenerator (const vGenerator &rOtherGen)
 Copy-constructor (from vGenerator, set attributes to default).
 TaGenerator (const std::string &rFileName)
 Construct from file.
virtual TaGeneratorNew (void) const
 Construct on heap.
virtual TaGeneratorCopy (void) const
 Construct copy on heap.
virtual TaGenerator NewAGen (void) const
 Construct on stack.
virtual ~TaGenerator (void)
 Destructor.
Copy and Assignment
virtual TaGeneratorAssign (const TaGenerator &rGen)
 Copy from other TaGenerator (incl attributes).
virtual TaGeneratorAssign (const vGenerator &rGen)
 Copy from other vGenerator (try to maintain attributes).
virtual void Move (TaGenerator &rGen)
 Destructive copy to other TaGenerator Copy method with increased performance at the cost of invalidating the source data.
virtual void Move (vGenerator &rGen)
 Destructive copy to other vGenerator.
virtual TaGeneratoroperator= (const TaGenerator &rOtherGen)
 Assignment operator (uses Copy(TaGenerator&) ).
virtual TaGeneratoroperator= (const vGenerator &rOtherGen)
 Assignment operator (uses Copy(vGenerator&) ).
Basic Maintenance
bool Valid (void)
 Check if generator is valid.
virtual void Clear (void)
 Clear generator data.
Read Access to Core Members
const TaNameSet< EventAttr > & Alphabet (void) const
 Return const reference to alphabet.
const TaIndexSet< StateAttr > & States (void) const
 Return reference to state set.
const ATransSetTransRel (void) const
 Return reference to transition relation.
void TransRel (TransSetX1EvX2 &res) const
 Get copy of trantision relation sorted by other compare operator, e.g.
void TransRel (TransSetEvX1X2 &res) const
 Get copy of trantision relation sorted by other compare operator, e.g.
void TransRel (TransSetEvX2X1 &res) const
 Get copy of trantision relation sorted by other compare operator, e.g.
void TransRel (TransSetX2EvX1 &res) const
 Get copy of trantision relation sorted by other compare operator, e.g.
void TransRel (TransSetX2X1Ev &res) const
 Get copy of trantision relation sorted by other compare operator, e.g.
void TransRel (TransSetX1X2Ev &res) const
 Get copy of trantision relation sorted by other compare operator, e.g.
Write Access to Core Members
bool InsEvent (Idx index)
 Add an existing event to alphabet by index.
Idx InsEvent (const std::string &rName)
 Add named event to generator.
bool InsEvent (Idx index, const EventAttr &rAttr)
 Add an existing event to alphabet by index, incl.
Idx InsEvent (const std::string &rName, const EventAttr &rAttr)
 Add named event with attribute to generator.
void InjectAlphabet (const EventSet &rNewalphabet)
 Set mpAlphabet without consistency check.
void InjectAlphabet (const TaNameSet< EventAttr > &rNewalphabet)
 Set mpAlphabet without consistency check.
Idx InsState (void)
 Add new anonymous state to generator.
Idx InsState (const StateAttr &attr)
 Add new anonymous state with attribute to generator.
bool InsState (Idx index)
 Add (perhaps new) state to generator.
Idx InsState (const std::string &rName)
 Add new named state to generator.
Idx InsState (const std::string &rName, const StateAttr &attr)
 Add new named state with attribute to generator.
bool InsState (Idx index, const StateAttr &attr)
 Add (perhaps new) state with attribute to generator.
void InjectStates (const StateSet &rNewStates)
 Inject a complete state set without consistency checks.
void InjectStates (const TaIndexSet< StateAttr > &rNewStates)
 Inject a complete state set without consistency checks.
bool SetTransition (Idx x1, Idx ev, Idx x2)
 Add a transition to generator by indices.
bool SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2)
 Add a transition to generator by names.
bool SetTransition (const Transition &rTransition)
 Add a transition to generator.
bool SetTransition (const Transition &rTransition, const TransAttr &rAttr)
 Add a transition with attribute to generator.
void InjectTransRel (const TransSet &rNewtransrel)
 Set transition relation without consistency check.
void InjectTransRel (const ATransSet &rNewtransrel)
 Set transition relation without consistency check.
Attributes
void EventAttribute (Idx index, const EventAttr &rAttr)
 Set attribute for existing event.
void EventAttribute (Idx index, const Type &rAttr)
 Set attribute for existing event.
const EventAttr & EventAttribute (Idx index) const
 Event attribute lookup.
const EventAttr & EventAttribute (const std::string &rName) const
 Event attribute lookup.
EventAttr * EventAttributep (Idx index)
 Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute.
EventAttr * EventAttributep (const std::string &rName)
 Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute.
void StateAttribute (Idx index, const StateAttr &rAttr)
 Set attribute for existing state.
void StateAttribute (Idx index, const Type &rAttr)
 Set attribute for existing state.
const StateAttr & StateAttribute (Idx index) const
 State attribute lookup.
StateAttr * StateAttributep (Idx index)
 State attribute pointer (to access Attribute methods) note: may insert explicit default attribute.
void TransAttribute (const Transition &rTrans, const TransAttr &rAttr)
 Set attribute for existing transition.
void TransAttribute (const Transition &rTrans, const Type &rAttr)
 Set attribute for existing transition.
const TransAttr & TransAttribute (const Transition &rTrans) const
 Get attribute for existing transition.
TransAttr * TransAttributep (const Transition &rTrans)
 Get attribute pointer for existing transition note: may insert explicit default attribute.
void GlobalAttribute (const GlobalAttr &rAttr)
 Set global attribute.
const GlobalAttr & GlobalAttribute (void) const
 Get global attribute ref.
GlobalAttr * GlobalAttributep (void)
 Get global attribute pointer.

Protected Member Functions

virtual void NewCore (void)
 Allocate my heap members (attribute dependent types).
virtual void UpdateCore (void)
 Update my secondary pointers for new core.

Protected Attributes

TaNameSet< EventAttr > * pAlphabet
 Alphabet, pointer with actual attribute type.
TaIndexSet< StateAttr > * pStates
 State set, pointer with actual attribute type.
ATransSetpTransRel
 Transition relation, pointer with actual attribute type.
GlobalAttr * pGlobalAttribute
 Global attribute, pointer with actual attribute type.

Static Protected Attributes

static const TaNameSet< EventAttr > msAlphabetTaGen
 Static default alphabet prototype (incl.
static const TaIndexSet
< StateAttr > 
msStatesTaGen
 Static default state set prototype (incl.
static const ATransSet msTransRelTaGen
 Static default transition relation prototype (incl.
static const GlobalAttr msGlobalTaGen
 Static default global attribute prototype (configures global attribute type).

Member Typedef Documentation

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 agenerator.h.


Constructor & Destructor Documentation

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

Construct an emtpy Generator.

doxygen group

Definition at line 816 of file agenerator.h.

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

Copy-constructor (from TaGenerator, incl attributes).

Parameters:
rOtherGen 

Definition at line 828 of file agenerator.h.

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

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

Parameters:
rOtherGen 

Definition at line 842 of file agenerator.h.

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

Construct from file.

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

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

Definition at line 855 of file agenerator.h.

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

Destructor.

Definition at line 964 of file agenerator.h.


Member Function Documentation

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

Construct on heap.

Technically not a constructor, this function creates a TaGenerator with the same event symboltable and the same attribute types. It is the callers reponsebilty to delete the object when no longer needed.

Returns:
new Generator

Reimplemented from faudes::vGenerator.

Reimplemented in faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TdiagGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioController< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioEnvironment< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioPlant< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TcGenerator< faudes::AttributeTimedGlobal, faudes::AttributeTimedState, faudes::AttributeCFlags, faudes::AttributeTimedTrans >, faudes::THioConstraint< faudes::AttributeVoid, faudes::HioStateFlags, faudes::HioEventFlags, faudes::AttributeVoid >, faudes::THioController< faudes::AttributeVoid, faudes::HioStateFlags, faudes::HioEventFlags, faudes::AttributeVoid >, faudes::THioEnvironment< faudes::AttributeVoid, faudes::HioStateFlags, faudes::HioEventFlags, faudes::AttributeVoid >, faudes::THioPlant< faudes::AttributeVoid, faudes::HioStateFlags, faudes::HioEventFlags, faudes::AttributeVoid >, and faudes::TtGenerator< faudes::AttributeTimedGlobal, faudes::AttributeTimedState, faudes::AttributeCFlags, faudes::AttributeTimedTrans >.

Definition at line 969 of file agenerator.h.

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

Construct copy on heap.

Technically not a constructor, this function creates a TaGenerator with the same event symboltable and the same attribute types. It is the callers reponsebilty to delete the object when no longer needed.

Returns:
new Generator

Reimplemented from faudes::vGenerator.

Reimplemented in faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TdiagGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioController< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioEnvironment< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::THioPlant< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TcGenerator< faudes::AttributeTimedGlobal, faudes::AttributeTimedState, faudes::AttributeCFlags, faudes::AttributeTimedTrans >, faudes::THioConstraint< faudes::AttributeVoid, faudes::HioStateFlags, faudes::HioEventFlags, faudes::AttributeVoid >, faudes::THioController< faudes::AttributeVoid, faudes::HioStateFlags, faudes::HioEventFlags, faudes::AttributeVoid >, faudes::THioEnvironment< faudes::AttributeVoid, faudes::HioStateFlags, faudes::HioEventFlags, faudes::AttributeVoid >, faudes::THioPlant< faudes::AttributeVoid, faudes::HioStateFlags, faudes::HioEventFlags, faudes::AttributeVoid >, and faudes::TtGenerator< faudes::AttributeTimedGlobal, faudes::AttributeTimedState, faudes::AttributeCFlags, faudes::AttributeTimedTrans >.

Definition at line 979 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::NewAGen ( void   )  const [inline, 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 987 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Assign ( const TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rGen  )  [inline, virtual]

Copy from other TaGenerator (incl attributes).

doxygen group

Parameters:
rGen Source for copy operation.

Definition at line 902 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Assign ( const vGenerator rGen  )  [inline, virtual]

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Move ( TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rGen  )  [inline, 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:
rGen Destination for copy operation.

Definition at line 949 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Move ( vGenerator rGen  )  [inline, virtual]

Destructive copy to other vGenerator.

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

Parameters:
rGen Destination for copy operation.

Reimplemented from faudes::vGenerator.

Definition at line 957 of file agenerator.h.

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  )  [inline, virtual]

Assignment operator (uses Copy(TaGenerator&) ).

Parameters:
rOtherGen Other generator

Definition at line 997 of file agenerator.h.

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

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

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Clear ( void   )  [inline, 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 1028 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
const TaNameSet< EventAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Alphabet ( void   )  const [inline]

Return const reference to alphabet.

doxygen group

Returns:
EventSet Reference to mpAlphabet

Reimplemented from faudes::vGenerator.

Definition at line 1319 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
const TaIndexSet< StateAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::States ( void   )  const [inline]

Return reference to state set.

Returns:
StateSet reference incl actual attribute type

Reimplemented from faudes::vGenerator.

Definition at line 1324 of file agenerator.h.

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 [inline]

Return reference to transition relation.

Returns:
TransRel

Reimplemented from faudes::vGenerator.

Definition at line 1329 of file agenerator.h.

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

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

"x2,ev,x1"

Parameters:
res resulting transition relation

Reimplemented from faudes::vGenerator.

Definition at line 1334 of file agenerator.h.

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

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

"x2,ev,x1"

Parameters:
res resulting transition relation

Reimplemented from faudes::vGenerator.

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

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

"x2,ev,x1"

Parameters:
res resulting transition relation

Reimplemented from faudes::vGenerator.

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

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

"x2,ev,x1"

Parameters:
res resulting transition relation

Reimplemented from faudes::vGenerator.

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

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

"x2,ev,x1"

Parameters:
res resulting transition relation

Reimplemented from faudes::vGenerator.

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

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

"x2,ev,x1"

Parameters:
res resulting transition relation

Reimplemented from faudes::vGenerator.

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

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:
index Event index
Returns:
True, if event was new to alphabet

Reimplemented from faudes::vGenerator.

Definition at line 1055 of file agenerator.h.

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

Add named event to generator.

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

Parameters:
rName Name of the event to add
Returns:
New unique index

Reimplemented from faudes::vGenerator.

Definition at line 1061 of file agenerator.h.

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

Add an existing event to alphabet by index, incl.

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

Parameters:
rAttr Attribute of event
index Event index
Returns:
True, if event was new to alphabet

Definition at line 1067 of file agenerator.h.

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

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:
rName Name of the event to add
rAttr Attribute of event
Returns:
New unique index

Definition at line 1073 of file agenerator.h.

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

Set mpAlphabet without consistency check.

Attributes will be casted if possible or silently ignored.

Parameters:
rNewalphabet EventSet with new alphabet

Reimplemented from faudes::vGenerator.

Definition at line 1035 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectAlphabet ( const TaNameSet< EventAttr > &  rNewalphabet  )  [inline]

Set mpAlphabet without consistency check.

Parameters:
rNewalphabet EventSet with new alphabet

Definition at line 1041 of file agenerator.h.

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

Add new anonymous state to generator.

Returns:
Index of new unique state

Reimplemented from faudes::vGenerator.

Definition at line 1079 of file agenerator.h.

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

Add new anonymous state with attribute to generator.

Parameters:
attr attribute of new state
Returns:
Index of new unique state

Definition at line 1085 of file agenerator.h.

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

Add (perhaps new) state to generator.

Returns:
true to indicate that state was new to generator

Reimplemented from faudes::vGenerator.

Definition at line 1091 of file agenerator.h.

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

Add new named state to generator.

Parameters:
rName Name of the state to add
Returns:
Index of new unique state
Exceptions:
Exception Name already exists (id 44)

Reimplemented from faudes::vGenerator.

Definition at line 1103 of file agenerator.h.

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

Add new named state with attribute to generator.

Parameters:
rName Name of the state to add
attr attribute of new state
Returns:
Index of new unique state
Exceptions:
Exception Name already exists (id 44)

Definition at line 1111 of file agenerator.h.

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

Add (perhaps new) state with attribute to generator.

Parameters:
index Index of state to add
attr Attribute of new state
Returns:
True, if event was new to alphabet

Definition at line 1097 of file agenerator.h.

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

Inject a complete state set without consistency checks.

Attributes will be casted if possible or silently ignored.

Parameters:
rNewStates StateSet

Reimplemented from faudes::vGenerator.

Definition at line 1121 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectStates ( const TaIndexSet< StateAttr > &  rNewStates  )  [inline]

Inject a complete state set without consistency checks.

Parameters:
rNewStates StateSet

Definition at line 1128 of file agenerator.h.

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

Add a transition to generator by indices.

States and event must already exist!

Define FAUDES_CHECKED for consistency checks.

Parameters:
x1 Predecessor state index
ev Event index
x2 Successor state index
Returns:
True, if the transition was new the generator
Exceptions:
Exception 
  • state or event not in generator (id 95)

Reimplemented from faudes::vGenerator.

Reimplemented in faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TtGenerator< faudes::AttributeTimedGlobal, faudes::AttributeTimedState, faudes::AttributeCFlags, faudes::AttributeTimedTrans >.

Definition at line 1158 of file agenerator.h.

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 
) [inline]

Add a transition to generator by names.

Statename and eventname must already exist!

Parameters:
rX1 Predecessor state name
rEv Event name
rX2 Successor 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)

Reimplemented from faudes::vGenerator.

Reimplemented in faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TtGenerator< faudes::AttributeTimedGlobal, faudes::AttributeTimedState, faudes::AttributeCFlags, faudes::AttributeTimedTrans >.

Definition at line 1152 of file agenerator.h.

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

Add a transition to generator.

States and event must already exist!

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

Reimplemented from faudes::vGenerator.

Definition at line 1163 of file agenerator.h.

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

Add a transition with attribute to generator.

States and event must already exist!

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

Reimplemented in faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TtGenerator< faudes::AttributeTimedGlobal, faudes::AttributeTimedState, faudes::AttributeCFlags, faudes::AttributeTimedTrans >.

Definition at line 1190 of file agenerator.h.

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

Set transition relation without consistency check.

Attributes will be casted if possible or silently ignored.

Parameters:
rNewtransrel TransRel to insert

Reimplemented from faudes::vGenerator.

Definition at line 1139 of file agenerator.h.

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

Set transition relation without consistency check.

Parameters:
rNewtransrel TransRel to insert

Definition at line 1145 of file agenerator.h.

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

Set attribute for existing event.

doxygen group

Parameters:
index Event index
rAttr New attribute
Exceptions:
Exception Index not found in alphabet (id 60)

Definition at line 1248 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttribute ( Idx  index,
const Type rAttr 
) [inline, 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:
index Event index
rAttr New attribute
Exceptions:
Exception 
  • Index not found in alphabet (id 60)
  • Cannot cast attribute (id 63)

Reimplemented from faudes::vGenerator.

Definition at line 1255 of file agenerator.h.

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

Event attribute lookup.

Parameters:
index 
Returns:
reference to attribute

Reimplemented from faudes::vGenerator.

Definition at line 1268 of file agenerator.h.

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

Event attribute lookup.

Parameters:
rName 
Returns:
reference to attribute

Reimplemented from faudes::vGenerator.

Definition at line 1278 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
EventAttr * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttributep ( Idx  index  )  [inline, 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 1273 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
EventAttr * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventAttributep ( const std::string &  rName  )  [inline, 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 1283 of file agenerator.h.

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

Set attribute for existing state.

Parameters:
index Index
rAttr attriute
Exceptions:
Exception Name already associated with another index (id 44)

Definition at line 1288 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StateAttribute ( Idx  index,
const Type rAttr 
) [inline, 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:
index State index
rAttr New attribute
Exceptions:
Exception 
  • Index not found in Stateset (id 60)
  • Cannot cast attribute (id 63)

Reimplemented from faudes::vGenerator.

Definition at line 1295 of file agenerator.h.

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

State attribute lookup.

Parameters:
index 
Returns:
ref to attribute of state

Reimplemented from faudes::vGenerator.

Definition at line 1309 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
StateAttr * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StateAttributep ( Idx  index  )  [inline, 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 1314 of file agenerator.h.

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

Set attribute for existing transition.

Parameters:
rTrans transition
rAttr New attribute

Definition at line 1217 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransAttribute ( const Transition rTrans,
const Type rAttr 
) [inline, 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:
rTrans transition
rAttr New attribute
Exceptions:
Exception 
  • Transition not found in transition relation(id 60)
  • Cannot cast attribute (id 63)

Reimplemented from faudes::vGenerator.

Definition at line 1224 of file agenerator.h.

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

Get attribute for existing transition.

Returns:
attribute

Reimplemented from faudes::vGenerator.

Definition at line 1243 of file agenerator.h.

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

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

Returns:
attribute pointer

Reimplemented from faudes::vGenerator.

Definition at line 1237 of file agenerator.h.

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:
rAttr attribute

Definition at line 748 of file agenerator.h.

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

Get global attribute ref.

Reimplemented from faudes::vGenerator.

Definition at line 753 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
GlobalAttr* faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::GlobalAttributep ( void   )  [inline, virtual]

Get global attribute pointer.

Reimplemented from faudes::vGenerator.

Definition at line 759 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::NewCore ( void   )  [inline, protected, virtual]

Allocate my heap members (attribute dependent types).

Reimplemented from faudes::vGenerator.

Definition at line 872 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::UpdateCore ( void   )  [inline, protected, virtual]

Update my secondary pointers for new core.

Reimplemented from faudes::vGenerator.

Definition at line 879 of file agenerator.h.


Member Data Documentation

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 759 of file agenerator.h.

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 773 of file agenerator.h.

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 776 of file agenerator.h.

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 779 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
const TaNameSet< EventAttr > faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::msAlphabetTaGen [inline, static, protected]

Static default alphabet prototype (incl.

attribute type)

Definition at line 782 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
const TaIndexSet< StateAttr > faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::msStatesTaGen [inline, static, protected]

Static default state set prototype (incl.

attribute type)

Definition at line 785 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
const TaTransSet< TransAttr > faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::msTransRelTaGen [inline, static, protected]

Static default transition relation prototype (incl.

attribute type)

Definition at line 788 of file agenerator.h.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
const GlobalAttr faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::msGlobalTaGen [inline, static, protected]

Static default global attribute prototype (configures global attribute type).

Definition at line 791 of file agenerator.h.


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

libFAUDES 2.14g --- 2009-12-3 --- c++ source docu by doxygen 1.5.6