summaryrefslogtreecommitdiff
path: root/boost/coroutine/detail/symmetric_coroutine_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/coroutine/detail/symmetric_coroutine_impl.hpp')
-rw-r--r--boost/coroutine/detail/symmetric_coroutine_impl.hpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/boost/coroutine/detail/symmetric_coroutine_impl.hpp b/boost/coroutine/detail/symmetric_coroutine_impl.hpp
index 0234ca7765..96d948a49c 100644
--- a/boost/coroutine/detail/symmetric_coroutine_impl.hpp
+++ b/boost/coroutine/detail/symmetric_coroutine_impl.hpp
@@ -16,6 +16,7 @@
#include <boost/coroutine/detail/coroutine_context.hpp>
#include <boost/coroutine/detail/flags.hpp>
#include <boost/coroutine/detail/parameters.hpp>
+#include <boost/coroutine/detail/preallocated.hpp>
#include <boost/coroutine/detail/trampoline.hpp>
#include <boost/coroutine/exceptions.hpp>
#include <boost/coroutine/stack_context.hpp>
@@ -34,11 +35,11 @@ class symmetric_coroutine_impl : private noncopyable
public:
typedef parameters< R > param_type;
- symmetric_coroutine_impl( stack_context const& stack_ctx,
+ symmetric_coroutine_impl( preallocated const& palloc,
bool unwind, bool preserve_fpu) BOOST_NOEXCEPT :
flags_( 0),
caller_(),
- callee_( trampoline< symmetric_coroutine_impl< R > >, stack_ctx)
+ callee_( trampoline< symmetric_coroutine_impl< R > >, palloc)
{
if ( unwind) flags_ |= flag_force_unwind;
if ( preserve_fpu) flags_ |= flag_preserve_fpu;
@@ -182,11 +183,11 @@ class symmetric_coroutine_impl< R & > : private noncopyable
public:
typedef parameters< R & > param_type;
- symmetric_coroutine_impl( stack_context const& stack_ctx,
+ symmetric_coroutine_impl( preallocated const& palloc,
bool unwind, bool preserve_fpu) BOOST_NOEXCEPT :
flags_( 0),
caller_(),
- callee_( trampoline< symmetric_coroutine_impl< R > >, stack_ctx)
+ callee_( trampoline< symmetric_coroutine_impl< R > >, palloc)
{
if ( unwind) flags_ |= flag_force_unwind;
if ( preserve_fpu) flags_ |= flag_preserve_fpu;
@@ -330,11 +331,11 @@ class symmetric_coroutine_impl< void > : private noncopyable
public:
typedef parameters< void > param_type;
- symmetric_coroutine_impl( stack_context const& stack_ctx,
+ symmetric_coroutine_impl( preallocated const& palloc,
bool unwind, bool preserve_fpu) BOOST_NOEXCEPT :
flags_( 0),
caller_(),
- callee_( trampoline_void< symmetric_coroutine_impl< void > >, stack_ctx)
+ callee_( trampoline_void< symmetric_coroutine_impl< void > >, palloc)
{
if ( unwind) flags_ |= flag_force_unwind;
if ( preserve_fpu) flags_ |= flag_preserve_fpu;
@@ -392,7 +393,7 @@ public:
flags_ &= ~flag_running;
}
- inline void yield() BOOST_NOEXCEPT
+ inline void yield()
{
BOOST_ASSERT( is_running() );
BOOST_ASSERT( ! is_complete() );