• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_ATTRIBUTES_H
8 #define BOOST_COROUTINES_ATTRIBUTES_H
9 
10 #include <cstddef>
11 
12 #include <boost/config.hpp>
13 
14 #include <boost/coroutine/flags.hpp>
15 #include <boost/coroutine/stack_allocator.hpp>
16 
17 #ifdef BOOST_HAS_ABI_HEADERS
18 #  include BOOST_ABI_PREFIX
19 #endif
20 
21 namespace boost {
22 namespace coroutines {
23 
24 struct attributes
25 {
26     std::size_t     size;
27     flag_unwind_t   do_unwind;
28 
attributesboost::coroutines::attributes29     attributes() BOOST_NOEXCEPT :
30         size( stack_allocator::traits_type::default_size() ),
31         do_unwind( stack_unwind)
32     {}
33 
attributesboost::coroutines::attributes34     explicit attributes( std::size_t size_) BOOST_NOEXCEPT :
35         size( size_),
36         do_unwind( stack_unwind)
37     {}
38 
attributesboost::coroutines::attributes39     explicit attributes( flag_unwind_t do_unwind_) BOOST_NOEXCEPT :
40         size( stack_allocator::traits_type::default_size() ),
41         do_unwind( do_unwind_)
42     {}
43 
attributesboost::coroutines::attributes44     explicit attributes(
45             std::size_t size_,
46             flag_unwind_t do_unwind_) BOOST_NOEXCEPT :
47         size( size_),
48         do_unwind( do_unwind_)
49     {}
50 };
51 
52 }}
53 
54 #ifdef BOOST_HAS_ABI_HEADERS
55 #  include BOOST_ABI_SUFFIX
56 #endif
57 
58 #endif // BOOST_COROUTINES_ATTRIBUTES_H
59