Submits a completion token or function object for execution.
template< typename CompletionToken> DEDUCED defer( CompletionToken && token);
This function submits an object for execution using the object's associated
executor. The function object is queued for execution, and is never called
from the current thread prior to returning from defer()
.
The use of defer()
, rather than post
, indicates the caller's preference that the executor defer the queueing
of the function object. This may allow the executor to optimise queueing
for cases when the function object represents a continuation of the current
call context.
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)
.
ex
by
performing get_associated_executor(handler)
.
alloc
by performing get_associated_allocator(handler)
.
ex.defer(std::move(handler), alloc)
.
result.get()
.