hpx/execution_base/sender.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
Typedefs
Functions
-
template<typename
S
, typenameR
>
voidconnect
(S &&s, R &&r)¶ connect is a customization point object. For some subexpression
s
andr
, letS
be the type such thatdecltype((s))
isS
and letR
be the type such thatdecltype((r))
isR
. The result of the expressionhpx::execution::experimental::connect(s, r)
is then equivalent to:s.connect(r)
, if that expression is valid and returns a type satisfying theoperation_state
(- See
hpx::execution::experimental::traits::is_operation_state) and if
S
satisfies thesender
concept.
s.connect(r)
, if that expression is valid and returns a type satisfying theoperation_state
(- See
hpx::execution::experimental::traits::is_operation_state) and if
S
satisfies thesender
concept. Overload resolution is performed in a context that include the declarationvoid connect();
Otherwise, the expression is ill-formed.
The customization is implemented in terms of
hpx::functional::tag_invoke
.
Variables
-
hpx::execution::experimental::connect_t
connect
¶
-
hpx::execution::experimental::schedule_t
schedule
¶
-
struct
connect_t
: public hpx::functional::tag<connect_t>¶ - #include <sender.hpp>
The name schedule denotes a customization point object. For some subexpression s, let S be decltype((s)). The expression schedule(s) is expression-equivalent to:
* s.schedule(), if that expression is valid and its type models sender. * Otherwise, schedule(s), if that expression is valid and its type models sender with overload resolution performed in a context that includes the declaration void schedule(); and that does not include a declaration of schedule. * Otherwise, schedule(s) is ill-formed.
The customization is implemented in terms of
hpx::functional::tag_invoke
.
-
template<typename
-
namespace
-
namespace