shooting.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 65 行

HPP
65
字号
#ifndef BOOST_STATECHART_EXAMPLE_SHOOTING_HPP_INCLUDED#define BOOST_STATECHART_EXAMPLE_SHOOTING_HPP_INCLUDED//////////////////////////////////////////////////////////////////////////////// Copyright 2002-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 "Camera.hpp"#include <boost/statechart/event.hpp>#include <boost/statechart/simple_state.hpp>#include <boost/statechart/state.hpp>#include <boost/statechart/transition.hpp>#include <boost/statechart/custom_reaction.hpp>#include <boost/statechart/deferral.hpp>#include <boost/mpl/list.hpp>#include <boost/config.hpp>#ifdef BOOST_INTEL#  pragma warning( disable: 304 ) // access control not specified#endifnamespace sc = boost::statechart;namespace mpl = boost::mpl;//////////////////////////////////////////////////////////////////////////////struct EvInFocus : sc::event< EvInFocus > {};struct Focusing;struct Shooting : sc::simple_state< Shooting, Camera, Focusing >{  typedef sc::transition< EvShutterRelease, NotShooting > reactions;  Shooting();  ~Shooting();  void DisplayFocused( const EvInFocus & )  {    std::cout << "Focused!\n";  }};  struct Focusing : sc::state< Focusing, Shooting >  {    typedef mpl::list<      sc::custom_reaction< EvInFocus >,      sc::deferral< EvShutterFull >    > reactions;    Focusing( my_context ctx );    sc::result react( const EvInFocus & );  };#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?