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