File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 2536
2536
2537
2537
\rSec 3[exec.read.env]{\tcode {execution::read_env}}
2538
2538
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
+ \rSec 2[exec.adapt]{Sender adaptors}
2567
+
2568
+ \rSec 3[exec.adapt.general]{General}
2569
+
2570
+
2539
2571
2540
2572
\rSec 1[exec.util]{Sender/receiver utilities}
2541
2573
2574
+
2542
2575
\rSec 1[exec.ctx]{Execution contexts}
2543
2576
2544
2577
\rSec 1[exec.coro.util]{Coroutine utilities}
You can’t perform that action at this time.
0 commit comments