From Jason Turner

[coroutine.traits]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmplpbgsdp3/{from.md → to.md} +23 -0
tmp/tmplpbgsdp3/{from.md → to.md} RENAMED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Coroutine traits <a id="coroutine.traits">[[coroutine.traits]]</a>
2
+
3
+ This subclause defines requirements on classes representing *coroutine
4
+ traits*, and defines the class template `coroutine_traits` that meets
5
+ those requirements.
6
+
7
+ #### Class template `coroutine_traits` <a id="coroutine.traits.primary">[[coroutine.traits.primary]]</a>
8
+
9
+ The header `<coroutine>` defines the primary template `coroutine_traits`
10
+ such that if `ArgTypes` is a parameter pack of types and if the
11
+ *qualified-id* `R::promise_type` is valid and denotes a type
12
+ [[temp.deduct]], then `coroutine_traits<R,ArgTypes...>` has the
13
+ following publicly accessible member:
14
+
15
+ ``` cpp
16
+ using promise_type = typename R::promise_type;
17
+ ```
18
+
19
+ Otherwise, `coroutine_traits<R,ArgTypes...>` has no members.
20
+
21
+ Program-defined specializations of this template shall define a publicly
22
+ accessible nested type named `promise_type`.
23
+