Chris@16: Chris@16: // Copyright Oliver Kowalke 2009. Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef BOOST_COROUTINES_ATTRIBUTES_H Chris@16: #define BOOST_COROUTINES_ATTRIBUTES_H Chris@16: Chris@16: #include Chris@16: Chris@16: #include Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: #ifdef BOOST_HAS_ABI_HEADERS Chris@16: # include BOOST_ABI_PREFIX Chris@16: #endif Chris@16: Chris@16: namespace boost { Chris@16: namespace coroutines { Chris@16: Chris@16: struct attributes Chris@16: { Chris@16: std::size_t size; Chris@16: flag_unwind_t do_unwind; Chris@16: flag_fpu_t preserve_fpu; Chris@16: Chris@16: attributes() BOOST_NOEXCEPT : Chris@101: size( stack_allocator::traits_type::default_size() ), Chris@16: do_unwind( stack_unwind), Chris@16: preserve_fpu( fpu_preserved) Chris@16: {} Chris@16: Chris@16: explicit attributes( std::size_t size_) BOOST_NOEXCEPT : Chris@16: size( size_), Chris@16: do_unwind( stack_unwind), Chris@16: preserve_fpu( fpu_preserved) Chris@16: {} Chris@16: Chris@16: explicit attributes( flag_unwind_t do_unwind_) BOOST_NOEXCEPT : Chris@101: size( stack_allocator::traits_type::default_size() ), Chris@16: do_unwind( do_unwind_), Chris@16: preserve_fpu( fpu_preserved) Chris@16: {} Chris@16: Chris@16: explicit attributes( flag_fpu_t preserve_fpu_) BOOST_NOEXCEPT : Chris@101: size( stack_allocator::traits_type::default_size() ), Chris@16: do_unwind( stack_unwind), Chris@16: preserve_fpu( preserve_fpu_) Chris@16: {} Chris@16: Chris@16: explicit attributes( Chris@16: std::size_t size_, Chris@16: flag_unwind_t do_unwind_) BOOST_NOEXCEPT : Chris@16: size( size_), Chris@16: do_unwind( do_unwind_), Chris@16: preserve_fpu( fpu_preserved) Chris@16: {} Chris@16: Chris@16: explicit attributes( Chris@16: std::size_t size_, Chris@16: flag_fpu_t preserve_fpu_) BOOST_NOEXCEPT : Chris@16: size( size_), Chris@16: do_unwind( stack_unwind), Chris@16: preserve_fpu( preserve_fpu_) Chris@16: {} Chris@16: Chris@16: explicit attributes( Chris@16: flag_unwind_t do_unwind_, Chris@16: flag_fpu_t preserve_fpu_) BOOST_NOEXCEPT : Chris@101: size( stack_allocator::traits_type::default_size() ), Chris@101: do_unwind( do_unwind_), Chris@101: preserve_fpu( preserve_fpu_) Chris@101: {} Chris@101: Chris@101: explicit attributes( Chris@101: std::size_t size_, Chris@101: flag_unwind_t do_unwind_, Chris@101: flag_fpu_t preserve_fpu_) BOOST_NOEXCEPT : Chris@101: size( size_), Chris@16: do_unwind( do_unwind_), Chris@16: preserve_fpu( preserve_fpu_) Chris@16: {} Chris@16: }; Chris@16: Chris@16: }} Chris@16: Chris@16: #ifdef BOOST_HAS_ABI_HEADERS Chris@16: # include BOOST_ABI_SUFFIX Chris@16: #endif Chris@16: Chris@16: #endif // BOOST_COROUTINES_ATTRIBUTES_H