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

履歴 編集

class
<stop_token>

std::inplace_stop_source(C++26)

namespace std {
  class inplace_stop_source;
}

概要

クラスinplace_stop_sourceは、停止状態をメンバとして直接所有し、停止要求を作成するためのインターフェースを提供する。

inplace_stop_sourcestoppable-sourceのモデルである。

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ C++26
(destructor) デストラクタ C++26
operator= 代入演算子 C++26
get_token 自身の停止状態を参照するinplace_stop_tokenを返す C++26
stop_requested 停止要求を作成したかどうかを取得する C++26
request_stop 停止要求を作成する C++26

静的メンバ関数

名前 説明 対応バージョン
stop_possible 停止要求を作成可能どうかを取得する C++26

#include <cassert>
#include <stop_token>

int main()
{
  std::inplace_stop_source ss;
  std::inplace_stop_token st = ss.get_token();

  bool invoked = false;
  std::inplace_stop_callback cb {st, [&] { invoked = true; }};

  assert(st.stop_requested() == false);
  assert(invoked == false);

  ss.request_stop();

  assert(st.stop_requested() == true);
  assert(invoked == true);
}

出力

バージョン

言語

  • C++26

処理系

関連項目

参照