Init
This commit is contained in:
16
cppdraft/coroutine/traits/general.md
Normal file
16
cppdraft/coroutine/traits/general.md
Normal file
@@ -0,0 +1,16 @@
|
||||
[coroutine.traits.general]
|
||||
|
||||
# 17 Language support library [[support]](./#support)
|
||||
|
||||
## 17.13 Coroutines [[support.coroutine]](support.coroutine#coroutine.traits.general)
|
||||
|
||||
### 17.13.3 Coroutine traits [[coroutine.traits]](coroutine.traits#general)
|
||||
|
||||
#### 17.13.3.1 General [coroutine.traits.general]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L5798)
|
||||
|
||||
Subclause [[coroutine.traits]](coroutine.traits "17.13.3 Coroutine traits") defines requirements on classes representing[*coroutine traits*](#def:coroutine_traits),
|
||||
and defines the class templatecoroutine_traits that meets those requirements[.](#1.sentence-1)
|
||||
29
cppdraft/coroutine/traits/primary.md
Normal file
29
cppdraft/coroutine/traits/primary.md
Normal file
@@ -0,0 +1,29 @@
|
||||
[coroutine.traits.primary]
|
||||
|
||||
# 17 Language support library [[support]](./#support)
|
||||
|
||||
## 17.13 Coroutines [[support.coroutine]](support.coroutine#coroutine.traits.primary)
|
||||
|
||||
### 17.13.3 Coroutine traits [[coroutine.traits]](coroutine.traits#primary)
|
||||
|
||||
#### 17.13.3.2 Class template coroutine_traits [coroutine.traits.primary]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L5808)
|
||||
|
||||
The header [<coroutine>](coroutine.syn#header:%3ccoroutine%3e "17.13.2 Header <coroutine> synopsis [coroutine.syn]") defines the primary templatecoroutine_traits such that
|
||||
if ArgTypes is a parameter pack of types and
|
||||
if the [*qualified-id*](expr.prim.id.qual#nt:qualified-id "7.5.5.3 Qualified names [expr.prim.id.qual]") R::promise_type is valid and
|
||||
denotes a type ([[temp.deduct]](temp.deduct "13.10.3 Template argument deduction")),
|
||||
then coroutine_traits<R, ArgTypes...> has the following publicly
|
||||
accessible member:using promise_type = typename R::promise_type;
|
||||
|
||||
Otherwise, coroutine_traits<R, ArgTypes...> has no members[.](#1.sentence-2)
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L5822)
|
||||
|
||||
Program-defined specializations of this template shall define a publicly
|
||||
accessible nested type named promise_type[.](#2.sentence-1)
|
||||
Reference in New Issue
Block a user