最終更新日時: 2026年02月08日 18時00分28秒 (JST)
yoh が更新

履歴 編集

type-alias
<execution>

# std::execution::single-sender-value-type(C++26)

    template<class Sndr, class... Env>
    using single-sender-value-type = see below;

## 概要

`single-sender-value-type`は、実行制御ライブラリの仕様定義で用いられる説明専用のエイリアステンプレートである。

型`Sndr`と型パック`Env`に対して、`CS`を`completion_signatures_of_t<Sndr, Env...>`とする。`CS`が不適格なとき、`single-sender-value-type<Sndr, Env...>`は不適格となる。

そうでなければ、`single-sender-value-type<Sndr, Env...>`は下記のエイリアスとなる。

- `gather-signatures<set_value_t, CS, decay_t, type_identity_t>`が適格であるならば、その型。
- そうではなく、`gather-signatures<set_value_t, CS, tuple, variant>`が`variant<tuple<>>`もしくは`variant<>`ならば、`void`型。
- そうではなく、`gather-signatures<set_value_t, CS, decayed-tuple, type_identity_t>`が適格であるならば、その型。
- そうでなければ、`single-sender-value-type<Sndr, Env...>`は不適格。

## バージョン

### 言語

- C++26

## 関連項目

- `execution::stopped_as_optional`
- `execution::as_awaitable`

## 参照

- P2300R10 `std::execution`
- P3557R3 High-Quality Sender Diagnostics with Constexpr Exceptions
- LWG4447 Remove unnecessary `sizeof...(Env) > 1` condition