Coroutine support (C++20)
< cpp
The coroutine support library defines several types that provide compile and run-time support for coroutines.
Coroutine traits
|
Defined in header
<coroutine> |
|
|
(C++20)
|
trait type for discovering coroutine promise types (class template) |
Coroutine handle
|
Defined in header
<coroutine> |
|
|
(C++20)
|
used to refer to a suspended or executing coroutine (class template) |
No-op coroutines
|
Defined in header
<coroutine> |
|
|
(C++20)
|
creates a coroutine handle that has no observable effects when resumed or destroyed (function) |
|
(C++20)
|
used for coroutines with no observable effects (class) |
|
(C++20)
|
std::coroutine_handle<std::noop_coroutine_promise>, intended to refer to a no-op coroutine (typedef) |
Trivial awaitables
|
Defined in header
<coroutine> |
|
|
(C++20)
|
indicates that an await-expression should never suspend (class) |
|
(C++20)
|
indicates that an await-expression should always suspend (class) |
Notes
| Feature-test macro | Value | Std | Comment |
|---|---|---|---|
__cpp_impl_coroutine |
201902L | (C++20) | Coroutines (compiler support) |
__cpp_lib_coroutine |
201902L | (C++20) | Coroutines (library support) |
__cpp_lib_generator |
202207L | (C++23) | std::generator: synchronous coroutine generator for ranges |
See also
|
(C++23)
|
A view that represents synchronous coroutine generator(class template) |