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 &)
 

Detailed Description

template<class EnumT>
class armarx::simple_state_machine< EnumT >

Definition at line 80 of file SimpleStatemachine.h.

Member Typedef Documentation

◆ enum_t

template<class EnumT>
using enum_t = EnumT

Definition at line 85 of file SimpleStatemachine.h.

◆ hook_function_t

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

Definition at line 91 of file SimpleStatemachine.h.

◆ state_function_t

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

Definition at line 89 of file SimpleStatemachine.h.

◆ state_machine_t

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

Definition at line 87 of file SimpleStatemachine.h.

◆ state_t

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

Definition at line 86 of file SimpleStatemachine.h.

◆ transition_function_t

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

Definition at line 90 of file SimpleStatemachine.h.

Member Function Documentation

◆ configure_state()

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

Definition at line 102 of file SimpleStatemachine.h.

◆ configure_transition()

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

Definition at line 110 of file SimpleStatemachine.h.

◆ noop_transition()

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

Definition at line 96 of file SimpleStatemachine.h.

◆ run()

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

Definition at line 142 of file SimpleStatemachine.h.

◆ set_post_state_exit_callback()

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

Definition at line 129 of file SimpleStatemachine.h.

◆ set_post_transition_callback()

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

Definition at line 117 of file SimpleStatemachine.h.

◆ set_pre_state_enter_callback()

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

Definition at line 135 of file SimpleStatemachine.h.

◆ set_pre_transition_callback()

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

Definition at line 123 of file SimpleStatemachine.h.


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