From Jason Turner

[exec.adapt.general]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpg67twsag/{from.md → to.md} +38 -0
tmp/tmpg67twsag/{from.md → to.md} RENAMED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### General <a id="exec.adapt.general">[[exec.adapt.general]]</a>
2
+
3
+ Subclause [[exec.adapt]] specifies a set of sender adaptors.
4
+
5
+ The bitwise inclusive operator is overloaded for the purpose of creating
6
+ sender chains. The adaptors also support function call syntax with
7
+ equivalent semantics.
8
+
9
+ Unless otherwise specified:
10
+
11
+ - A sender adaptor is prohibited from causing observable effects, apart
12
+ from moving and copying its arguments, before the returned sender is
13
+ connected with a receiver using `connect`, and `start` is called on
14
+ the resulting operation state.
15
+ - A parent sender [[exec.async.ops]] with a single child sender `sndr`
16
+ has an associated attribute object equal to `FWD-ENV(get_env(sndr))`
17
+ [[exec.fwd.env]].
18
+ - A parent sender with more than one child sender has an associated
19
+ attributes object equal to `env<>{}`.
20
+ - When a parent sender is connected to a receiver `rcvr`, any receiver
21
+ used to connect a child sender has an associated environment equal to
22
+ `FWD-ENV(get_env(rcvr))`.
23
+ - An adaptor whose child senders are all non-dependent
24
+ [[exec.async.ops]] is itself non-dependent.
25
+ - These requirements apply to any function that is selected by the
26
+ implementation of the sender adaptor.
27
+ - *Recommended practice:* Implementations should use the completion
28
+ signatures of the adaptors to communicate type errors to users and to
29
+ propagate any such type errors from child senders.
30
+
31
+ If a sender returned from a sender adaptor specified in [[exec.adapt]]
32
+ is specified to include `set_error_t(Err)` among its set of completion
33
+ signatures where `decay_t<Err>` denotes the type `exception_ptr`, but
34
+ the implementation does not potentially evaluate an error completion
35
+ operation with an `exception_ptr` argument, the implementation is
36
+ allowed to omit the `exception_ptr` error completion signature from the
37
+ set.
38
+