outerorthogonal.hpp
来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 116 行
HPP
116 行
#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 + =
减小字号Ctrl + -
显示快捷键?