Skip to content

Latest commit

 

History

History
90 lines (64 loc) · 2.54 KB

noop_coroutine_handle.md

File metadata and controls

90 lines (64 loc) · 2.54 KB

noop_coroutine_handle

  • coroutine[meta header]
  • std[meta namespace]
  • class[meta id-type]
  • cpp20[meta cpp]
namespace std {
  struct noop_coroutine_promise {};

  template<>
  struct coroutine_handle<noop_coroutine_promise> : coroutine_handle<>
  {
    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>;
}
  • coroutine_handle<>[link coroutine_handle.md]
  • coroutine_handle<noop_coroutine_promise>[link coroutine_handle.md]
  • unspecified[italic]

概要

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

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

メンバ関数

観測

名前 説明 対応バージョン
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

処理系

関連項目

参照