最終更新日時: 2026年06月09日 16時03分31秒 (JST)
yoh が更新

履歴 編集

customization point object
<execution>

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

    namespace std::execution {
      struct get_domain_t { unspecified };
      inline constexpr get_domain_t get_domain{};
    }

## 概要

`get_domain`は、クエリ可能オブジェクトから実行ドメインのタグ型を取得するクエリオブジェクトである。

コア定数式`forwarding_query(get_domain)`は`true`値を返す。

## 効果

部分式`env`に対して、型`D`を下記のうち最初に適格な式の型としたとき、呼び出し式`get_domain(env)`は`MANDATE-NOTHROW(D())`と等価。

- `auto(AS-CONST(env).query(get_domain))`
- `get_completion_domain<set_value_t>(get_scheduler(env), HIDE-SCHED(env))`
- `env`が評価されることを除いて、`default_domain()`

## 例外

投げない

## カスタマイゼーションポイント

const修飾クエリ可能オブジェクト `cenv`に対して式`cenv.query(get_domain)`が呼び出される。 このとき、`noexcept(cenv.query(get_domain)) == true`であること。

## バージョン

### 言語

- C++26

### 処理系

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

## 関連項目

- `execution::default_domain`
- `execution::get_completion_domain`

## 参照

- P2300R10 `std::execution`
- P3826R5 Fix Sender Algorithm Customization