Coroutine support (C++20)
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 | Feature |
|---|---|---|---|
__cpp_lib_coroutine | 201902L | (C++20) | Coroutine support library |
See also
|
(C++26) | represents a sender that can be used as the return type of coroutine functions (class template) |
|
(C++23) | a view that represents synchronous coroutine generator (class template) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/coroutine