Namespaces
Variants

std::noop_coroutine_promise

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コルーチン
トリビアルな待機可能オブジェクト
レンジジェネレータ
(C++23)
 
ヘッダ <coroutine>
struct noop_coroutine_promise {};
(C++20以降)

noop_coroutine_promise は no-op コルーチンのプロミス型です。

no-op コルーチンは以下のように振る舞います:

  • コルーチンの制御フロー以外は何もしない、かつ
  • 開始と再開の直後に中断される、かつ
  • 状態を破棄する操作が no-op であるようなコルーチン状態を持つ、かつ
  • それを参照する std::coroutine_handle が存在する場合、最終中断点に到達しない。

no-op コルーチンは std::noop_coroutine によって開始でき、それが返すコルーチンハンドルで制御します。返されるコルーチンハンドルは型 std::noop_coroutine_handle であり、これは std::coroutine_handle<std::noop_coroutine_promise> の別名です。

no-op コルーチンの一部の操作は、型 std::noop_coroutine_handle を通じてコンパイル時に no-op であると決定されます。

例

関連項目

再開または破棄されたときに観測可能な効果を持たないコルーチンハンドルを作成する
(関数)
std:: coroutine_handle < std :: noop_coroutine_promise > 、何もしないコルーチンを参照することを意図したもの
(型定義)