1 
2 //          Copyright Oliver Kowalke 2009.
3 // Distributed under the Boost Software License, Version 1.0.
4 //    (See accompanying file LICENSE_1_0.txt or copy at
5 //          http://www.boost.org/LICENSE_1_0.txt)
6 
7 #ifndef BOOST_COROUTINES_DETAIL_FLAGS_H
8 #define BOOST_COROUTINES_DETAIL_FLAGS_H
9 
10 #include <boost/config.hpp>
11 
12 #ifdef BOOST_HAS_ABI_HEADERS
13 #  include BOOST_ABI_PREFIX
14 #endif
15 
16 namespace boost {
17 namespace coroutines {
18 namespace detail {
19 
20 enum flag_t
21 {
22     flag_started        = 1 << 1,
23     flag_running        = 1 << 2,
24     flag_complete       = 1 << 3,
25     flag_unwind_stack   = 1 << 4,
26     flag_force_unwind   = 1 << 5
27 };
28 
29 struct unwind_t
30 {
31     enum flag_t
32     { force_unwind = 1 };
33 };
34 
35 struct synthesized_t
36 {
37     enum flag_t
38     { syntesized = 1 };
39 };
40 
41 }}}
42 
43 #ifdef BOOST_HAS_ABI_HEADERS
44 #  include BOOST_ABI_SUFFIX
45 #endif
46 
47 #endif // BOOST_COROUTINES_DETAIL_FLAGS_H
48