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

Generator with specified attribute types. More...

#include <cfl_agenerator.h>

List of all members.

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 const TypeCast (const Type *pOther) const
 Type test.
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 Generator (try to maintain attributes).
virtual TaGeneratorAssign (const Type &rSrc)
 Copy from other faudes Type.
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 (Generator &rGen)
 Destructive copy to other Generator.
virtual TaGeneratoroperator= (const TaGenerator &rOtherGen)
 Assignment operator (uses Copy(TaGenerator&) ).
virtual TaGeneratoroperator= (const vGenerator &rOtherGen)
 Assignment operator (uses Copy(Generator&) ).
Basic Maintenance

bool Valid (void)
 Check if generator is valid.
virtual void Clear (void)
 Clear generator data.
Read Access to Core Members

const TaEventSet< EventAttr > & Alphabet (void) const
 Return const reference to alphabet.
const TaStateSet< 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
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.
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 TaEventSet< 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 TaStateSet< 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.

Static Protected Member Functions

static const TaNameSet
< EventAttr > & 
AlphabetTaGen (void)
 Static default alphabet prototype (incl.
static const TaIndexSet
< StateAttr > & 
StatesTaGen (void)
 Static default state set prototype (incl.
static const ATransSetTransRelTaGen (void)
 Static default transition relation prototype (incl.
static const GlobalAttr & GlobalTaGen (void)
 Static default global attribute prototype (configures global attribute type).

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.

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


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 cfl_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 849 of file cfl_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 861 of file cfl_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 875 of file cfl_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 888 of file cfl_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 1010 of file cfl_agenerator.h.


Member Function Documentation

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaEventSet< 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 1372 of file cfl_agenerator.h.

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

Static default alphabet prototype (incl.

attribute type)

Definition at line 830 of file cfl_agenerator.h.

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

Copy from other faudes Type.

Parameters:
rSrc Source for copy operation.

Reimplemented from faudes::vGenerator.

Definition at line 983 of file cfl_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]

Copy from other Generator (try to maintain attributes).

Parameters:
rGen Source for copy operation.

Reimplemented from faudes::vGenerator.

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

Definition at line 966 of file cfl_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 935 of file cfl_agenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const Type * faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Cast ( const Type pOther  )  const [inline, 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::TgotoGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1045 of file cfl_agenerator.h.

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 1081 of file cfl_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]
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 1331 of file cfl_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 1321 of file cfl_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 1308 of file cfl_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 1301 of file cfl_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 1336 of file cfl_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 1326 of file cfl_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 773 of file cfl_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 768 of file cfl_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 779 of file cfl_agenerator.h.

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

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

Definition at line 842 of file cfl_agenerator.h.

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

Set mpAlphabet without consistency check.

Parameters:
rNewalphabet EventSet with new alphabet

Definition at line 1094 of file cfl_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 1088 of file cfl_agenerator.h.

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

Inject a complete state set without consistency checks.

Parameters:
rNewStates StateSet

Definition at line 1181 of file cfl_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 1174 of file cfl_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 1198 of file cfl_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 1192 of file cfl_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 1126 of file cfl_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 1120 of file cfl_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 1114 of file cfl_agenerator.h.

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 1108 of file cfl_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 1150 of file cfl_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 1164 of file cfl_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 1156 of file cfl_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 1144 of file cfl_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 1138 of file cfl_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 1132 of file cfl_agenerator.h.

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

Destructive copy to other Generator.

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 1003 of file cfl_agenerator.h.

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 995 of file cfl_agenerator.h.

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]
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 1034 of file cfl_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 905 of file cfl_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 >
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 1050 of file cfl_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::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1243 of file cfl_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 1216 of file cfl_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::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1205 of file cfl_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::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1211 of file cfl_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 1362 of file cfl_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 1348 of file cfl_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 1341 of file cfl_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 1367 of file cfl_agenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaStateSet< 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 1377 of file cfl_agenerator.h.

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

Static default state set prototype (incl.

attribute type)

Definition at line 834 of file cfl_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 1296 of file cfl_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 1277 of file cfl_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 1270 of file cfl_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 1290 of file cfl_agenerator.h.

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

Reimplemented from faudes::vGenerator.

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

Reimplemented from faudes::vGenerator.

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

Reimplemented from faudes::vGenerator.

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

Reimplemented from faudes::vGenerator.

Definition at line 1389 of file cfl_agenerator.h.

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

Reimplemented from faudes::vGenerator.

Definition at line 1388 of file cfl_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 1387 of file cfl_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 1382 of file cfl_agenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const TaTransSet< TransAttr > & faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRelTaGen ( void   )  [inline, static, protected]

Static default transition relation prototype (incl.

attribute type)

Definition at line 838 of file cfl_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 912 of file cfl_agenerator.h.

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

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 779 of file cfl_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 799 of file cfl_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 793 of file cfl_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 796 of file cfl_agenerator.h.


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

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