File tree Expand file tree Collapse file tree 9 files changed +110
-11
lines changed Expand file tree Collapse file tree 9 files changed +110
-11
lines changed Original file line number Diff line number Diff line change @@ -42,8 +42,8 @@ namespace std::execution {
4242| [`execution::get_domain`](execution/get_domain.md) | 実行ドメイン取得のクエリオブジェクト (customization point object) | C++26 |
4343| [`execution::get_scheduler`](execution/get_scheduler.md) | Scheduler取得のクエリオブジェクト (customization point object) | C++26 |
4444| [`execution::get_delegation_scheduler`](execution/get_delegation_scheduler.md) | 委任Scheduler取得のクエリオブジェクト (customization point object) | C++26 |
45- | [`execution::forward_progress_guarantee`](execution/forward_progress_guarantee.md.nolink ) | 前方進行保証 (enum) | C++26 |
46- | [`execution::get_forward_progress_guarantee`](execution/get_forward_progress_guarantee.md.nolink ) | 前方進行保証取得のクエリオブジェクト (customization point object) | C++26 |
45+ | [`execution::forward_progress_guarantee`](execution/forward_progress_guarantee.md) | 前方進行保証 (enum) | C++26 |
46+ | [`execution::get_forward_progress_guarantee`](execution/get_forward_progress_guarantee.md) | 前方進行保証取得のクエリオブジェクト (customization point object) | C++26 |
4747| [`execution::get_completion_scheduler`](execution/get_completion_scheduler.md) | 完了Scheduler取得のクエリオブジェクト (customization point object) | C++26 |
4848| [`execution::get_env`](execution/get_env.md) | 環境取得のクエリオブジェクト (customization point object) | C++26 |
4949| [`execution::env_of_t`](execution/env_of_t.md) | 指定型から環境型を取得 (alias template) | C++26 |
Original file line number Diff line number Diff line change 1+ # forward_progress_guarantee
2+ * execution[ meta header]
3+ * std::execution[ meta namespace]
4+ * enum[ meta id-type]
5+ * cpp26[ meta cpp]
6+
7+ ``` cpp
8+ namespace std ::execution {
9+ enum class forward_progress_guarantee {
10+ concurrent,
11+ parallel,
12+ weakly_parallel
13+ };
14+ }
15+ ```
16+
17+ ## 概要
18+ [Scheduler](scheduler.md)に関連付けられた実行リソースに属する実行エージェントの、前方進行保証(forward progress guarantees)レベルを表現する列挙型。
19+
20+ | 列挙子 | 前方進行保証レベル |
21+ |----|----|
22+ | `concurrent` | 全ての実行エージェントが並行前方進行保証(concurrent forward progress guarantees)を提供する |
23+ | `parallel` | 全ての実行エージェントが少なくとも並列前方進行保証(parallel forward progress guarantees)を提供する |
24+ | `weakly_parallel` | 弱い並列前方進行保証(weakly parallel forward progress guarantees)となる |
25+
26+ `concurrent`が最も強い前方進行保証を与え、`parallel`、`weakly_parallel`の順に前方進行保証が弱くなる。
27+
28+
29+ ## バージョン
30+ ### 言語
31+ - C++26
32+
33+ ### 処理系
34+ - [Clang](/implementation.md#clang): ??
35+ - [GCC](/implementation.md#gcc): ??
36+ - [ICC](/implementation.md#icc): ??
37+ - [Visual C++](/implementation.md#visual_cpp): ??
38+
39+
40+ ## 関連項目
41+ - [`execution::get_forward_progress_guarantee`](get_forward_progress_guarantee.md)
42+
43+
44+ ## 参照
45+ - [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
Original file line number Diff line number Diff line change 77``` cpp
88namespace std ::execution {
99 struct get_delegation_scheduler_t { unspecified };
10- constexpr get_delegation_scheduler_t get_delegation_scheduler{};
10+ inline constexpr get_delegation_scheduler_t get_delegation_scheduler{};
1111}
1212```
1313* unspecified[italic]
@@ -45,7 +45,7 @@ const修飾[クエリ可能オブジェクト](../queryable.md)`cenv`に対し
4545
4646
4747## 関連項目
48- - [`scheduler`](scheduler.md)
48+ - [`execution:: scheduler`](scheduler.md)
4949
5050
5151## 参照
Original file line number Diff line number Diff line change 77``` cpp
88namespace std ::execution {
99 struct get_domain_t { unspecified };
10- constexpr get_domain_t get_domain{};
10+ inline constexpr get_domain_t get_domain{};
1111}
1212```
1313* unspecified[italic]
@@ -45,7 +45,7 @@ const修飾[クエリ可能オブジェクト](../queryable.md)`cenv`に対し
4545
4646
4747## 関連項目
48- - [`default_domain`](default_domain.md)
48+ - [`execution:: default_domain`](default_domain.md)
4949
5050
5151## 参照
Original file line number Diff line number Diff line change 1+ # get_forward_progress_guarantee
2+ * execution[ meta header]
3+ * cpo[ meta id-type]
4+ * std::execution[ meta namespace]
5+ * cpp26[ meta cpp]
6+
7+ ``` cpp
8+ namespace std ::execution {
9+ struct get_forward_progress_guarantee_t { unspecified };
10+ inline constexpr get_forward_progress_guarantee_t get_forward_progress_guarantee{};
11+ }
12+ ```
13+ * unspecified[italic]
14+
15+ ## 概要
16+ `get_forward_progress_guarantee_t`は、[Scheduler](scheduler.md)に関連付けられた実行リソースによる実行エージェントの前方進行保証を取得する[クエリオブジェクト](../queryable.md)である。
17+
18+
19+ ## 効果
20+ 説明用の変数`sch`に対して、型`Sch`を`decltype((sch))`とする。`Sch`が[`scheduler`](scheduler.md)を満たさないとき、`get_forward_progress_guarantee`は不適格となる。
21+
22+ そうでなければ、呼び出し式`get_forward_progress_guarantee(sch)`は下記と等価であり、[`forward_progress_guarantee`](forward_progress_guarantee.md)列挙型の値となる。
23+
24+ - 引数`sch`がconst修飾された`csch`を用いて、適格であるならば式`cenv.query(get_forward_progress_guarantee)`
25+ - そうでなければ、[`forward_progress_guarantee::weakly_parallel`](forward_progress_guarantee.md)
26+
27+
28+ ## 例外
29+ 投げない
30+
31+
32+ ## カスタマイゼーションポイント
33+ const修飾[Scheduler](scheduler.md)`sch`に対して式`csch.query(get_forward_progress_guarantee)`が呼び出される。
34+ このとき、`noexcept(csch.query(get_forward_progress_guarantee)) == true`であること。
35+
36+
37+ ## バージョン
38+ ### 言語
39+ - C++26
40+
41+ ### 処理系
42+ - [Clang](/implementation.md#clang): ??
43+ - [GCC](/implementation.md#gcc): ??
44+ - [ICC](/implementation.md#icc): ??
45+ - [Visual C++](/implementation.md#visual_cpp): ??
46+
47+
48+ ## 関連項目
49+ - [`execution::scheduler`](scheduler.md)
50+ - [`execution::forward_progress_guarantee`](forward_progress_guarantee.md)
51+
52+
53+ ## 参照
54+ - [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
Original file line number Diff line number Diff line change 77``` cpp
88namespace std ::execution {
99 struct get_scheduler { unspecified };
10- constexpr get_scheduler_t get_scheduler{};
10+ inline constexpr get_scheduler_t get_scheduler{};
1111}
1212```
1313* unspecified[italic]
@@ -45,7 +45,7 @@ const修飾[クエリ可能オブジェクト](../queryable.md)`cenv`に対し
4545
4646
4747## 関連項目
48- - [`scheduler`](scheduler.md)
48+ - [`execution:: scheduler`](scheduler.md)
4949
5050
5151## 参照
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ namespace std {
2222
2323
2424## 関連項目
25- - [`forwarding_query`](forwarding_query.md)
25+ - [`execution:: forwarding_query`](forwarding_query.md)
2626
2727
2828## 参照
Original file line number Diff line number Diff line change 77``` cpp
88namespace std {
99 struct get_allocator_t { unspecified };
10- constexpr get_allocator_t get_allocator{};
10+ inline constexpr get_allocator_t get_allocator{};
1111}
1212```
1313* unspecified[italic]
Original file line number Diff line number Diff line change 77``` cpp
88namespace std {
99 struct get_stop_token_t { unspecified };
10- constexpr get_stop_token_t get_stop_token{};
10+ inline constexpr get_stop_token_t get_stop_token{};
1111}
1212```
1313* unspecified[italic]
You can’t perform that action at this time.
0 commit comments