libjmmcg  build_2226
A C++ library containing an eclectic mix of useful, advanced components.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
jmmcg::msm::state_transition_table< Deriv > Struct Template Reference

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...
 

Detailed Description

template<class Deriv>
struct jmmcg::msm::state_transition_table< Deriv >

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.

Definition at line 63 of file msm.hpp.

Member Function Documentation

template<class Deriv >
template<class State , class Params >
void jmmcg::msm::state_transition_table< Deriv >::process ( State  s,
Params &  p 
)
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).

Parameters
sThe 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.
pThe 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.


The documentation for this struct was generated from the following files: