Namespaces
Variants

std:: noop_coroutine_promise

From cppreference.net
Utilities library
Coroutine support
Coroutine traits
Coroutine handle
No-op coroutines
noop_coroutine_promise
(C++20)
Trivial awaitables
Range generators
(C++23)
ヘッダーで定義 <coroutine>
struct noop_coroutine_promise { } ;
(C++20以降)

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

空操作コルーチンは、以下のように動作します

  • コルーチンの制御フロー以外には何も行わず、
  • 開始直後と再開直後に中断され、
  • コルーチン状態が破棄されても何も起こらず、
  • それを参照するいかなる std::coroutine_handle が存在する場合、最終中断ポイントに到達しない。

ノーオプコルーチンは 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 > 、何もしないコルーチンを参照することを意図したもの
(型定義)