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 {
42
42
| [`execution::get_domain`](execution/get_domain.md) | 実行ドメイン取得のクエリオブジェクト (customization point object) | C++26 |
43
43
| [`execution::get_scheduler`](execution/get_scheduler.md) | Scheduler取得のクエリオブジェクト (customization point object) | C++26 |
44
44
| [`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 |
47
47
| [`execution::get_completion_scheduler`](execution/get_completion_scheduler.md) | 完了Scheduler取得のクエリオブジェクト (customization point object) | C++26 |
48
48
| [`execution::get_env`](execution/get_env.md) | 環境取得のクエリオブジェクト (customization point object) | C++26 |
49
49
| [`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 7
7
``` cpp
8
8
namespace std ::execution {
9
9
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{};
11
11
}
12
12
```
13
13
* unspecified[italic]
@@ -45,7 +45,7 @@ const修飾[クエリ可能オブジェクト](../queryable.md)`cenv`に対し
45
45
46
46
47
47
## 関連項目
48
- - [`scheduler`](scheduler.md)
48
+ - [`execution:: scheduler`](scheduler.md)
49
49
50
50
51
51
## 参照
Original file line number Diff line number Diff line change 7
7
``` cpp
8
8
namespace std ::execution {
9
9
struct get_domain_t { unspecified };
10
- constexpr get_domain_t get_domain{};
10
+ inline constexpr get_domain_t get_domain{};
11
11
}
12
12
```
13
13
* unspecified[italic]
@@ -45,7 +45,7 @@ const修飾[クエリ可能オブジェクト](../queryable.md)`cenv`に対し
45
45
46
46
47
47
## 関連項目
48
- - [`default_domain`](default_domain.md)
48
+ - [`execution:: default_domain`](default_domain.md)
49
49
50
50
51
51
## 参照
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 7
7
``` cpp
8
8
namespace std ::execution {
9
9
struct get_scheduler { unspecified };
10
- constexpr get_scheduler_t get_scheduler{};
10
+ inline constexpr get_scheduler_t get_scheduler{};
11
11
}
12
12
```
13
13
* unspecified[italic]
@@ -45,7 +45,7 @@ const修飾[クエリ可能オブジェクト](../queryable.md)`cenv`に対し
45
45
46
46
47
47
## 関連項目
48
- - [`scheduler`](scheduler.md)
48
+ - [`execution:: scheduler`](scheduler.md)
49
49
50
50
51
51
## 参照
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ namespace std {
22
22
23
23
24
24
## 関連項目
25
- - [`forwarding_query`](forwarding_query.md)
25
+ - [`execution:: forwarding_query`](forwarding_query.md)
26
26
27
27
28
28
## 参照
Original file line number Diff line number Diff line change 7
7
``` cpp
8
8
namespace std {
9
9
struct get_allocator_t { unspecified };
10
- constexpr get_allocator_t get_allocator{};
10
+ inline constexpr get_allocator_t get_allocator{};
11
11
}
12
12
```
13
13
* unspecified[italic]
Original file line number Diff line number Diff line change 7
7
``` cpp
8
8
namespace std {
9
9
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{};
11
11
}
12
12
```
13
13
* unspecified[italic]
You can’t perform that action at this time.
0 commit comments