最終更新日時: 2026年05月09日 20時38分36秒 (JST)
teruyamato0731 が更新

履歴 編集

class
<stop_token>

# std::inplace_stop_source(C++26)

    namespace std {
      class inplace_stop_source;
    }

## 概要

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

`inplace_stop_source`は`stoppable-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

### 処理系

- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??

## 関連項目

- `inplace_stop_token`
- `inplace_stop_callback`

## 参照

- P2300R10 `std::execution`