std::coroutine_handle::done - cppreference.com (original) (raw)
| Member of other specializations | ||
|---|---|---|
| bool done() const; | (1) | (since C++20) |
| Member of specialization std::coroutine_handlestd::noop\_coroutine\_promise | ||
| constexpr bool done() const noexcept; | (2) | (since C++20) |
Checks if a suspended coroutine is suspended at its final suspend point.
Returns true if the coroutine to which *this refers is suspended at its final suspend point, or false if the coroutine is suspended at other suspend points. The behavior is undefined if *this does not refer to a suspended coroutine.
Always returns false.
[edit] Parameters
(none)
[edit] Return value
true if the coroutine is suspended at its final suspend point, false if the coroutine is suspended at other suspend points.
false
[edit] Notes
A no-op coroutine is never considered to be suspended at its final suspend point.
A coroutine with promise object p is considered to be suspended at its final suspend point only if, let e be the result of p.final_suspend(), e.await_ready() returns false. In particular, if p.final_suspend() returns std::suspend_never, then done() never returns true.