Embedded Template Library 1.0
etl::ifsm_state Class Referenceabstract

Interface class for FSM states. More...

#include <fsm.h>

Public Member Functions

etl::fsm_state_id_t get_state_id () const
 Gets the id for this state.
 
void add_child_state (etl::ifsm_state &state)
 
template<typename TSize >
void set_child_states (etl::ifsm_state **state_list, TSize size)
 
etl::fsm_state_id_t get_state_id () const
 Gets the id for this state.
 
void add_child_state (etl::ifsm_state &state)
 Adds a child to this state. Only of use when part of an HFSM.
 
template<typename TSize >
void set_child_states (etl::ifsm_state **state_list, TSize size)
 Adds a list of child states. Only of use when part of an HFSM.
 

Protected Member Functions

 ifsm_state (etl::fsm_state_id_t state_id_)
 Constructor.
 
virtual ~ifsm_state ()
 Destructor.
 
etl::fsmget_fsm_context () const
 
 ifsm_state (etl::fsm_state_id_t state_id_)
 Constructor.
 
virtual ~ifsm_state ()
 Destructor.
 
etl::fsmget_fsm_context () const
 

Friends

class etl::fsm
 Allows ifsm_state functions to be private.
 
class etl::hfsm
 
template<typename , typename , etl::fsm_state_id_t , typename , typename , typename , typename , typename , typename , typename , typename , typename , typename , typename , typename , typename , typename , typename , typename >
class etl::fsm_state
 

Additional Inherited Members

- Static Public Attributes inherited from etl::private_fsm::ifsm_state_helper< T >
static ETL_CONSTANT fsm_state_id_t No_State_Change = etl::integral_limits<fsm_state_id_t>::max
 
static ETL_CONSTANT fsm_state_id_t Pass_To_Parent = No_State_Change - 1U
 

Detailed Description

Interface class for FSM states.

Member Function Documentation

◆ add_child_state()

void etl::ifsm_state::add_child_state ( etl::ifsm_state state)
inline

Adds a child to this state. Only of use when part of an HFSM.

◆ set_child_states()

template<typename TSize >
void etl::ifsm_state::set_child_states ( etl::ifsm_state **  state_list,
TSize  size 
)
inline

Adds a list of child states. Only of use when part of an HFSM.


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