#include <cgenerator.h>
Inheritance diagram for faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >:
The cGenerator is a variant of the Generator to add an interface for events with controllabilty attributes, ie an event may be controllable, observable or forcible.
Technically, the construct is based on the specialized attribute class faudes::AttributeCFlags that provides attributes with semantics for controllability properties. The TcGenerator expects an event attribute template parameter with the minimum interface defined in AttribueCFlags. Thus, you can add further semantics by deriving a class AttributeCFlagsAndMore from AttribueeCFlags and use this as event attribute parameter for TcGenerator. To model a plain finite state machine plus controllability properties, use TcGenerator with AttributeCFlags for the event attribute parameter and AttributeVoid for the other parameters. For convenience, this has been typedefed as cGenerator.
Definition at line 194 of file cgenerator.h.
Public Member Functions | |
TcGenerator (void) | |
Creates an emtpy cGenerator object. | |
TcGenerator (const vGenerator &rOtherGen) | |
cGenerator from a std Generator. | |
TcGenerator (const TcGenerator &rOtherGen) | |
cGenerator from a cGenerator. | |
TcGenerator (const std::string &rFileName) | |
construct a cGenerator from file | |
TcGenerator * | NewP (void) const |
construct on heap | |
TcGenerator | NewCGen (void) const |
construct on stack | |
void | InsControllableEvent (Idx index) |
Add an existing controllable event to generator. | |
Idx | InsControllableEvent (const std::string &rName) |
Add new named controllable event to generator. | |
void | InsUncontrollableEvent (Idx index) |
Add an existing uncontrollable event to generator. | |
Idx | InsUncontrollableEvent (const std::string &rName) |
Add new named uncontrollable event to generator. | |
void | SetControllable (Idx index) |
Mark event controllable (by index). | |
void | SetControllable (const std::string &rName) |
Mark event controllable (by name). | |
void | SetControllable (const EventSet &rEvents) |
Mark set of events controllable (by index). | |
void | ClrControllable (Idx index) |
Mark event uncontrollable (by index). | |
void | ClrControllable (const std::string &rName) |
Mark event uncontrollable (by name). | |
void | ClrControllable (const EventSet &rEvents) |
Mark set of events uncontrollable (by index). | |
bool | Controllable (Idx index) const |
Is event controllable (by index). | |
bool | Controllable (const std::string &rName) const |
Is event controllable (by name). | |
EventSet | ControllableEvents (void) const |
Get EventSet with controllable events. | |
EventSet | UncontrollableEvents (void) const |
Get EventSet with uncontrollable events. | |
void | InsObservableEvent (Idx index) |
Add an existing observable event to generator. | |
Idx | InsObservableEvent (const std::string &rName) |
Add new named observable event to generator. | |
void | InsUnobservableEvent (Idx index) |
Add an existing unobservable event to generator. | |
Idx | InsUnobservableEvent (const std::string &rName) |
Add new named unobservable event to generator. | |
void | SetObservable (Idx index) |
Mark event observable (by index). | |
void | SetObservable (const std::string &rName) |
Mark event observable (by name). | |
void | SetObservable (const EventSet &rEvents) |
Mark set of events observable. | |
void | ClrObservable (Idx index) |
Mark event unobservable (by index). | |
void | ClrObservable (const std::string &rName) |
Mark event unobservable (by name). | |
void | ClrObservable (const EventSet &rEvents) |
Mark set of events unobservable. | |
bool | Observable (Idx index) const |
Is event observable (by index). | |
bool | Observable (const std::string &rName) const |
Is event observable (by name). | |
EventSet | ObservableEvents (void) const |
Get EventSet with observable events. | |
EventSet | UnobservableEvents (void) const |
Get EventSet with unobservable events. | |
void | InsForcibleEvent (Idx index) |
Add an existing forcible event to generator. | |
Idx | InsForcibleEvent (const std::string &rName) |
Add new named forcible event to generator. | |
void | InsUnforcibleEvent (Idx index) |
Add an existing unforcible event to generator. | |
Idx | InsUnforcibleEvent (const std::string &rName) |
Add new named unforcible event to generator. | |
void | SetForcible (Idx index) |
Mark event forcible (by index). | |
void | SetForcible (const std::string &rName) |
Mark event forcible (by name). | |
void | SetForcible (const EventSet &rEvents) |
Mark set of events forcible. | |
void | ClrForcible (Idx index) |
Mark event unforcible (by index). | |
void | ClrForcible (const std::string &rName) |
Mark event unforcible (by name). | |
void | ClrForcible (const EventSet &rEvents) |
Mark set of events unforcible. | |
bool | Forcible (Idx index) const |
Is event forcible (by index). | |
bool | Forcible (const std::string &rName) const |
Is event forcible (by name). | |
EventSet | ForcibleEvents (void) const |
Get EventSet with forcible events. | |
EventSet | UnforcibleEvents (void) const |
Get EventSet with unforcible events. |
|
Creates an emtpy cGenerator object.
Definition at line 645 of file cgenerator.h. |
|
cGenerator from a std Generator. Copy constructor
Definition at line 655 of file cgenerator.h. |
|
cGenerator from a cGenerator. Copy constructor
Definition at line 650 of file cgenerator.h. |
|
construct a cGenerator from file
Definition at line 660 of file cgenerator.h. |
|
Mark set of events uncontrollable (by index).
Definition at line 775 of file cgenerator.h. |
|
Mark event uncontrollable (by name).
Definition at line 768 of file cgenerator.h. |
|
Mark event uncontrollable (by index).
Definition at line 760 of file cgenerator.h. |
|
Mark set of events unforcible.
Definition at line 1006 of file cgenerator.h. |
|
Mark event unforcible (by name).
Definition at line 999 of file cgenerator.h. |
|
Mark event unforcible (by index).
Definition at line 991 of file cgenerator.h. |
|
Mark set of events unobservable.
Definition at line 890 of file cgenerator.h. |
|
Mark event unobservable (by name).
Definition at line 883 of file cgenerator.h. |
|
Mark event unobservable (by index).
Definition at line 875 of file cgenerator.h. |
|
Is event controllable (by name).
Definition at line 698 of file cgenerator.h. |
|
Is event controllable (by index).
Definition at line 692 of file cgenerator.h. |
|
Get EventSet with controllable events.
Definition at line 784 of file cgenerator.h. |
|
Is event forcible (by name).
Definition at line 929 of file cgenerator.h. |
|
Is event forcible (by index).
Definition at line 923 of file cgenerator.h. |
|
Get EventSet with forcible events.
Definition at line 1015 of file cgenerator.h. |
|
Add new named controllable event to generator. An entry in the global eventtable will be made if event is new.
Definition at line 712 of file cgenerator.h. |
|
Add an existing controllable event to generator. An entry in the global eventtable will be made.
Definition at line 704 of file cgenerator.h. |
|
Add new named forcible event to generator. An entry in the global eventtable will be made if event is new.
Definition at line 943 of file cgenerator.h. |
|
Add an existing forcible event to generator. An entry in the global eventtable will be made.
Definition at line 935 of file cgenerator.h. |
|
Add new named observable event to generator. An entry in the global eventtable will be made if event is new.
Definition at line 827 of file cgenerator.h. |
|
Add an existing observable event to generator. An entry in the global eventtable will be made.
Definition at line 819 of file cgenerator.h. |
|
Add new named uncontrollable event to generator. An entry in the global eventtable will be made if event is new.
Definition at line 728 of file cgenerator.h. |
|
Add an existing uncontrollable event to generator. An entry in the global eventtable will be made.
Definition at line 720 of file cgenerator.h. |
|
Add new named unforcible event to generator. An entry in the global eventtable will be made if event is new.
Definition at line 959 of file cgenerator.h. |
|
Add an existing unforcible event to generator. An entry in the global eventtable will be made.
Definition at line 951 of file cgenerator.h. |
|
Add new named unobservable event to generator. An entry in the global eventtable will be made if event is new.
Definition at line 843 of file cgenerator.h. |
|
Add an existing unobservable event to generator. An entry in the global eventtable will be made.
Definition at line 835 of file cgenerator.h. |
|
construct on stack
Definition at line 684 of file cgenerator.h. |
|
construct on heap
Reimplemented from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >. Reimplemented in faudes::TtGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >, and faudes::TtGenerator< AttributeTimedGlobal, AttributeTimedState, AttributeCFlags, AttributeTimedTrans >. Definition at line 674 of file cgenerator.h. |
|
Is event observable (by name).
Definition at line 813 of file cgenerator.h. |
|
Is event observable (by index).
Definition at line 807 of file cgenerator.h. |
|
Get EventSet with observable events.
Definition at line 899 of file cgenerator.h. |
|
Mark set of events controllable (by index).
Definition at line 751 of file cgenerator.h. |
|
Mark event controllable (by name).
Definition at line 744 of file cgenerator.h. |
|
Mark event controllable (by index).
Definition at line 736 of file cgenerator.h. |
|
Mark set of events forcible.
Definition at line 982 of file cgenerator.h. |
|
Mark event forcible (by name).
Definition at line 975 of file cgenerator.h. |
|
Mark event forcible (by index).
Definition at line 967 of file cgenerator.h. |
|
Mark set of events observable.
Definition at line 866 of file cgenerator.h. |
|
Mark event observable (by name).
Definition at line 859 of file cgenerator.h. |
|
Mark event observable (by index).
Definition at line 851 of file cgenerator.h. |
|
Get EventSet with uncontrollable events.
Definition at line 796 of file cgenerator.h. |
|
Get EventSet with unforcible events.
Definition at line 1027 of file cgenerator.h. |
|
Get EventSet with unobservable events.
Definition at line 911 of file cgenerator.h. |