13 Asynchronous model [async]

13.15 Function bind_executor [async.bind.executor]

template<class Executor, class T> executor_binder<decay_t<T>, Executor> bind_executor(const Executor& ex, T&& t);

Returns: executor_binder<decay_t<T>, Executor>(forward<T>(t), ex).

Remarks: This function shall not participate in overload resolution unless is_executor_v<Executor> is true.

template<class ExecutionContext, class CompletionToken> executor_binder<decay_t<T>, typename ExecutionContext::executor_type> bind_executor(ExecutionContext& ctx, T&& t);

Returns: bind_executor(ctx.get_executor(), forward<T>(t)).

Remarks: This function shall not participate in overload resolution unless is_convertible<ExecutionContext&, execution_context&>::value is true.