最終更新日時(UTC):
が更新

履歴 編集

class
<coroutine>

std::noop_coroutine_handle(C++20)

namespace std {
  struct noop_coroutine_promise {};

  template<>
  struct coroutine_handle<noop_coroutine_promise>
  {
    constexpr operator coroutine_handle<>() const noexcept;

    constexpr explicit operator bool() const noexcept;
    constexpr bool done() const noexcept;

    constexpr void operator()() const noexcept;
    constexpr void resume() const noexcept;
    constexpr void destroy() const noexcept;

    noop_coroutine_promise& promise() const noexcept;

    constexpr void* address() const noexcept;

  private:
    coroutine_handle(unspecified);
  };

  using noop_coroutine_handle = coroutine_handle<noop_coroutine_promise>;
}

概要

中断/再開時に何もしないコルーチンへのハンドル。

「何もしないコルーチン」は、非対称コルーチン動作と対称コルーチン動作を実行時に制御するケースで利用される。

メンバ関数

変換

名前 説明 対応バージョン
operator coroutine_handle<> 型消去されたコルーチンハンドルを返す C++20

観測

名前 説明 対応バージョン
operator bool trueを返す C++20
done falseを返す C++20

再開

名前 説明 対応バージョン
operator() 何もしない C++20
resume 何もしない C++20
destroy 何もしない C++20

Promiseアクセス

名前 説明 対応バージョン
promise Promiseオブジェクトへの参照を返す C++20

アドレス

名前 説明 対応バージョン
address コルーチンハンドルに対応するアドレス値を返す C++20

バージョン

言語

  • C++20

処理系

関連項目

参照