Поддержка корутин (C++20)
Библиотека поддержки корутин определяет несколько типов, обеспечивающих поддержку корутин на этапах компиляции и выполнения.
Типажи корутин
Определено в заголовочном файле <coroutine> |
|
|---|---|
|
(C++20) | типаж для определения типов promise корутины (шаблон класса) |
Дескриптор корутины
Определено в заголовочном файле <coroutine> |
|
|---|---|
|
(C++20) | используется для ссылки на приостановленную или выполняющуюся корутину (шаблон класса) |
Корутины без действий
Определено в заголовочном файле <coroutine> |
|
|---|---|
|
(C++20) | создаёт дескриптор корутины, возобновление или уничтожение которого не имеет наблюдаемых эффектов (функция) |
|
(C++20) | используется для корутин, не имеющих наблюдаемых эффектов (класс) |
|
(C++20) |
std::coroutine_handle<std::noop_coroutine_promise>, предназначенный для ссылки на корутину без действий (псевдоним типа) |
Простые объекты ожидания
Определено в заголовочном файле <coroutine> |
|
|---|---|
|
(C++20) | указывает, что выражение await никогда не должно приостанавливать выполнение (класс) |
|
(C++20) | указывает, что выражение await всегда должно приостанавливать выполнение (класс) |
Примечания
| Макрос проверки поддержки функции | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_coroutine | 201902L | (C++20) | Библиотека поддержки корутин |
См. также
|
(C++26) | представляет отправителя, который можно использовать как возвращаемый тип функций-корутин (шаблон класса) |
|
(C++23) | view, представляющий синхронный генератор корутин (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/coroutine