📄 outerorthogonal.hpp
字号:
#ifndef BOOST_STATECHART_TEST_OUTER_ORTHOGONAL_HPP_INCLUDED#define BOOST_STATECHART_TEST_OUTER_ORTHOGONAL_HPP_INCLUDED//////////////////////////////////////////////////////////////////////////////// Copyright 2004-2006 Andreas Huber Doenni// Distributed under the Boost Software License, Version 1.0. (See accompany-// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//////////////////////////////////////////////////////////////////////////////#include <boost/statechart/state.hpp>#include <boost/mpl/list.hpp>#include "InnermostDefault.hpp"namespace sc = boost::statechart;namespace mpl = boost::mpl;//////////////////////////////////////////////////////////////////////////////template< class MostDerived, class Context, class InitialState0 >struct Orthogonal0 : sc::state< MostDerived, Context, mpl::list< InitialState0, Default1< MostDerived >, Default2< MostDerived > > >{ typedef sc::state< MostDerived, Context, mpl::list< InitialState0, Default1< MostDerived >, Default2< MostDerived > > > base_type; typedef typename base_type::my_context my_context; typedef Orthogonal0 my_base; Orthogonal0( my_context ctx ) : base_type( ctx ) { this->outermost_context().template ActualEntry< MostDerived >(); } ~Orthogonal0() { this->outermost_context().template ActualDestructor< MostDerived >(); } void exit() { this->outermost_context().template ActualExitFunction< MostDerived >(); }};//////////////////////////////////////////////////////////////////////////////template< class MostDerived, class Context, class InitialState1 >struct Orthogonal1 : sc::state< MostDerived, Context, mpl::list< Default0< MostDerived >, InitialState1, Default2< MostDerived > > >{ typedef sc::state< MostDerived, Context, mpl::list< Default0< MostDerived >, InitialState1, Default2< MostDerived > > > base_type; typedef typename base_type::my_context my_context; typedef Orthogonal1 my_base; Orthogonal1( my_context ctx ) : base_type( ctx ) { this->outermost_context().template ActualEntry< MostDerived >(); } ~Orthogonal1() { this->outermost_context().template ActualDestructor< MostDerived >(); } void exit() { this->outermost_context().template ActualExitFunction< MostDerived >(); }};//////////////////////////////////////////////////////////////////////////////template< class MostDerived, class Context, class InitialState2 >struct Orthogonal2 : sc::state< MostDerived, Context, mpl::list< Default0< MostDerived >, Default1< MostDerived >, InitialState2 > >{ typedef sc::state< MostDerived, Context, mpl::list< Default0< MostDerived >, Default1< MostDerived >, InitialState2 > > base_type; typedef typename base_type::my_context my_context; typedef Orthogonal2 my_base; Orthogonal2( my_context ctx ) : base_type( ctx ) { this->outermost_context().template ActualEntry< MostDerived >(); } ~Orthogonal2() { this->outermost_context().template ActualDestructor< MostDerived >(); } void exit() { this->outermost_context().template ActualExitFunction< MostDerived >(); }};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -