#### defer (3 of 3 overloads)

Submits a completion token or function object for execution.

    template<
        typename ExecutionContext,
        typename NullaryToken = default_completion_token_t<typename ExecutionContext::executor_type>>
    auto defer(
        ExecutionContext & ctx,
        NullaryToken && token = default_completion_token_t< typename ExecutionContext::executor_type >(),
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value >  = 0);

###### Parameters

ctx

  An execution context, from which the target executor is obtained.

token

  The completion token that will be used to produce a completion handler. The function signature of the completion handler must be:

      void handler();

###### Return Value

`defer(ctx.get_executor(), forward<NullaryToken>(token))`.

###### Completion Signature

    void()