libFAUDES

Sections

Index

faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr > Class Template Reference
[Hierarchical I/O Systems PlugIn]

#include <hio_constraint.h>

Inherits faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

List of all members.


Detailed Description

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

Generator with I/O-constraint attributes.

The HioConstraint is a variant of the Generator to add an interface for events and states with I/O-constraint attributes, built from HioEvent- and HioStateFlags

  • event attributes: Y U

  • state attributes: QY QU

Technically, the construct is based on the specialized attribute classes faudes::HioEventFlags and faudes::HioStateFlags that provide attributes with semantics for hierarchical I/O properties. The THioConstraint expects attribute template parameters with the minimum interface defined in HioEventFlags and HioStateFlags. Thus, you can add further semantics by deriving a class HioEventFlagsAndMore from HioEventFlags (same for HioStateFlags) and use this as event attribute parameter for THioConstraint. To model a plain finite state machine plus I/O-constraint properties, use THioConstraint withHioEventFlags and HioStateFlags for the event and state attribute parameters and AttributeVoid for the other parameters. For convenience, this has been typedefed as HioConstraint.

Public Member Functions

 THioConstraint (void)
 Creates an emtpy HioConstraint object.
 THioConstraint (const Generator &rOtherGen)
 HioConstraint from a std Generator.
 THioConstraint (const Generator &rOtherGen, const EventSet &rY, const EventSet &rU)
 HioConstraint from a std Generator and event sets.
 THioConstraint (const THioConstraint &rOtherGen)
 HioConstraint from a HioConstraint.
 THioConstraint (const std::string &rFileName)
 construct a HioConstraint from file
THioConstraintNew (void) const
 Construct on heap.
THioConstraint NewHioConstraint (void) const
 Create empty HioConstraint with same symboltable as this.
virtual THioConstraintoperator= (const THioConstraint &rOtherGen)
 Assignment operator (uses copy ) Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly.
virtual THioConstraintoperator= (const vGenerator &rOtherGen)
 Assignment operator (uses copy ).
void InsYEvent (Idx index)
 Add an existing Y-event to generator.
Idx InsYEvent (const std::string &rName)
 Add new named Y-event to generator.
void InsUEvent (Idx index)
 Add an existing U-event to generator.
Idx InsUEvent (const std::string &rName)
 Add new named U-event to generator.
void SetY (Idx index)
 Mark event as Y-event (by index).
void SetY (const std::string &rName)
 Mark event as Y-event(by name).
void SetY (const EventSet &rEvents)
 Mark set of events as Y-events.
void SetU (Idx index)
 Mark event U-event(by index).
void SetU (const std::string &rName)
 Mark event U-event(by name).
void SetU (const EventSet &rEvents)
 Mark set of events as U-events.
bool IsY (Idx index) const
 Is event Y-event(by index).
bool IsY (const std::string &rName) const
 Is event Y-event(by name).
bool IsU (Idx index) const
 Is event U-event(by index).
bool IsU (const std::string &rName) const
 Is event U-event(by name).
EventSet YEvents (void) const
 Get EventSet with Y-events.
EventSet UEvents (void) const
 Get EventSet with U-events.
void SetQY (Idx index)
 Mark event as QY-state (by index).
void SetQY (const std::string &rName)
 Mark state as QY-state (by name).
void SetQY (const StateSet &rStates)
 Mark set of states as QY-states.
void ClrQY (Idx index)
 Mark state as NOT QY-state (by index).
void ClrQY (const std::string &rName)
 Mark state as NOT QY-state (by name).
void ClrQY (const StateSet &rStates)
 Mark set of states as NOT QY-states (by index).
bool IsQY (Idx index) const
 Is state QY-state (by index).
bool IsQY (const std::string &rName) const
 Is state QY-state (by name).
StateSet QYStates (void) const
 Get StateSet with QY-states.
void SetQU (Idx index)
 Mark event as QU-state (by index).
void SetQU (const std::string &rName)
 Mark state as QU-state (by name).
void SetQU (const StateSet &rStates)
 Mark set of states as QU-states.
void ClrQU (Idx index)
 Mark state as NOT QU-state (by index).
void ClrQU (const std::string &rName)
 Mark state as NOT QU-state (by name).
void ClrQU (const StateSet &rStates)
 Mark set of states as NOT QU-states (by index).
bool IsQU (Idx index) const
 Is state QU-state (by index).
bool IsQU (const std::string &rName) const
 Is state QU-state (by name).
StateSet QUStates (void) const
 Get StateSet with QU-states.
void SetErr (Idx index)
 Mark state as Err-state (by index).
void SetErr (const std::string &rName)
 Mark state as Err-state (by name).
void SetErr (const StateSet &rStates)
 Mark set of states as Err-states.
void ClrErr (Idx index)
 Mark state as NOT Err-state (by index).
void ClrErr (const std::string &rName)
 Mark state as NOT Err-state (by name).
void ClrErr (const StateSet &rStates)
 Mark set of states as NOT Err-states (by index).
bool IsErr (Idx index) const
 Is state Err-state (by index).
bool IsErr (const std::string &rName) const
 Is state Err-state (by name).
StateSet ErrStates (void) const
 Get StateSet with Err-states.
virtual bool UpdateAttributes (void)
 Updates internal attributes.


Constructor & Destructor Documentation

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

Creates an emtpy HioConstraint object.

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

HioConstraint from a std Generator.

Copy constructor

Parameters:
rOtherGen 

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::THioConstraint ( const Generator rOtherGen,
const EventSet rY,
const EventSet rU 
) [inline]

HioConstraint from a std Generator and event sets.

Copy constructor

Parameters:
rOtherGen Generator
rY Output alphabet
rU Input alphabet

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

HioConstraint from a HioConstraint.

Copy constructor

Parameters:
rOtherGen 

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

construct a HioConstraint from file

Parameters:
rFileName Filename
Exceptions:
Exception If opening/reading fails an Exception object is thrown (id 1, 50, 51)


Member Function Documentation

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

Construct on heap.

Returns:
new Generator

Reimplemented from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

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

Create empty HioConstraint with same symboltable as this.

Returns:
New Generator

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

Assignment operator (uses copy ) Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly.

Parameters:
rOtherGen Other generator

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

Assignment operator (uses copy ).

Parameters:
rOtherGen Other generator

Reimplemented from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsYEvent ( Idx  index  )  [inline]

Add an existing Y-event to generator.

An entry in the global eventtable will be made.

Parameters:
index Event index

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

Add new named Y-event to generator.

An entry in the global eventtable will be made if event is new.

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

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsUEvent ( Idx  index  )  [inline]

Add an existing U-event to generator.

An entry in the global eventtable will be made.

Parameters:
index Event index

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

Add new named U-event to generator.

An entry in the global eventtable will be made if event is new.

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

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetY ( Idx  index  )  [inline]

Mark event as Y-event (by index).

Parameters:
index Event index

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetY ( const std::string &  rName  )  [inline]

Mark event as Y-event(by name).

Parameters:
rName Event name

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetY ( const EventSet rEvents  )  [inline]

Mark set of events as Y-events.

Parameters:
rEvents EventSet

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetU ( Idx  index  )  [inline]

Mark event U-event(by index).

Parameters:
index Event index

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetU ( const std::string &  rName  )  [inline]

Mark event U-event(by name).

Parameters:
rName Event name

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetU ( const EventSet rEvents  )  [inline]

Mark set of events as U-events.

Parameters:
rEvents EventSet

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsY ( Idx  index  )  const [inline]

Is event Y-event(by index).

Parameters:
index Event index
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsY ( const std::string &  rName  )  const [inline]

Is event Y-event(by name).

Parameters:
rName Event name
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsU ( Idx  index  )  const [inline]

Is event U-event(by index).

Parameters:
index Event index
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsU ( const std::string &  rName  )  const [inline]

Is event U-event(by name).

Parameters:
rName Event name
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
EventSet faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::YEvents ( void   )  const [inline]

Get EventSet with Y-events.

Returns:
EventSet of Y-events

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
EventSet faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::UEvents ( void   )  const [inline]

Get EventSet with U-events.

Returns:
EventSet of U-events

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetQY ( Idx  index  )  [inline]

Mark event as QY-state (by index).

Parameters:
index State index

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetQY ( const std::string &  rName  )  [inline]

Mark state as QY-state (by name).

Parameters:
rName State name

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetQY ( const StateSet rStates  )  [inline]

Mark set of states as QY-states.

Parameters:
rStates StateSet

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrQY ( Idx  index  )  [inline]

Mark state as NOT QY-state (by index).

Parameters:
index State index

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrQY ( const std::string &  rName  )  [inline]

Mark state as NOT QY-state (by name).

Parameters:
rName State name

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrQY ( const StateSet rStates  )  [inline]

Mark set of states as NOT QY-states (by index).

Parameters:
rStates StateSet

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsQY ( Idx  index  )  const [inline]

Is state QY-state (by index).

Parameters:
index State index
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsQY ( const std::string &  rName  )  const [inline]

Is state QY-state (by name).

Parameters:
rName State name
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
StateSet faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::QYStates ( void   )  const [inline]

Get StateSet with QY-states.

Returns:
StateSet of QY-states

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetQU ( Idx  index  )  [inline]

Mark event as QU-state (by index).

Parameters:
index State index

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetQU ( const std::string &  rName  )  [inline]

Mark state as QU-state (by name).

Parameters:
rName State name

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetQU ( const StateSet rStates  )  [inline]

Mark set of states as QU-states.

Parameters:
rStates StateSet

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrQU ( Idx  index  )  [inline]

Mark state as NOT QU-state (by index).

Parameters:
index State index

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrQU ( const std::string &  rName  )  [inline]

Mark state as NOT QU-state (by name).

Parameters:
rName State name

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrQU ( const StateSet rStates  )  [inline]

Mark set of states as NOT QU-states (by index).

Parameters:
rStates StateSet

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsQU ( Idx  index  )  const [inline]

Is state QU-state (by index).

Parameters:
index State index
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsQU ( const std::string &  rName  )  const [inline]

Is state QU-state (by name).

Parameters:
rName State name
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
StateSet faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::QUStates ( void   )  const [inline]

Get StateSet with QU-states.

Returns:
StateSet of QU-states

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetErr ( Idx  index  )  [inline]

Mark state as Err-state (by index).

Parameters:
index State index

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetErr ( const std::string &  rName  )  [inline]

Mark state as Err-state (by name).

Parameters:
rName State name

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetErr ( const StateSet rStates  )  [inline]

Mark set of states as Err-states.

Parameters:
rStates StateSet

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrErr ( Idx  index  )  [inline]

Mark state as NOT Err-state (by index).

Parameters:
index State index

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrErr ( const std::string &  rName  )  [inline]

Mark state as NOT Err-state (by name).

Parameters:
rName State name

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
void faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrErr ( const StateSet rStates  )  [inline]

Mark set of states as NOT Err-states (by index).

Parameters:
rStates StateSet

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsErr ( Idx  index  )  const [inline]

Is state Err-state (by index).

Parameters:
index State index
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
bool faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsErr ( const std::string &  rName  )  const [inline]

Is state Err-state (by name).

Parameters:
rName State name
Returns:
True / false

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
StateSet faudes::THioConstraint< GlobalAttr, StateAttr, EventAttr, TransAttr >::ErrStates ( void   )  const [inline]

Get StateSet with Err-states.

Returns:
StateSet of Err-states

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

Updates internal attributes.

This method sets the state partition attributes.

Returns:
True if value changed

Reimplemented from faudes::vGenerator.


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

libFAUDES 2.13a c++ source docu by doxygen 1.5.6