hpx/execution_base/operation_state.hpp¶
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace
hpx
-
namespace
execution
-
namespace
experimental
Functions
-
template<typename
O
>
voidstart
(O &&o)¶ start is a customization point object. The expression
hpx::execution::experimental::start(r)
is equivalent to:r.start()
, if that expression is valid. If the function selected does not signal the receiverr
’s done channel, the program is ill-formed (no diagnostic required).Otherwise, `start(r), if that expression is valid, with overload resolution performed in a context that include the declaration
void start();
Otherwise, the expression is ill-formed.
The customization is implemented in terms of
hpx::functional::tag_invoke
.
Variables
-
hpx::execution::experimental::start_t
start
¶
-
template<typename
O
>
constexpr boolis_operation_state_v
= meta::value<is_operation_state<O>>¶
-
template<typename
O
>
structis_operation_state
¶ - #include <operation_state.hpp>
An
operation_state
is an object representing the asynchronous operation that has been returned from callinghpx::execution::experimental::connect
with asender
and areceiver
. The only operation on anoperation_state
is:hpx::execution::experimental::start
hpx::execution::experimental::start
can be called exactly once. Once it has been invoked, the caller needs to ensure that the receiver’s completion signaling operations strongly happen before the destructor of the state is called. The call tohpx::execution::experimental::start
needs to happen strongly before the completion signaling operations.
-
template<typename
-
namespace
-
namespace