Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 >:
Collaboration diagram for boost::statechart::asynchronous_state_machine< MostDerived, InitialState, Scheduler, Allocator, ExceptionTranslator >:

Public Types

typedef Allocator allocator_type
 
typedef detail::rtti_policy rtti_policy_type
 
typedef event_base event_base_type
 
typedef intrusive_ptr< const
event_base_type
event_base_ptr_type
 
typedef detail::state_base
< allocator_type,
rtti_policy_type
state_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
 
typedef Scheduler::processor_handle processor_handle
 

Public Member Functions

void terminate ()
 
void initiate ()
 
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)
 
Scheduler & my_scheduler () const
 
processor_handle my_handle () const
 
void initiate ()
 
void process_event (const event_base &evt)
 

Protected Types

typedef asynchronous_state_machine my_base
 
typedef const
Scheduler::processor_context & 
my_context
 

Protected Member Functions

 asynchronous_state_machine (typename processor_base::my_context ctx)
 
virtual ~asynchronous_state_machine ()
 
void post_event (const event_base_ptr_type &pEvent)
 
void post_event (const event_base &evt)
 

Member Typedef Documentation

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef Allocator boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::allocator_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef mpl::clear< mpl::list<> >::type boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::context_type_list
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef mpl::bool_< false > boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::deep_history
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef intrusive_ptr< const event_base_type > boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::event_base_ptr_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef event_base boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::event_base_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef mpl::bool_< false > boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::inherited_deep_history
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef state_machine* boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::inner_context_ptr_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef MostDerived boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::inner_context_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef mpl::integral_c< detail::orthogonal_position_type, 0 > boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::inner_orthogonal_position
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef state_base_type::leaf_state_ptr_type boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::leaf_state_ptr_type
inherited
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
template<class Scheduler >
typedef const Scheduler::processor_context& boost::statechart::event_processor< Scheduler >::my_context
protectedinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef mpl::integral_c< detail::orthogonal_position_type, 1 > boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::no_of_orthogonal_regions
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef state_base_type::node_state_base_ptr_type boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::node_state_base_ptr_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef state_machine boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::outermost_context_base_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef MostDerived boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::outermost_context_type
inherited
template<class Scheduler >
typedef Scheduler::processor_handle boost::statechart::event_processor< Scheduler >::processor_handle
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef detail::rtti_policy boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::rtti_policy_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef mpl::bool_< false > boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::shallow_history
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef detail::state_base< allocator_type, rtti_policy_type > boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::state_base_type
inherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
typedef state_base_type::state_list_type boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::state_list_type
inherited

Constructor & Destructor Documentation

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

Member Function Documentation

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class State >
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::add ( const intrusive_ptr< State > &  pState)
inlineinherited

References boost::get_pointer().

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::add_inner_state ( detail::orthogonal_position_type  position,
state_base_type pOutermostState 
)
inlineinherited

References BOOST_ASSERT.

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class HistoryContext , detail::orthogonal_position_type orthogonalPosition>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::clear_deep_history ( )
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class HistoryContext , detail::orthogonal_position_type orthogonalPosition>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::clear_shallow_history ( )
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class DefaultState >
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::construct_with_deep_history ( const typename DefaultState::context_ptr_type &  pContext)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class DefaultState >
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::construct_with_shallow_history ( const typename DefaultState::context_ptr_type &  pContext)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class Context >
Context& boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::context ( )
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class Context >
const Context& boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::context ( ) const
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::exit_impl ( inner_context_ptr_type ,
typename state_base_type::node_state_base_ptr_type &  ,
bool   
)
inlineinherited
template<class Scheduler >
void boost::statechart::event_processor< Scheduler >::initiate ( )
inlineinherited
template<class Scheduler >
processor_handle boost::statechart::event_processor< Scheduler >::my_handle ( ) const
inlineinherited
template<class Scheduler >
Scheduler& boost::statechart::event_processor< Scheduler >::my_scheduler ( ) const
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
outermost_context_type& boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::outermost_context ( )
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
const outermost_context_type& boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::outermost_context ( ) const
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
outermost_context_base_type& boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::outermost_context_base ( )
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
const outermost_context_base_type& boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::outermost_context_base ( ) const
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::post_event ( const event_base_ptr_type pEvent)
inlineprotectedinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::post_event ( const event_base evt)
inlineprotectedinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::post_event_impl ( const event_base_ptr_type pEvent)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::post_event_impl ( const event_base evt)
inlineinherited
template<class Scheduler >
void boost::statechart::event_processor< Scheduler >::process_event ( const event_base evt)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::process_event ( const event_base_type evt)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
detail::reaction_result boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::react_impl ( const event_base_type ,
typename rtti_policy_type::id_type   
)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::release_events ( )
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::remove_inner_state ( detail::orthogonal_position_type  position)
inlineinherited

References BOOST_ASSERT.

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::set_outermost_unstable_state ( typename state_base_type::node_state_base_ptr_type &  pOutermostUnstableState)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
state_iterator boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::state_begin ( ) const
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class Target >
Target boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::state_cast ( ) const
inlineinherited

References boost::get_pointer(), and template.

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class Target >
Target boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::state_downcast ( ) const
inlineinherited

References boost::get_pointer(), and template.

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
state_iterator boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::state_end ( ) const
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class HistorizedState , class LeafState >
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::store_deep_history ( )
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
template<class HistorizedState >
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::store_shallow_history ( )
inlineinherited
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
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::terminate_as_part_of_transit ( state_base_type theState)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::terminate_as_part_of_transit ( state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator > &  )
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::terminate_as_reaction ( state_base_type theState)
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
bool boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::terminated ( ) const
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
const event_base_type* boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::triggering_event ( ) const
inlineinherited
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
void boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::unconsumed_event ( const event_base )
inlineinherited

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