Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

spawn (10 of 13 overloads)

(Deprecated: Use overloads with a completion token.) Start a new stackful coroutine that executes on a given executor.

    typename Function,
    typename Executor>
void spawn(
    const Executor & ex,
    Function && function,
    const boost::coroutines::attributes & attributes = boost::coroutines::attributes(),
    typename constraint< is_executor< Executor >::value||execution::is_executor< Executor >::value >::type  = 0);

This function is used to launch a new coroutine.



Identifies the executor that will run the coroutine. The new coroutine is automatically given its own explicit strand within this executor.


The coroutine function. The function must have the signature:

void function(yield_context yield);

Boost.Coroutine attributes used to customise the coroutine.