]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/msm/row_tags.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / msm / row_tags.hpp
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_ROW_TAGS_H
12 #define BOOST_MSM_ROW_TAGS_H
13
14
15
16 namespace boost { namespace msm
17 {
18 //tags
19 struct a_row_tag {};
20 struct g_row_tag {};
21 struct _row_tag {};
22 struct row_tag {};
23 // tags for internal transitions
24 struct a_irow_tag {};
25 struct g_irow_tag {};
26 struct _irow_tag {};
27 struct irow_tag {};
28 // tags for transitions internal to state machines (not using any substate)
29 struct sm_a_i_row_tag {};
30 struct sm_g_i_row_tag {};
31 struct sm__i_row_tag {};
32 struct sm_i_row_tag {};
33
34 // flags used internally to handle terminate / interrupt states
35 struct TerminateFlag
36 {
37 typedef int non_forwarding_flag;
38 typedef int event_blocking_flag;
39 };
40 struct InterruptedFlag
41 {
42 typedef int non_forwarding_flag;
43 typedef int event_blocking_flag;
44 };
45 template <class EndEvent>
46 struct EndInterruptFlag
47 {
48 typedef int non_forwarding_flag;
49 };
50
51 } } // boost::msm
52 #endif //BOOST_MSM_ROW_TAGS_H
53