A customisation point that executes a function on an executor.
constexpr unspecified execute = unspecified;
The name execution::execute
denotes a customisation point object.
For some subexpressions e
and f
, let E
be a type such that decltype((e))
is E
and let
F
be a type such that decltype((f))
is F
.
The expression execution::execute(e, f)
is ill-formed if F
does not model invocable
, or if E
does not model
either executor
or sender
. Otherwise, it is expression-equivalent
to:
e.execute(f)
, if that expression is valid. If the function
selected does not execute the function object f
on the executor
e
, the program is ill-formed with no diagnostic required.
execute(e, f)
, if that expression is valid, with
overload resolution performed in a context that includes the declaration
void execute();
and that does not include a declaration
of execution::execute
. If the function selected by overload
resolution does not execute the function object f
on the
executor e
, the program is ill-formed with no diagnostic
required.
Header: asio/execution/execute.hpp
Convenience header: asio/execution.hpp