1 // Copyright 2008 Christophe Henry 2 // henry UNDERSCORE christophe AT hotmail DOT com 3 // This is an extended version of the state machine available in the boost::mpl library 4 // Distributed under the same license as the original. 5 // Copyright for the original version: 6 // Copyright 2005 David Abrahams and Aleksey Gurtovoy. Distributed 7 // under the Boost Software License, Version 1.0. (See accompanying 8 // file LICENSE_1_0.txt or copy at 9 // http://www.boost.org/LICENSE_1_0.txt) 10 11 #ifndef BOOST_MSM_COMMON_TYPES_H 12 #define BOOST_MSM_COMMON_TYPES_H 13 14 #include <boost/tuple/tuple.hpp> 15 #include <boost/msm/common.hpp> 16 17 namespace boost { namespace msm { namespace back 18 { 19 // used for disable_if dummyboost::msm::back::dummy20template <int> struct dummy { dummy(int) {} }; 21 // return value for transition handling 22 typedef enum 23 { 24 HANDLED_FALSE=0, 25 HANDLED_TRUE =1, 26 HANDLED_GUARD_REJECT=2, 27 HANDLED_DEFERRED=4 28 } HandledEnum; 29 30 typedef HandledEnum execute_return; 31 32 // source of event provided to RTC algorithm 33 enum EventSourceEnum 34 { 35 EVENT_SOURCE_DEFAULT=0, 36 EVENT_SOURCE_DIRECT=1, 37 EVENT_SOURCE_DEFERRED=2, 38 EVENT_SOURCE_MSG_QUEUE=4 39 }; 40 41 typedef unsigned char EventSource; 42 43 }}} 44 45 #endif //BOOST_MSM_COMMON_TYPES_H 46 47