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_builder, const Target &target_state_builder, 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_builder | the builder of the active state (or states, plural, if it's a state set) from which the transition can occur |
target_state_builder | the builder 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 |