#### spawn (10 of 13 overloads)

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

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

This function is used to launch a new coroutine.

###### Parameters

ex

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

function

  The coroutine function. The function must have the signature:

      void function(yield_context yield);

attributes

  Boost.Coroutine attributes used to customise the coroutine.