Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::state_chart_ct< TObject, TObject_Ref, Transition_Table_Begin, Transition_Table_Size, State_Table_Begin, State_Table_Size, Initial_State > Class Template Reference

#include <state_chart.h>

Public Types

typedef void parameter_t
 
typedef state_chart_traits::state_id_t state_id_t
 
typedef state_chart_traits::event_id_t event_id_t
 
typedef state_chart_traits::transition< TObject, voidtransition
 
typedef state_chart_traits::state< TObjectstate
 
- Public Types inherited from etl::istate_chart< void >
typedef void parameter_t
 
typedef state_chart_traits::state_id_t state_id_t
 
typedef state_chart_traits::event_id_t event_id_t
 

Public Member Functions

ETL_CONSTEXPR state_chart_ct ()
 Constructor.
 
TObjectget_object ()
 
const TObjectget_object () const
 
virtual void start (bool on_entry_initial=true) ETL_OVERRIDE
 Start the state chart.
 
virtual void process_event (event_id_t event_id) ETL_OVERRIDE
 
- Public Member Functions inherited from etl::istate_chart< void >
 istate_chart (state_id_t initial_state_id)
 
state_id_t get_state_id () const
 

Additional Inherited Members

- Protected Attributes inherited from etl::istate_chart< void >
state_id_t current_state_id
 The current state id.
 

Detailed Description

template<typename TObject, TObject & TObject_Ref, const etl::state_chart_traits::transition< TObject, void > * Transition_Table_Begin, size_t Transition_Table_Size, const etl::state_chart_traits::state< TObject > * State_Table_Begin, size_t State_Table_Size, etl::state_chart_traits::state_id_t Initial_State>
class etl::state_chart_ct< TObject, TObject_Ref, Transition_Table_Begin, Transition_Table_Size, State_Table_Begin, State_Table_Size, Initial_State >

Simple Finite State Machine Compile time tables. Event has no parameter.

Member Function Documentation

◆ get_object() [1/2]

Gets a const reference to the implementation object.

Returns
Const reference to the implementation object.

◆ get_object() [2/2]

template<typename TObject , TObject & TObject_Ref, const etl::state_chart_traits::transition< TObject, void > * Transition_Table_Begin, size_t Transition_Table_Size, const etl::state_chart_traits::state< TObject > * State_Table_Begin, size_t State_Table_Size, etl::state_chart_traits::state_id_t Initial_State>
const TObject & etl::state_chart_ct< TObject, TObject_Ref, Transition_Table_Begin, Transition_Table_Size, State_Table_Begin, State_Table_Size, Initial_State >::get_object ( ) const
inline

Gets a const reference to the implementation object.

Returns
Const reference to the implementation object.

◆ process_event()

template<typename TObject , TObject & TObject_Ref, const etl::state_chart_traits::transition< TObject, void > * Transition_Table_Begin, size_t Transition_Table_Size, const etl::state_chart_traits::state< TObject > * State_Table_Begin, size_t State_Table_Size, etl::state_chart_traits::state_id_t Initial_State>
virtual void etl::state_chart_ct< TObject, TObject_Ref, Transition_Table_Begin, Transition_Table_Size, State_Table_Begin, State_Table_Size, Initial_State >::process_event ( event_id_t  event_id)
inlinevirtual

Processes the specified event. The state machine will action the first item in the transition table that satisfies the conditions for executing the action.

Parameters
event_idThe id of the event to process.

Implements etl::istate_chart< void >.

◆ start()

template<typename TObject , TObject & TObject_Ref, const etl::state_chart_traits::transition< TObject, void > * Transition_Table_Begin, size_t Transition_Table_Size, const etl::state_chart_traits::state< TObject > * State_Table_Begin, size_t State_Table_Size, etl::state_chart_traits::state_id_t Initial_State>
virtual void etl::state_chart_ct< TObject, TObject_Ref, Transition_Table_Begin, Transition_Table_Size, State_Table_Begin, State_Table_Size, Initial_State >::start ( bool  on_entry_initial = true)
inlinevirtual

Start the state chart.

Implements etl::istate_chart< void >.


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