Namespaces
Variants

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

ja.cppreference.net より
 
 
ユーティリティライブラリ
言語サポート
型サポート (基本型, 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
レンジジェネレータ
(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を実行しているスレッドである場合を除き、処理系定義の動作となります。

パラメータ

(なし)

戻り値

(なし)

例外

コルーチンの実行中に例外がスローされた場合、その例外は捕捉され、コルーチンのpromiseオブジェクトの unhandled_exception が呼び出されます。 unhandled_exception の呼び出しが例外をスローまたは再スローした場合、その例外は伝播されます。

注記

異なる実行エージェントで再開されるコルーチンは、一時停止ポイントを跨いでミューテックスオブジェクトを保持するなど、スレッドIDの一貫性に依存することを避けるべきです。

例

関連項目

コルーチンを破棄する
(公開メンバ関数)