Submits a completion token or function object for execution.
template< typename Executor, typename CompletionToken = DEFAULT> DEDUCED dispatch( const Executor & ex, CompletionToken && token = DEFAULT, typename enable_if< execution::is_executor< Executor >::value||is_executor< Executor >::value >::type * = 0);
This function submits an object for execution using the specified executor.
The function object may be called from the current thread prior to returning
from dispatch()
. Otherwise, it is queued for execution.
This function has the following effects:
Handler
,
initialized with handler(forward<CompletionToken>(token))
.
result
of type async_result<Handler>
,
initializing the object as result(handler)
.
ex1
by
performing get_associated_executor(handler)
.
w
by performing make_work(ex1)
.
alloc
by performing get_associated_allocator(handler)
.
f
with a function call operator
that performs ex1.dispatch(std::move(handler), alloc)
followed by w.reset()
.
Executor(ex).dispatch(std::move(f), alloc)
.
result.get()
.