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

履歴 編集

concept
<execution>

# infallible-scheduler(C++26)

    template <class Sch, class Env>
    concept infallible-scheduler =
      scheduler<Sch> &&
      (same_as<completion_signatures<set_value_t()>,
               completion_signatures_of_t<decltype(schedule(declval<Sch>())), Env>> ||
       (!unstoppable_token<stop_token_of_t<Env>> &&
        (same_as<completion_signatures<set_value_t(), set_stopped_t()>,
                 completion_signatures_of_t<decltype(schedule(declval<Sch>())), Env>> ||
         same_as<completion_signatures<set_stopped_t(), set_value_t()>,
                 completion_signatures_of_t<decltype(schedule(declval<Sch>())), Env>>)));

## 概要

`infallible-scheduler`は、`schedule`による非同期操作が停止要求されない限り`set_value`によってのみ完了する`Scheduler`型の要件を定義する説明専用のコンセプトである。

## バージョン

### 言語

- C++26

## 関連項目

- `execution::scheduler`
- `execution::affine`

## 参照

- P3941R4 Scheduler Affinity