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)
7
#ifndef BOOST_COROUTINES_ATTRIBUTES_H
8
#define BOOST_COROUTINES_ATTRIBUTES_H
12
#include <boost/config.hpp>
14
#include <boost/coroutine/flags.hpp>
15
#include <boost/coroutine/stack_allocator.hpp>
17
#ifdef BOOST_HAS_ABI_HEADERS
18
# include BOOST_ABI_PREFIX
22
namespace coroutines {
27
flag_unwind_t do_unwind;
28
flag_fpu_t preserve_fpu;
30
attributes() BOOST_NOEXCEPT :
31
size( stack_allocator::default_stacksize() ),
32
do_unwind( stack_unwind),
33
preserve_fpu( fpu_preserved)
36
explicit attributes( std::size_t size_) BOOST_NOEXCEPT :
38
do_unwind( stack_unwind),
39
preserve_fpu( fpu_preserved)
42
explicit attributes( flag_unwind_t do_unwind_) BOOST_NOEXCEPT :
43
size( stack_allocator::default_stacksize() ),
44
do_unwind( do_unwind_),
45
preserve_fpu( fpu_preserved)
48
explicit attributes( flag_fpu_t preserve_fpu_) BOOST_NOEXCEPT :
49
size( stack_allocator::default_stacksize() ),
50
do_unwind( stack_unwind),
51
preserve_fpu( preserve_fpu_)
56
flag_unwind_t do_unwind_) BOOST_NOEXCEPT :
58
do_unwind( do_unwind_),
59
preserve_fpu( fpu_preserved)
64
flag_fpu_t preserve_fpu_) BOOST_NOEXCEPT :
66
do_unwind( stack_unwind),
67
preserve_fpu( preserve_fpu_)
71
flag_unwind_t do_unwind_,
72
flag_fpu_t preserve_fpu_) BOOST_NOEXCEPT :
73
size( stack_allocator::default_stacksize() ),
74
do_unwind( do_unwind_),
75
preserve_fpu( preserve_fpu_)
81
#ifdef BOOST_HAS_ABI_HEADERS
82
# include BOOST_ABI_SUFFIX
85
#endif // BOOST_COROUTINES_ATTRIBUTES_H