|
Maki
|
Represents a transition table. More...
Public Member Functions | |
| constexpr | transition_table ()=default |
| Default constructor. | |
| constexpr | transition_table (const transition_table &)=default |
| Copy constructor. | |
| transition_table (transition_table &&)=delete | |
| Deleted move constructor. | |
| template<class Source, class Target, class EventSet = null_t, class ActionOrNull = null_t, class GuardOrNull = null_t> | |
| constexpr auto | operator() (const Source &source_state_mold, const Target &target_state_mold, const EventSet &evt_set=null, const ActionOrNull &action=null, const GuardOrNull &guard=null) |
| Creates a new transition_table with an additional transition. | |
| transition_table & | operator= (const transition_table &)=delete |
| Deleted assignment operator. | |
| transition_table & | operator= (transition_table &&)=delete |
| Deleted move operator. | |
Represents a transition table.
A transition table lists all the possible transitions from a state (the source state) to another (the target state) in a region of a state machine.
To define a transition table, you have to instantiate an empty maki::transition_table and call maki::transition_table::operator()() for each transition, like so:
|
constexpr |
Creates a new transition_table with an additional transition.
| source_state_mold | the mold of the active state (or states, plural, if it's a state set) from which the transition can occur |
| target_state_mold | the mold of the state that becomes active after the transition occurs |
| evt_set | the event type (or types, plural, if it's an event type set) that can cause the transition to occur |
| action | the maki::action invoked when the transition occurs, or maki::null |
| guard | the maki::guard that must return true for the transition to occur, or maki::null |