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
21namespace boost {
22namespace coroutines {
23
24struct attributes
25{
26 std::size_t size;
27 flag_unwind_t do_unwind;
28
29 attributes() BOOST_NOEXCEPT :
30 size( stack_allocator::traits_type::default_size() ),
31 do_unwind( stack_unwind)
32 {}
33
34 explicit attributes( std::size_t size_) BOOST_NOEXCEPT :
35 size( size_),
36 do_unwind( stack_unwind)
37 {}
38
39 explicit attributes( flag_unwind_t do_unwind_) BOOST_NOEXCEPT :
40 size( stack_allocator::traits_type::default_size() ),
41 do_unwind( do_unwind_)
42 {}
43
44 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

source code of boost/libs/coroutine/include/boost/coroutine/attributes.hpp