boost/statechart
Public Member Functions | Protected Types | Protected Member Functions | Private Types | Private Member Functions | List of all members
boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator > Class Template Reference

#include <asynchronous_state_machine.hpp>

Inheritance diagram for boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >:
Inheritance graph
Collaboration diagram for boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >:
Collaboration graph

Public Member Functions

void terminate ()
 
- Public Member Functions inherited from boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >
void initiate ()
 
void terminate ()
 
bool terminated () const
 
void process_event (const event_base_type &evt)
 
template<class Target >
Target state_cast () const
 
template<class Target >
Target state_downcast () const
 
state_iterator state_begin () const
 
state_iterator state_end () const
 
void unconsumed_event (const event_base &)
 
template<class HistoryContext , detail::orthogonal_position_type orthogonalPosition>
void clear_shallow_history ()
 
template<class HistoryContext , detail::orthogonal_position_type orthogonalPosition>
void clear_deep_history ()
 
const event_base_typetriggering_event () const
 
void post_event_impl (const event_base_ptr_type &pEvent)
 
void post_event_impl (const event_base &evt)
 
detail::reaction_result react_impl (const event_base_type &, typename rtti_policy_type::id_type)
 
void exit_impl (inner_context_ptr_type &, typename state_base_type::node_state_base_ptr_type &, bool)
 
void set_outermost_unstable_state (typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState)
 
template<class Context >
Context & context ()
 
template<class Context >
const Context & context () const
 
outermost_context_typeoutermost_context ()
 
const outermost_context_typeoutermost_context () const
 
outermost_context_base_typeoutermost_context_base ()
 
const outermost_context_base_typeoutermost_context_base () const
 
void terminate_as_reaction (state_base_type &theState)
 
void terminate_as_part_of_transit (state_base_type &theState)
 
void terminate_as_part_of_transit (state_machine &)
 
template<class State >
void add (const intrusive_ptr< State > &pState)
 
void add_inner_state (detail::orthogonal_position_type position, state_base_type *pOutermostState)
 
void remove_inner_state (detail::orthogonal_position_type position)
 
void release_events ()
 
template<class HistorizedState >
void store_shallow_history ()
 
template<class DefaultState >
void construct_with_shallow_history (const typename DefaultState::context_ptr_type &pContext)
 
template<class HistorizedState , class LeafState >
void store_deep_history ()
 
template<class DefaultState >
void construct_with_deep_history (const typename DefaultState::context_ptr_type &pContext)
 
- Public Member Functions inherited from boost::statechart::event_processor< Scheduler >
virtual ~event_processor ()
 
Scheduler & my_scheduler () const
 
processor_handle my_handle () const
 
void initiate ()
 
void process_event (const event_base &evt)
 
void terminate ()
 

Protected Types

typedef asynchronous_state_machine my_base
 
- Protected Types inherited from boost::statechart::event_processor< Scheduler >
typedef const Scheduler::processor_context & my_context
 

Protected Member Functions

 asynchronous_state_machine (typename processor_base::my_context ctx)
 
virtual ~asynchronous_state_machine ()
 
- Protected Member Functions inherited from boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >
 state_machine ()
 
virtual ~state_machine ()
 
void post_event (const event_base_ptr_type &pEvent)
 
void post_event (const event_base &evt)
 
- Protected Member Functions inherited from boost::statechart::event_processor< Scheduler >
 event_processor (my_context ctx)
 

Private Types

typedef state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator > machine_base
 
typedef event_processor< Scheduler > processor_base
 

Private Member Functions

virtual void initiate_impl ()
 
virtual void process_event_impl (const event_base &evt)
 
virtual void terminate_impl ()
 

Additional Inherited Members

- Public Types inherited from boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >
typedef Allocator allocator_type
 
typedef detail::rtti_policy rtti_policy_type
 
typedef event_base event_base_type
 
typedef intrusive_ptr< const event_base_typeevent_base_ptr_type
 
typedef detail::state_base< allocator_type, rtti_policy_typestate_base_type
 
typedef MostDerived inner_context_type
 
typedef mpl::integral_c< detail::orthogonal_position_type, 0 > inner_orthogonal_position
 
typedef mpl::integral_c< detail::orthogonal_position_type, 1 > no_of_orthogonal_regions
 
typedef MostDerived outermost_context_type
 
typedef state_machine outermost_context_base_type
 
typedef state_machineinner_context_ptr_type
 
typedef state_base_type::node_state_base_ptr_type node_state_base_ptr_type
 
typedef state_base_type::leaf_state_ptr_type leaf_state_ptr_type
 
typedef state_base_type::state_list_type state_list_type
 
typedef mpl::clear< mpl::list<> >::type context_type_list
 
typedef mpl::bool_< false > shallow_history
 
typedef mpl::bool_< false > deep_history
 
typedef mpl::bool_< false > inherited_deep_history
 
- Public Types inherited from boost::statechart::event_processor< Scheduler >
typedef Scheduler::processor_handle processor_handle
 

Detailed Description

template<class MostDerived, class InitialState, class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
class boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >

Definition at line 36 of file asynchronous_state_machine.hpp.

Member Typedef Documentation

◆ machine_base

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator > boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::machine_base
private

Definition at line 41 of file asynchronous_state_machine.hpp.

◆ my_base

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef asynchronous_state_machine boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::my_base
protected

Definition at line 45 of file asynchronous_state_machine.hpp.

◆ processor_base

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef event_processor< Scheduler > boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::processor_base
private

Definition at line 42 of file asynchronous_state_machine.hpp.

Constructor & Destructor Documentation

◆ asynchronous_state_machine()

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::asynchronous_state_machine ( typename processor_base::my_context  ctx)
inlineprotected

Definition at line 47 of file asynchronous_state_machine.hpp.

◆ ~asynchronous_state_machine()

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
virtual boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::~asynchronous_state_machine ( )
inlineprotectedvirtual

Definition at line 52 of file asynchronous_state_machine.hpp.

Member Function Documentation

◆ initiate_impl()

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
virtual void boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::initiate_impl ( )
inlineprivatevirtual

Implements boost::statechart::event_processor< Scheduler >.

Definition at line 66 of file asynchronous_state_machine.hpp.

Here is the call graph for this function:

◆ process_event_impl()

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
virtual void boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::process_event_impl ( const event_base evt)
inlineprivatevirtual

Implements boost::statechart::event_processor< Scheduler >.

Definition at line 71 of file asynchronous_state_machine.hpp.

Here is the call graph for this function:

◆ terminate()

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::terminate ( )
inline

Definition at line 59 of file asynchronous_state_machine.hpp.

Here is the call graph for this function:

◆ terminate_impl()

template<class MostDerived , class InitialState , class Scheduler = fifo_scheduler<>, class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
virtual void boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >::terminate_impl ( )
inlineprivatevirtual

Implements boost::statechart::event_processor< Scheduler >.

Definition at line 76 of file asynchronous_state_machine.hpp.

Here is the call graph for this function:

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