...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
(Deprecated: Use overloads with a completion token.) Start a new stackful coroutine, inheriting the execution context of another.
template< typename Executor, typename Function> void spawn( basic_yield_context< Executor > ctx, Function && function, const boost::coroutines::attributes & attributes = boost::coroutines::attributes());
This function is used to launch a new coroutine.
Identifies the current coroutine as a parent of the new coroutine. This specifies that the new coroutine should inherit the execution context of the parent. For example, if the parent coroutine is executing in a particular strand, then the new coroutine will execute in the same strand.
The coroutine function. The function must have the signature:
void function(basic_yield_context<Executor> yield);
Boost.Coroutine attributes used to customise the coroutine.