最終更新日時: 2026年01月20日 16時36分33秒 (JST)
yoh が更新

履歴 編集

class
<execution>

# std::execution::counting_scope(C++26)

    namespace std::execution {
      class counting_scope;
    }

## 概要

`counting_scope`は、停止要求を作成可能なカウント式の非同期スコープを表現する。

クラス動作説明用のメンバ変数として下記を保持する。詳細仕様は`simple_counting_scope`を参照。

- `count` : `size_t`型の関連付けカウント値
- `state` : `scope-state-type`列挙型（後述）の状態
- `s_source` : `inplace_stop_source`型の停止要求管理オブジェクト

## メンバ関数

名前 | 説明 | 対応バージョン
--- | --- | ---
`(constructor)` | コンストラクタ | C++26
`(destructor)` | デストラクタ | C++26
`get_token` | 非同期スコープトークンを取得 | C++26
`close` | 非同期スコープを閉じる | C++26
`join` | 非同期スコープを合流するSender取得 | C++26
`request_stop` | 停止要求を作成する | C++26

## メンバ型

名前 | 説明 | 対応バージョン
--- | --- | ---
`assoc-t` | `association-t<counting_scope>`（説明専用） | C++26
`token` | 非同期スコープトークン型 | C++26

## 静的メンバ変数

名前 | 説明 | 対応バージョン
--- | --- | ---
`constexpr size_t max_associations = implementation-defined;` | 関連付けの最大数 | C++26

## バージョン

### 言語

- C++26

### 処理系

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

## 関連項目

- `execution::simple_counting_scope`

## 参照

- P3149R11 `async_scope` - Creating scopes for non-sequential concurrency
- P3815R1 Add `scope_association` concept to P3149