From Jason Turner

[coroutine.syn]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpgwq7kcer/{from.md → to.md} +36 -0
tmp/tmpgwq7kcer/{from.md → to.md} RENAMED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Header `<coroutine>` synopsis <a id="coroutine.syn">[[coroutine.syn]]</a>
2
+
3
+ ``` cpp
4
+ #include <compare> // see [compare.syn]
5
+
6
+ namespace std {
7
+ // [coroutine.traits], coroutine traits
8
+ template<class R, class... ArgTypes>
9
+ struct coroutine_traits;
10
+
11
+ // [coroutine.handle], coroutine handle
12
+ template<class Promise = void>
13
+ struct coroutine_handle;
14
+
15
+ // [coroutine.handle.compare], comparison operators
16
+ constexpr bool operator==(coroutine_handle<> x, coroutine_handle<> y) noexcept;
17
+ constexpr strong_ordering operator<=>(coroutine_handle<> x, coroutine_handle<> y) noexcept;
18
+
19
+ // [coroutine.handle.hash], hash support
20
+ template<class T> struct hash;
21
+ template<class P> struct hash<coroutine_handle<P>>;
22
+
23
+ // [coroutine.noop], no-op coroutines
24
+ struct noop_coroutine_promise;
25
+
26
+ template<> struct coroutine_handle<noop_coroutine_promise>;
27
+ using noop_coroutine_handle = coroutine_handle<noop_coroutine_promise>;
28
+
29
+ noop_coroutine_handle noop_coroutine() noexcept;
30
+
31
+ // [coroutine.trivial.awaitables], trivial awaitables
32
+ struct suspend_never;
33
+ struct suspend_always;
34
+ }
35
+ ```
36
+