Spec-Zone.ru › C++

std::coroutine_handle<Promise>::done

Член других специализаций
bool done() const;
(1) (начиная с C++20)
Член специализации std::coroutine_handle<std::noop_coroutine_promise>
constexpr bool done() const noexcept;
(2) (начиная с C++20)

Проверяет, приостановлена ли сопрограмма в конечной точке приостановки.

1) Возвращает true, если сопрограмма, на которую ссылается *this, приостановлена в конечной точке приостановки, или false, если сопрограмма приостановлена в других точках приостановки. Поведение не определено, если *this не ссылается на приостановленную сопрограмму.
2) Всегда возвращает false.

Параметры

(нет)

Возвращаемое значение

1) true, если сопрограмма приостановлена в конечной точке приостановки, false, если сопрограмма приостановлена в других точках приостановки.
2) false

Примечания

Сопрограмма-пустышка никогда не считается приостановленной в конечной точке приостановки.

Сопрограмма с объектом promise p считается приостановленной в конечной точке приостановки только в том случае, если, пусть e будет результатом p.final_suspend(), e.await_ready() возвращает false. В частности, если p.final_suspend() возвращает std::suspend_never, то done() никогда не возвращает true.

Пример

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/coroutine/coroutine_handle/done

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API