Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator > Class Template Reference

#include <state_machine.hpp>

Inheritance diagram for boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >:
Collaboration diagram for boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >:

Classes

class  state_iterator
 

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
 

Public Member Functions

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)
 

Protected Member Functions

 state_machine ()
 
virtual ~state_machine ()
 
void post_event (const event_base_ptr_type &pEvent)
 
void post_event (const event_base &evt)
 

Friends

class initial_construct_function
 
class terminate_function
 
class exception_event_handler
 
class terminator
 

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

Constructor & Destructor Documentation

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::state_machine ( )
inlineprotected
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
virtual boost::statechart::state_machine< MostDerived, InitialState, Allocator, ExceptionTranslator >::~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)
inline

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

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 ( )
inline
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 ( )
inline
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)
inline
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)
inline
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 ( )
inline
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
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 >::exit_impl ( inner_context_ptr_type ,
typename state_base_type::node_state_base_ptr_type &  ,
bool   
)
inline
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 ( )
inline
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
inline
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 ( )
inline
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
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 >::post_event ( const event_base_ptr_type pEvent)
inlineprotected
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)
inlineprotected
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)
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 >::post_event_impl ( const event_base evt)
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 >::process_event ( const event_base_type evt)
inline
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   
)
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 >::release_events ( )
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 >::remove_inner_state ( detail::orthogonal_position_type  position)
inline

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

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
inline

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
inline
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 ( )
inline
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 ( )
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)
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_machine< MostDerived, InitialState, Allocator, ExceptionTranslator > &  )
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_reaction ( state_base_type theState)
inline
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
inline
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
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 >::unconsumed_event ( const event_base )
inline

Friends And Related Function Documentation

template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
friend class exception_event_handler
friend
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
friend class initial_construct_function
friend
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
friend class terminate_function
friend
template<class MostDerived , class InitialState , class Allocator = std::allocator< void >, class ExceptionTranslator = null_exception_translator>
friend class terminator
friend

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