16 template<
typename Send,
typename Rec,
typename Pred>
21 template<concepts::Sender Send, concepts::Receiver Rec, concepts::MovableValue Pred>
24 template<
typename Send,
typename Rec,
typename Pred>
33 auto base() const& -> Rec const& {
return m_op_state->m_receiver; }
34 auto base() && -> Rec&& {
return util::move(m_op_state->m_receiver); }
37 void set_value() && { m_op_state->repeat_effect(); }
43 template<concepts::Sender Send, concepts::Receiver Rec, concepts::MovableValue Pred>
46 template<
typename Send,
typename Rec,
typename Pred>
53 explicit Type(Pred predicate, Rec receiver, S&& sender)
54 : m_predicate(
util::move(predicate)), m_sender(
util::forward<S>(sender)), m_receiver(
util::move(receiver)) {
78 [[no_unique_address]] Pred m_predicate;
79 [[no_unique_address]] Send m_sender;
80 [[no_unique_address]] Rec m_receiver;
84 template<
typename Send,
typename Pred>
93 template<concepts::DecaysTo<Type> Self,
typename Rec>
101 template<concepts::DecaysTo<Type> Self,
typename Env>
113 template<concepts::Sender Send, concepts::MovableValue Pred>
117 template<concepts::SenderOf<SetValue()> Send, concepts::MovableValue Pred>
121 return function::tag_invoke(*
this, util::forward<Send>(sender), util::forward<Pred>(predicate));
124 util::forward<Pred>(predicate) };
Definition defer_construct.h:8
Definition optional_forward_declaration.h:5
Definition operations.h:34
Definition sender_of.h:26
Definition sender_to.h:11
Definition tag_invoke.h:33
Definition repeat_effect_until.h:15
meta::Type< OperationStateT< Send, Rec, Pred > > OperationState
Definition repeat_effect_until.h:22
meta::Type< ReceiverT< Send, Rec, Pred > > Receiver
Definition repeat_effect_until.h:44
meta::Type< SenderT< Send, Pred > > Sender
Definition repeat_effect_until.h:114
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 repeat_effect_until
Definition repeat_effect_until.h:130
constexpr auto get_env
Definition get_env.h:27
constexpr auto connect
Definition connect.h:42
constexpr auto repeat_effect
Definition repeat_effect.h:22
constexpr auto set_value
Definition set_value.h:14
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
constexpr auto invoke
Definition invoke.h:100
constexpr auto curry_back
Definition curry_back.h:141
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
constexpr auto forward_like(U &&value) -> decltype(auto)
Definition forward_like.h:8
constexpr auto data
Definition data.h:51
Definition repeat_effect_until.h:116
constexpr auto operator()(Send &&sender, Pred &&predicate) const -> concepts::SenderOf< SetValue()> auto
Definition repeat_effect_until.h:119
Definition repeat_effect_until.h:17
Type(Pred predicate, Rec receiver, S &&sender)
Definition repeat_effect_until.h:53
friend void tag_invoke(types::Tag< execution::start >, Type &self)
Definition repeat_effect_until.h:76
auto base() const &-> Rec const &
Definition repeat_effect_until.h:33
ReceiverAdaptor< Type > Base
Definition repeat_effect_until.h:27
auto base() &&-> Rec &&
Definition repeat_effect_until.h:34
Type(OperationState< Send, Rec, Pred > *data)
Definition repeat_effect_until.h:31
Definition repeat_effect_until.h:25
Definition repeat_effect_until.h:86
friend auto tag_invoke(types::Tag< get_completion_signatures >, Self &&, Env &&) -> meta::MakeCompletionSignatures< Send const &, MakeEnv< Env > >
Definition repeat_effect_until.h:102
constexpr friend auto tag_invoke(types::Tag< get_env >, Type const &self)
Definition repeat_effect_until.h:107
Pred predicate
Definition repeat_effect_until.h:90
friend auto tag_invoke(types::Tag< connect >, Self &&self, Rec receiver)
Definition repeat_effect_until.h:96
Send sender
Definition repeat_effect_until.h:89
void is_sender
Definition repeat_effect_until.h:87
Definition repeat_effect_until.h:85