libjmmcg
build_2226
A C++ library containing an eclectic mix of useful, advanced components.
|
Derive from this object to implement your meta-state machine. More...
#include <msm.hpp>
Classes | |
struct | dispatch< false, i, End, TransTbl, State, Params > |
struct | dispatch< true, i, End, TransTbl, State, Params > |
struct | no_op |
Static Public Member Functions | |
template<class State , class Params > | |
static void | process (State s, Params &p) noexcept(false) FORCE_INLINE |
Call this method to perform your state transition from the start state to the next state. More... | |
Derive from this object to implement your meta-state machine.
The state transition table must be called or aliassed to the type state_transition_table to be accessible within this class.
|
inlinestaticnoexcept |
Call this method to perform your state transition from the start state to the next state.
Algorithmic complexity: with a good optimiser O(1) where n is the number of entries in the meta-state table, if dispatch() can be inlined, otherwise O(n).
s | The start state for the transition to be selected. If s is not found in the state_transition_table, then there is no effect, nothing happens. |
p | The parameters to pass to the event selected by the start state from the state_transition_table. |
Definition at line 97 of file msm_impl.hpp.