Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode > Class Template Reference

#include <simple_state.hpp>

Inheritance diagram for boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >:
Collaboration diagram for boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >:

Classes

struct  orthogonal
 

Public Types

typedef mpl::list reactions
 
typedef Context::inner_context_type context_type
 
typedef
context_type::outermost_context_type 
outermost_context_type
 
typedef
context_type::state_base_type 
state_base_type
 
typedef
context_type::state_iterator 
state_iterator
 
typedef
context_type::event_base_ptr_type 
event_base_ptr_type
 
typedef
Context::inner_orthogonal_position 
orthogonal_position
 
typedef MostDerived inner_context_type
 
typedef mpl::integral_c
< detail::orthogonal_position_type, 0 > 
inner_orthogonal_position
 
typedef
context_type::event_base_type 
event_base_type
 
typedef
context_type::rtti_policy_type 
rtti_policy_type
 
typedef
context_type::outermost_context_base_type 
outermost_context_base_type
 
typedef
context_type::inner_context_ptr_type 
context_ptr_type
 
typedef
context_type::state_list_type 
state_list_type
 
typedef intrusive_ptr
< inner_context_type
inner_context_ptr_type
 
typedef detail::make_list
< InnerInitial >::type 
inner_initial_list
 
typedef mpl::size
< inner_initial_list >::type 
inner_initial_list_size
 
typedef mpl::integral_c
< detail::orthogonal_position_type,
inner_initial_list_size::value > 
no_of_orthogonal_regions
 
typedef mpl::push_front
< typename
context_type::context_type_list,
context_type >::type 
context_type_list
 
typedef mpl::bool_
< (historyMode
&has_shallow_history)!=0 > 
shallow_history
 
typedef
context_type::shallow_history 
stores_shallow_history
 
typedef mpl::bool_
< (historyMode
&has_deep_history)!=0 > 
deep_history
 
typedef mpl::or_< deep_history,
typename
context_type::inherited_deep_history >
::type 
inherited_deep_history
 
typedef mpl::and_
< inherited_deep_history,
mpl::empty< inner_initial_list >
>::type 
stores_deep_history
 

Public Member Functions

outermost_context_typeoutermost_context ()
 
const outermost_context_typeoutermost_context () const
 
template<class OtherContext >
OtherContext & context ()
 
template<class OtherContext >
const OtherContext & context () const
 
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 post_event (const event_base_ptr_type &pEvent)
 
void post_event (const event_base &evt)
 
result discard_event ()
 
result forward_event ()
 
result defer_event ()
 
template<class DestinationState >
result transit ()
 
template<class DestinationState , class TransitionContext , class Event >
result transit (void(TransitionContext::*pTransitionAction)(const Event &), const Event &evt)
 
result terminate ()
 
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_basetriggering_event () const
 
 BOOST_STATIC_ASSERT ((mpl::less< orthogonal_position, typename context_type::no_of_orthogonal_regions >::value))
 
 BOOST_STATIC_ASSERT ((mpl::or_< mpl::less< no_of_orthogonal_regions, mpl::integral_c< detail::orthogonal_position_type, 2 > >, mpl::not_< typename context_type::inherited_deep_history > >::value))
 
void * operator new (std::size_t size)
 
void operator delete (void *pState)
 
outermost_context_base_typeoutermost_context_base ()
 
const outermost_context_base_typeoutermost_context_base () const
 
virtual const state_base_typeouter_state_ptr () const
 
virtual detail::reaction_result react_impl (const event_base_type &evt, typename rtti_policy_type::id_type eventType)
 
virtual void exit_impl (typename base_type::direct_state_base_ptr_type &pSelf, typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState, bool performFullExit)
 
void exit_impl (inner_context_ptr_type &pSelf, typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState, bool performFullExit)
 
void set_outermost_unstable_state (typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState)
 
template<class OtherContext >
const
OtherContext::inner_context_ptr_type & 
context_ptr () const
 
void set_context (const context_ptr_type &pContext)
 
template<class LeafState >
void store_deep_history_impl ()
 

Static Public Member Functions

static void initial_deep_construct (outermost_context_base_type &outermostContextBase)
 
static void deep_construct (const context_ptr_type &pContext, outermost_context_base_type &outermostContextBase)
 
static inner_context_ptr_type shallow_construct (const context_ptr_type &pContext, outermost_context_base_type &outermostContextBase)
 
template<class InnerList >
static void deep_construct_inner (const inner_context_ptr_type &pInnerContext, outermost_context_base_type &outermostContextBase)
 

Protected Member Functions

 simple_state ()
 
 ~simple_state ()
 

Friends

struct context_ptr_impl_other_context
 
struct context_ptr_impl_my_context
 
struct context_impl_other_context
 
struct context_impl_this_context
 
struct local_react_impl_non_empty
 
struct outer_state_ptr_impl_non_outermost
 
struct check_store_shallow_history_impl_yes
 
struct check_store_deep_history_impl_yes
 

Member Typedef Documentation

template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::inner_context_ptr_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::context_ptr_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef Context::inner_context_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::context_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::push_front< typename context_type::context_type_list, context_type >::type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::context_type_list
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::bool_< ( historyMode & has_deep_history ) != 0 > boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::deep_history
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::event_base_ptr_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::event_base_ptr_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::event_base_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::event_base_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::or_< deep_history, typename context_type::inherited_deep_history >::type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::inherited_deep_history
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef intrusive_ptr< inner_context_type > boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::inner_context_ptr_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef MostDerived boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::inner_context_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef detail::make_list< InnerInitial >::type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::inner_initial_list
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::size< inner_initial_list >::type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::inner_initial_list_size
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::integral_c< detail::orthogonal_position_type, 0 > boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::inner_orthogonal_position
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::integral_c< detail::orthogonal_position_type, inner_initial_list_size::value > boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::no_of_orthogonal_regions
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef Context::inner_orthogonal_position boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::orthogonal_position
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::outermost_context_base_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::outermost_context_base_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::outermost_context_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::outermost_context_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::list boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::reactions
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::rtti_policy_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::rtti_policy_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::bool_< ( historyMode & has_shallow_history ) != 0 > boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::shallow_history
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::state_base_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::state_base_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::state_iterator boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::state_iterator
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::state_list_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::state_list_type
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef mpl::and_< inherited_deep_history, mpl::empty< inner_initial_list > >::type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::stores_deep_history
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
typedef context_type::shallow_history boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::stores_shallow_history

Constructor & Destructor Documentation

template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::simple_state ( )
inlineprotected
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::~simple_state ( )
inlineprotected

Member Function Documentation

template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::BOOST_STATIC_ASSERT ( (mpl::less< orthogonal_position, typename context_type::no_of_orthogonal_regions >::value)  )
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::BOOST_STATIC_ASSERT ( (mpl::or_< mpl::less< no_of_orthogonal_regions, mpl::integral_c< detail::orthogonal_position_type, 2 > >, mpl::not_< typename context_type::inherited_deep_history > >::value)  )
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class HistoryContext , detail::orthogonal_position_type orthogonalPosition>
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::clear_deep_history ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class HistoryContext , detail::orthogonal_position_type orthogonalPosition>
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::clear_shallow_history ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class OtherContext >
OtherContext& boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::context ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class OtherContext >
const OtherContext& boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::context ( ) const
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class OtherContext >
const OtherContext::inner_context_ptr_type& boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::context_ptr ( ) const
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
static void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::deep_construct ( const context_ptr_type pContext,
outermost_context_base_type outermostContextBase 
)
inlinestatic
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class InnerList >
static void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::deep_construct_inner ( const inner_context_ptr_type pInnerContext,
outermost_context_base_type outermostContextBase 
)
inlinestatic

References template.

template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
result boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::defer_event ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
result boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::discard_event ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
virtual void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::exit_impl ( typename base_type::direct_state_base_ptr_type &  pSelf,
typename state_base_type::node_state_base_ptr_type &  pOutermostUnstableState,
bool  performFullExit 
)
inlinevirtual
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::exit_impl ( inner_context_ptr_type pSelf,
typename state_base_type::node_state_base_ptr_type &  pOutermostUnstableState,
bool  performFullExit 
)
inline

References boost::get_pointer().

template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
result boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::forward_event ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
static void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::initial_deep_construct ( outermost_context_base_type outermostContextBase)
inlinestatic
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::operator delete ( void *  pState)
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
void* boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::operator new ( std::size_t  size)
inline

References boost::size().

template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
virtual const state_base_type* boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::outer_state_ptr ( ) const
inlinevirtual
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
outermost_context_type& boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::outermost_context ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
const outermost_context_type& boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::outermost_context ( ) const
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
const outermost_context_base_type& boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::outermost_context_base ( ) const
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::post_event ( const event_base_ptr_type pEvent)
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::post_event ( const event_base evt)
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
virtual detail::reaction_result boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::react_impl ( const event_base_type evt,
typename rtti_policy_type::id_type  eventType 
)
inlinevirtual
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::set_context ( const context_ptr_type pContext)
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::set_outermost_unstable_state ( typename state_base_type::node_state_base_ptr_type &  pOutermostUnstableState)
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
static inner_context_ptr_type boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::shallow_construct ( const context_ptr_type pContext,
outermost_context_base_type outermostContextBase 
)
inlinestatic
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
state_iterator boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::state_begin ( ) const
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class Target >
Target boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::state_cast ( ) const
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class Target >
Target boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::state_downcast ( ) const
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
state_iterator boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::state_end ( ) const
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class LeafState >
void boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::store_deep_history_impl ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
result boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::terminate ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class DestinationState >
result boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::transit ( )
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
template<class DestinationState , class TransitionContext , class Event >
result boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::transit ( void(TransitionContext::*)(const Event &)  pTransitionAction,
const Event &  evt 
)
inline
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
const event_base* boost::statechart::simple_state< MostDerived, Context, InnerInitial, historyMode >::triggering_event ( ) const
inline

Friends And Related Function Documentation

template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
friend struct check_store_deep_history_impl_yes
friend
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
friend struct check_store_shallow_history_impl_yes
friend
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
friend struct context_impl_other_context
friend
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
friend struct context_impl_this_context
friend
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
friend struct context_ptr_impl_my_context
friend
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
friend struct context_ptr_impl_other_context
friend
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
friend struct local_react_impl_non_empty
friend
template<class MostDerived , class Context , class InnerInitial = mpl::list<>, history_mode historyMode = has_no_history>
friend struct outer_state_ptr_impl_non_outermost
friend

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