libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
Instantiate this object to use the created state-machine. More...
#include <msm.hpp>
Public Types | |
using | element_type = STT |
using | states = typename element_type::transition_table::states |
using | end_states = typename element_type::transition_table::end_states |
using | rows_t = typename element_type::transition_table |
Public Member Functions | |
constexpr | machine () noexcept(true)=default |
template<class Arg , class... Args, class = typename std::enable_if<!std::is_convertible<Arg, machine>::value>::type> | |
constexpr | machine (Arg &&arg, Args &&...args) noexcept(noexcept(rows_t(std::forward< Arg >(arg), std::forward< Args >(args)...))) |
constexpr | machine (machine const &) noexcept(noexcept(rows_t(std::declval< rows_t >()))) |
template<class... Params> | |
constexpr end_states | process (states s, Params &&...p) const noexcept(false) |
Call this method to perform your state transition from the start state to the next state. More... | |
template<class... Params> | |
constexpr end_states | process (states s, Params &&...p) noexcept(false) |
Call this method to perform your state transition from the start state to the next state. More... | |
Instantiate this object to use the created state-machine.
using jmmcg::LIBJMMCG_VER_NAMESPACE::msm::jump_table::machine< STT >::element_type = STT |
using jmmcg::LIBJMMCG_VER_NAMESPACE::msm::jump_table::machine< STT >::end_states = typename element_type::transition_table::end_states |
using jmmcg::LIBJMMCG_VER_NAMESPACE::msm::jump_table::machine< STT >::rows_t = typename element_type::transition_table |
using jmmcg::LIBJMMCG_VER_NAMESPACE::msm::jump_table::machine< STT >::states = typename element_type::transition_table::states |
|
constexprdefaultnoexcept |
|
inlineexplicitconstexprnoexcept |
Definition at line 458 of file msm_impl.hpp.
|
inlineconstexprnoexcept |
Definition at line 466 of file msm_impl.hpp.
|
inlineconstexprnoexcept |
Call this method to perform your state transition from the start state to the next state.
Algorithmic complexity: see comment for rows, above.
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. The states must be uniformly, linearly, increasing in underlying value. |
p | The parameters to pass to the event selected by the start state from the state_transition_table. |
Definition at line 472 of file msm_impl.hpp.
|
inlineconstexprnoexcept |
Call this method to perform your state transition from the start state to the next state.
Algorithmic complexity: see comment for rows, above.
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. The states must be uniformly, linearly, increasing in underlying value. |
p | The parameters to pass to the event selected by the start state from the state_transition_table. |
Definition at line 482 of file msm_impl.hpp.