std::coroutine_handle<Promise>::done
From cppreference.com
< C++ | coroutine | coroutine handle
| 他の特殊化におけるメンバー |
||
| bool done() const; |
(1) | (C++20以降) |
std::coroutine_handle<std::noop_coroutine_promise> の特殊化におけるメンバー |
||
| constexpr bool done() const noexcept; |
(2) | (C++20以降) |
中断されたコルーチンが最終的な中断点で中断されているかどうかをチェックします。
1) `*this` が参照するコルーチンが最終的な中断点で中断されている場合は `true` を返し、それ以外の中断点で中断されている場合は `false` を返します。 `*this` が中断されたコルーチンを参照していない場合、動作は未定義です。
2) 常に `false` を返します。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
1) コルーチンが最終的な中断点で中断されている場合は `true`、それ以外の中断点で中断されている場合は `false`。
2) false
[編集] 注釈
ノーオペレーションコルーチンは、最終的な中断点で中断されているとはみなされません。
プロミスオブジェクト `p` を持つコルーチンは、 `p.final_suspend()` の結果 `e` が `e.await_ready()` を `false` と返す場合にのみ、最終的な中断点で中断されているとみなされます。特に、 `p.final_suspend()` が `std::suspend_never` を返す場合、 `done()` は決して `true` を返しません。
[編集] 例
| このセクションは未完成です 理由: 例がありません |