名前空間
変種
操作

std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::resume

From cppreference.com
 
 
ユーティリティライブラリ
言語サポート
型のサポート (基本型、RTTI)
ライブラリ機能検査マクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
コルーチンサポート
コルーチントレイト
コルーチンハンドル
No-opコルーチン
自明なawaitable
Rangeジェネレータ
(C++23)
 
 
他の特殊化におけるメンバー
void operator()() const;
void resume() const;
(1) (C++20以降)
std::coroutine_handle<std::noop_coroutine_promise> の特殊化におけるメンバー
constexpr void operator()() const noexcept;
constexpr void resume() const noexcept;
(2) (C++20以降)
1) `*this` が参照するコルーチンの実行を再開します。コルーチンが no-op コルーチンの場合は何も行いません。
2) 何も行いません。

`*this` が中断されたコルーチンを参照していない場合、またはコルーチンが no-op コルーチンではなく、最終的な中断点で中断されていない場合、動作は未定義です。コルーチンの同時再開はデータ競合を引き起こす可能性があります。

中断された実行エージェント以外の実行エージェントでコルーチンを再開する場合、実装定義の動作となります。ただし、各実行エージェントが `std::thread` または `std::jthread` で表されるスレッドであるか、または `main` を実行しているスレッドである場合は除きます。

目次

[編集] パラメータ

(なし)

[編集] 戻り値

(なし)

[編集] 例外

コルーチンの実行から例外がスローされた場合、その例外はキャッチされ、コルーチンのプロミスオブジェクトに対して `unhandled_exception` が呼び出されます。`unhandled_exception` の呼び出しで例外がスローまたは再スローされた場合、その例外が伝播されます。

[編集] 注記

異なる実行エージェントで再開されるコルーチンは、ミューテックスオブジェクトを中断点の跨いで保持するなど、一貫したスレッドIDに依存しないようにすべきです。

[編集]

[編集] 関連項目

コルーチンを破棄する
(public member function) [編集]
English 日本語 中文(简体) 中文(繁體)