From Jason Turner

[coroutine.handle.noop]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpv_31cwio/{from.md → to.md} +14 -1
tmp/tmpv_31cwio/{from.md → to.md} RENAMED
@@ -1,12 +1,15 @@
1
  #### Class `coroutine_handle<noop_coroutine_promise>` <a id="coroutine.handle.noop">[[coroutine.handle.noop]]</a>
2
 
3
  ``` cpp
4
  namespace std {
5
  template<>
6
- struct coroutine_handle<noop_coroutine_promise> : coroutine_handle<>
7
  {
 
 
 
8
  // [coroutine.handle.noop.observers], observers
9
  constexpr explicit operator bool() const noexcept;
10
  constexpr bool done() const noexcept;
11
 
12
  // [coroutine.handle.noop.resumption], resumption
@@ -19,14 +22,24 @@ namespace std {
19
 
20
  // [coroutine.handle.noop.address], address
21
  constexpr void* address() const noexcept;
22
  private:
23
  coroutine_handle(unspecified);
 
24
  };
25
  }
26
  ```
27
 
 
 
 
 
 
 
 
 
 
28
  ##### Observers <a id="coroutine.handle.noop.observers">[[coroutine.handle.noop.observers]]</a>
29
 
30
  ``` cpp
31
  constexpr explicit operator bool() const noexcept;
32
  ```
 
1
  #### Class `coroutine_handle<noop_coroutine_promise>` <a id="coroutine.handle.noop">[[coroutine.handle.noop]]</a>
2
 
3
  ``` cpp
4
  namespace std {
5
  template<>
6
+ struct coroutine_handle<noop_coroutine_promise>
7
  {
8
+ // [coroutine.handle.noop.conv], conversion
9
+ constexpr operator coroutine_handle<>() const noexcept;
10
+
11
  // [coroutine.handle.noop.observers], observers
12
  constexpr explicit operator bool() const noexcept;
13
  constexpr bool done() const noexcept;
14
 
15
  // [coroutine.handle.noop.resumption], resumption
 
22
 
23
  // [coroutine.handle.noop.address], address
24
  constexpr void* address() const noexcept;
25
  private:
26
  coroutine_handle(unspecified);
27
+ void* ptr; // exposition only
28
  };
29
  }
30
  ```
31
 
32
+ ##### Conversion <a id="coroutine.handle.noop.conv">[[coroutine.handle.noop.conv]]</a>
33
+
34
+ ``` cpp
35
+ constexpr operator coroutine_handle<>() const noexcept;
36
+ ```
37
+
38
+ *Effects:* Equivalent to:
39
+ `return coroutine_handle<>::from_address(address());`
40
+
41
  ##### Observers <a id="coroutine.handle.noop.observers">[[coroutine.handle.noop.observers]]</a>
42
 
43
  ``` cpp
44
  constexpr explicit operator bool() const noexcept;
45
  ```