simple_state_machine< EnumT > Class Template Reference

#include <ArmarXCore/core/util/SimpleStatemachine.h>

Public Types

using enum_t = EnumT
 
using hook_function_t = std::function<void(const state_t&)>
 
using state_function_t = std::function<enum_t(state_t&)>
 
using state_machine_t = simple_state_machine<enum_t>
 
using state_t = ::armarx::state_t<enum_t>
 
using transition_function_t = std::function<void(const state_t&)>
 

Public Member Functions

template<enum_t state>
void configure_state (state_function_t f)
 
template<enum_t state0, enum_t state1>
void configure_transition (transition_function_t f=noop_transition)
 
template<enum_t state0>
state_t run ()
 
void set_post_state_exit_callback (hook_function_t f)
 
void set_post_transition_callback (hook_function_t f)
 
void set_pre_state_enter_callback (hook_function_t f)
 
void set_pre_transition_callback (hook_function_t f)
 

Static Public Member Functions

static void noop_transition (const state_t &)
 

Member Typedef Documentation

◆ enum_t

template<class EnumT>
using enum_t = EnumT

◆ hook_function_t

template<class EnumT>
using hook_function_t = std::function<void(const state_t&)>

◆ state_function_t

template<class EnumT>
using state_function_t = std::function<enum_t(state_t&)>

◆ state_machine_t

template<class EnumT>
using state_machine_t = simple_state_machine<enum_t>

◆ state_t

template<class EnumT>
using state_t = ::armarx::state_t<enum_t>

◆ transition_function_t

template<class EnumT>
using transition_function_t = std::function<void(const state_t&)>

Member Function Documentation

◆ configure_state()

template<class EnumT>
template<enum_t state>
void configure_state ( state_function_t f)
inline

◆ configure_transition()

template<class EnumT>
template<enum_t state0, enum_t state1>
void configure_transition ( transition_function_t f = noop_transition)
inline

◆ noop_transition()

template<class EnumT>
static void noop_transition ( const state_t & )
inlinestatic

◆ run()

template<class EnumT>
template<enum_t state0>
state_t run ( )
inline

◆ set_post_state_exit_callback()

template<class EnumT>
void set_post_state_exit_callback ( hook_function_t f)
inline

◆ set_post_transition_callback()

template<class EnumT>
void set_post_transition_callback ( hook_function_t f)
inline

◆ set_pre_state_enter_callback()

template<class EnumT>
void set_pre_state_enter_callback ( hook_function_t f)
inline

◆ set_pre_transition_callback()

template<class EnumT>
void set_pre_transition_callback ( hook_function_t f)
inline

The documentation for this class was generated from the following file: