Skip to content

Commit 2a96f74

Browse files
committed
fixup: add 34.9.9 finished
1 parent 9ef3149 commit 2a96f74

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

source/exec.tex

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2536,9 +2536,42 @@
25362536

25372537
\rSec3[exec.read.env]{\tcode{execution::read_env}}
25382538

2539+
\pnum
2540+
\tcode{read_env} is a sender factory for a sender
2541+
whose asynchronous operation completes synchronously in its start operation
2542+
with a value completion result equal to
2543+
a value read from the receiver's associated environment.
2544+
2545+
\pnum
2546+
\tcode{read_env} is a customization point object.
2547+
For some query object \tcode{q},
2548+
the expression \tcode{read_env(q)} is expression-equivalent to
2549+
\tcode{\exposid{make-sender}(read_env, q)}.
2550+
2551+
\pnum
2552+
The exposition-only class template \exposid{impls-for}\iref{exec.snd.general}
2553+
is specialized for \tcode{read_env} as follows:
2554+
\begin{codeblock}
2555+
namespace std::execution {
2556+
template<>
2557+
struct @\exposid{impls-for}@<@\exposid{decayed-typeof}@<read_env>> : @\exposid{default-impls}@ {
2558+
static constexpr auto start =
2559+
[](auto query, auto& rcvr) noexcept -> void {
2560+
@\exposid{TRY-SET-VALUE}@(rcvr, query(get_env(rcvr)));
2561+
};
2562+
};
2563+
}
2564+
\end{codeblock}
2565+
2566+
\rSec2[exec.adapt]{Sender adaptors}
2567+
2568+
\rSec3[exec.adapt.general]{General}
2569+
2570+
25392571

25402572
\rSec1[exec.util]{Sender/receiver utilities}
25412573

2574+
25422575
\rSec1[exec.ctx]{Execution contexts}
25432576

25442577
\rSec1[exec.coro.util]{Coroutine utilities}

0 commit comments

Comments
 (0)