19 template<
typename Send,
typename Rec,
typename Sched>
24 template<concepts::Sender Send, concepts::Receiver Rec, concepts::Scheduler Sched>
27 template<
typename Base, concepts::Scheduler Sched>
30 template<
typename Send,
typename Rec,
typename Sched>
40 auto base() const& -> Rec const& {
return m_operation_state->receiver; }
41 auto base() && -> Rec&& {
return util::move(m_operation_state->receiver); }
52 template<concepts::Sender Send, concepts::Receiver Rec, concepts::Scheduler Sched>
55 template<
typename Send,
typename Rec,
typename Sched>
65 auto base() const& -> Rec const& {
return m_operation_state->receiver; }
66 auto base() && -> Rec&& {
return util::move(m_operation_state->receiver); }
69 void set_value() && { m_operation_state->phase2(); }
75 template<concepts::Sender Send, concepts::Receiver Rec, concepts::Scheduler Sched>
78 template<
typename Send,
typename Rec,
typename Sched>
90 explicit Type(Sched scheduler_, S&& sender_, Rec receiver_)
92 ,
sender(util::forward<S>(sender_))
112 template<
typename Send,
typename Sched>
121 template<concepts::DecaysTo<Type> Self,
typename Rec>
129 template<concepts::DecaysTo<Type> Self,
typename E>
144 template<concepts::Sender Send, concepts::Scheduler Sched>
148 template<concepts::Scheduler Sched, concepts::Sender Send>
151 return function::tag_invoke(*
this, util::forward<Sched>(scheduler), util::forward<Send>(sender));
154 util::forward<Send>(sender) };
Definition defer_construct.h:8
Definition variant_forward_declaration.h:6
Definition operations.h:11
Definition sender_to.h:11
Definition tag_invoke.h:33
meta::Type< SenderT< Send, Sched > > Sender
Definition on.h:145
meta::Type< ReceiverT< Send, Rec, Sched > > Receiver
Definition on.h:76
MakeEnv< Base, With< types::Tag< get_scheduler >, Sched > > Env
Definition on.h:28
meta::Type< OperationStateT< Send, Rec, Sched > > OperationState
Definition on.h:25
meta::Type< ReceiverWithEnvT< Send, Rec, Sched > > ReceiverWithEnv
Definition on.h:53
constexpr auto schedule
Definition schedule.h:17
constexpr auto start
Definition start.h:20
constexpr auto make_env
Create an environment with overrides for queries.
Definition make_env.h:147
meta::Type< receiver_interface_ns::ReceiverAdaptor< Self, Base > > ReceiverAdaptor
Definition receiver_adaptor.h:236
constexpr auto with
Specify an override for an environment query.
Definition make_env.h:112
constexpr auto get_scheduler
Definition get_scheduler.h:20
decltype(make_env(util::declval< BaseEnv >(), util::declval< Withs >()...)) MakeEnv
Represent an environment with overrides for queries.
Definition make_env.h:189
constexpr auto get_env
Definition get_env.h:27
constexpr auto connect
Definition connect.h:42
constexpr auto set_value
Definition set_value.h:14
constexpr auto on
Definition on.h:167
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
constexpr auto get(T &&value) -> decltype(auto)
Definition get.h:8
constexpr auto forward_like(U &&value) -> decltype(auto)
Definition forward_like.h:8
constexpr auto c_
A value of type Constexpr<val>.
Definition constexpr.h:252
auto operator()(Sched &&scheduler, Send &&sender) const -> concepts::Sender auto
Definition on.h:149
Variant< meta::ConnectResult< meta::ScheduleResult< Sched >, Receiver< Send, Rec, Sched > >, meta::ConnectResult< Send, ReceiverWithEnv< Send, Rec, Sched > > > operation_state
Definition on.h:86
Rec receiver
Definition on.h:83
void phase2()
Definition on.h:99
Sched scheduler
Definition on.h:81
Type(Sched scheduler_, S &&sender_, Rec receiver_)
Definition on.h:90
friend void tag_invoke(types::Tag< execution::start >, Type &self)
Definition on.h:107
Send sender
Definition on.h:82
Type(OperationState< Send, Rec, Sched > *operation_state)
Definition on.h:63
auto base() const &-> Rec const &
Definition on.h:65
auto base() &&-> Rec &&
Definition on.h:66
auto base() &&-> Rec &&
Definition on.h:41
auto base() const &-> Rec const &
Definition on.h:40
Type(OperationState< Send, Rec, Sched > *operation_state)
Definition on.h:38
void is_sender
Definition on.h:115
friend auto tag_invoke(types::Tag< get_completion_signatures >, Self &&, E &&) -> meta::MakeCompletionSignatures< meta::Like< Self, Send >, Env< E, Sched >, meta::MakeCompletionSignatures< meta::ScheduleResult< Sched >, MakeEnv< E >, CompletionSignatures<>, meta::TypeConstant< CompletionSignatures<> >::template Invoke > >
Definition on.h:130
friend auto tag_invoke(types::Tag< connect >, Self &&self, Rec receiver)
Definition on.h:124
Send sender
Definition on.h:118
constexpr friend auto tag_invoke(types::Tag< get_env >, Type const &self)
Definition on.h:138
Sched scheduler
Definition on.h:117
Definition completion_signuatures.h:7