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.