std::noop_coroutine_promise
Определено в заголовке <coroutine> | ||
|---|---|---|
struct noop_coroutine_promise {};
| (с C++20) |
noop_coroutine_promise — это тип обещания для пустых корутин.
Пустая корутина ведет себя так, как будто
- она ничего не делает, кроме управления потоком корутины, и
- приостанавливается сразу после начала и возобновления, и
- имеет состояние корутины, при уничтожении которого ничего не происходит, и
- никогда не достигает своей конечной приостановленной точки, если есть какая-либо
std::coroutine_handle, ссылающаяся на неё.
Запустить пустые корутины можно с помощью std::noop_coroutine, и управлять ими с помощью дескриптора корутины, возвращаемого ей. Возвращаемый дескриптор корутины имеет тип std::noop_coroutine_handle, который является синонимом для std::coroutine_handle<std::noop_coroutine_promise>.
Некоторые операции пустых корутин определяются как пустые во время компиляции через тип std::noop_coroutine_handle.
Пример
См. также
|
(C++20) | создаёт дескриптор корутины, у которого нет наблюдаемых эффектов при возобновлении или уничтожении (функция) |
|
(C++20) | std::coroutine_handle<std::noop_coroutine_promise>, предназначенный для ссылки на пустую корутину (typedef) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/coroutine/noop_coroutine_promise