#### spawn (3 of 7 overloads)

Start a new stackful coroutine, inheriting the execution context of another.

    template<
        typename Handler,
        typename Function>
    void spawn(
        basic_yield_context< Handler > ctx,
        Function && function,
        const boost::coroutines::attributes & attributes = boost::coroutines::attributes());

This function is used to launch a new coroutine.

###### Parameters

ctx

  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.

function

  The coroutine function. The function must have the signature:

      void function(basic_yield_context<Handler> yield);

attributes

  Boost.Coroutine attributes used to customise the coroutine.