Iros
 
Loading...
Searching...
No Matches
then_each.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace di::execution {
7namespace then_each_ns {
8 struct Function {
9 template<concepts::Sender Seq, concepts::MovableValue Fun>
10 auto operator()(Seq&& sequence, Fun&& transformer) const -> concepts::SequenceSender auto {
12 return function::tag_invoke(*this, util::forward<Seq>(sequence), util::forward<Fun>(transformer));
13 } else {
14 return transform_each(util::forward<Seq>(sequence), then(util::forward<Fun>(transformer)));
15 }
16 }
17 };
18
20 template<concepts::Sender Seq, concepts::MovableValue Fun>
21 auto operator()(Seq&& sequence, Fun&& transformer) const -> concepts::SequenceSender auto {
23 return function::tag_invoke(*this, util::forward<Seq>(sequence), util::forward<Fun>(transformer));
24 } else {
25 return transform_each(util::forward<Seq>(sequence), upon_error(util::forward<Fun>(transformer)));
26 }
27 }
28 };
29
31 template<concepts::Sender Seq, concepts::MovableValue Fun>
32 auto operator()(Seq&& sequence, Fun&& transformer) const -> concepts::SequenceSender auto {
34 return function::tag_invoke(*this, util::forward<Seq>(sequence), util::forward<Fun>(transformer));
35 } else {
36 return transform_each(util::forward<Seq>(sequence), upon_stopped(util::forward<Fun>(transformer)));
37 }
38 }
39 };
40}
41
59
77
92}
Definition sequence_sender.h:102
Definition tag_invoke.h:33
Definition then_each.h:7
Definition bulk.h:30
constexpr auto upon_stopped
A sender that maps the stop signal into a value.
Definition then.h:302
constexpr auto upon_stopped_each
Transform stopped values of a sequence directly.
Definition then_each.h:91
constexpr auto then
A sender that maps values into another value.
Definition then.h:276
constexpr auto upon_error_each
Transform the errors of a sequence directly.
Definition then_each.h:76
constexpr auto upon_error
A sender that maps an error into a value.
Definition then.h:289
constexpr auto transform_each
Transform each sender of a sequence.
Definition transform_each.h:149
constexpr auto then_each
Transform the values of a sequence directly.
Definition then_each.h:58
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
constexpr auto curry_back
Definition curry_back.h:141
constexpr auto c_
A value of type Constexpr<val>.
Definition constexpr.h:252
constexpr auto sequence
Definition sequence.h:34
auto operator()(Seq &&sequence, Fun &&transformer) const -> concepts::SequenceSender auto
Definition then_each.h:21
auto operator()(Seq &&sequence, Fun &&transformer) const -> concepts::SequenceSender auto
Definition then_each.h:10
auto operator()(Seq &&sequence, Fun &&transformer) const -> concepts::SequenceSender auto
Definition then_each.h:32