最終更新日時: 2025年04月07日 18時24分46秒 (JST)
yoh が更新

履歴 編集

function
<stop_token>

# std::inplace_stop_callback::コンストラクタ(C++26)

    template<class Initializer>
    explicit inplace_stop_callback(inplace_stop_token st, Initializer&& init)
      noexcept(is_nothrow_constructible_v<CallbackFn, Initializer>);  // (1)

    inplace_stop_callback(const inplace_stop_callback&) = delete;  // (2)
    inplace_stop_callback(inplace_stop_callback&&) = delete;       // (3)

## 概要

- (1) : `inplace_stop_token`を受け取り、その`inplace_stop_token`が参照する停止状態への停止要求に応じて呼び出されるコールバックを登録する。
- (2) : コピーコンストラクタ。コピー不可。
- (3) : ムーブコンストラクタ。ムーブ不可。

## テンプレートパラメータ制約

クラステンプレートのテンプレート引数`CallbackFn`とコンストラクタのテンプレート引数`Initializer`は`constructible_from<CallbackFn, Initializer>`制約を満たすこと。

## 効果

説明専用のメンバ変数`callback-fn`を`std::forward<CallbackFn>(init)`で初期化し、停止可能コールバック登録を実行する。

## 例外

説明専用のメンバ変数`callback-fn`を`init`で初期化する際に例外が発生する場合は、その例外を送出する。

## バージョン

### 言語

- C++26

### 処理系

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

## 参照

- P2300R10 `std::execution`