Skip to content

Commit f1e2743

Browse files
committed
execution: tag_of_t (#1384)
標準Senderアルゴリズムの第1要素を"Senderアルゴリズムタグ"に統一。 (P2999R3では単にalgorithm tagと言及されるがSenderとの関連性を強調)
1 parent 46a42fe commit f1e2743

13 files changed

Lines changed: 95 additions & 18 deletions

File tree

reference/execution/execution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ namespace std::execution {
8888
| [`execution::value_types_of_t`](execution/value_types_of_t.md) | Senderの値完了シグネチャ集合から指定操作で型を生成 (alias template) | C++26 |
8989
| [`execution::error_types_of_t`](execution/error_types_of_t.md) | Senderのエラー完了シグネチャ集合から指定操作で型を生成 (alias template) | C++26 |
9090
| [`execution::sends_stopped`](execution/sends_stopped.md) | Senderが停止完了を送信しうるか否か (variable template) | C++26 |
91-
| [`execution::tag_of_t`](execution/tag_of_t.md.nolink) | Senderのタグ型を取得 (alias template) | C++26 |
91+
| [`execution::tag_of_t`](execution/tag_of_t.md) | Senderアルゴリズムタグを取得 (alias template) | C++26 |
9292
| [`execution::transform_sender`](execution/transform_sender.md) | Senderを変換 (function template) | C++26 |
9393
| [`execution::transform_env`](execution/transform_env.md) | 環境を変換 (function template) | C++26 |
9494
| [`execution::apply_sender`](execution/apply_sender.md) | Senderアルゴリズムを適用 (function template) | C++26 |

reference/execution/execution/basic-operation.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ namespace std::execution {
3838
}
3939
```
4040
* operation_state_t[link operation_state.md]
41-
* tag_of_t[link tag_of_t.md.nolink]
41+
* tag_of_t[link tag_of_t.md]
4242
* impls-for[link impls-for.md]
4343
* see below[italic]
4444

@@ -70,7 +70,7 @@ nothrow-callable<decltype(impls-for<tag_of_t<Sndr>>::get-state), Sndr, Rcvr&> &&
7070
is_nothrow_constructible_v<state-type<Sndr, Rcvr>, get-state-result>)
7171
```
7272
* impls-for[link impls-for.md]
73-
* tag_of_t[link tag_of_t.md.nolink]
73+
* tag_of_t[link tag_of_t.md]
7474
* is_nothrow_move_constructible_v[link /reference/type_traits/is_nothrow_move_constructible.md]
7575
* is_nothrow_constructible_v[link /reference/type_traits/is_nothrow_constructible.md]
7676

@@ -80,7 +80,7 @@ nothrow-callable<decltype(impls-for<tag_of_t<Sndr>>::get-state), Sndr, Rcvr&> &&
8080
call-result-t<decltype(impls-for<tag_of_t<Sndr>>::get-state), Sndr, Rcvr&>.
8181
```
8282
* impls-for[link impls-for.md]
83-
* tag_of_t[link tag_of_t.md.nolink]
83+
* tag_of_t[link tag_of_t.md]
8484

8585

8686
## 説明専用エンティティ
@@ -104,7 +104,7 @@ template<class Sndr>
104104
using indices-for = remove_reference_t<Sndr>::indices-for; // exposition only
105105
```
106106
* impls-for[link impls-for.md]
107-
* tag_of_t[link tag_of_t.md.nolink]
107+
* tag_of_t[link tag_of_t.md]
108108
* decay_t[link /reference/type_traits/decay.md]
109109
* remove_reference_t[link /reference/type_traits/remove_reference.md]
110110
* see below[italic]

reference/execution/execution/basic-sender.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ namespace std::execution {
4444
4545
`basic-sender<Tag, Data, Child...>`は[`sender`](sender.md)のモデルであり、[Senderアルゴリズム構築](make-sender.md)の結果型として利用される。
4646
47-
- `Tag` : [Senderタグ](tag_of_t.md.nolink)(例:[`just`](just.md), [`then`](then.md.nolink))
47+
- `Tag` : [Senderアルゴリズムタグ](tag_of_t.md)(例:[`just`](just.md), [`then`](then.md.nolink))
4848
- `Data` : Senderアルゴリズムに指定された追加の引数。複数個の引数は[`product-type`](product-type.md.nolink)型を用いて単一値として保持する。
4949
- `Child` : 子Senderのリスト。Senderファクトリでは0個、Senderアダプタでは通常1個の子Senderを保持する。
5050
@@ -88,4 +88,5 @@ using completion-signatures-for = see below; // exposition only
8888

8989

9090
## 参照
91+
- [P2999R3 Sender Algorithm Customization](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2999r3.html)
9192
- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)

reference/execution/execution/default_domain/apply_sender.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ constexpr decltype(auto) apply_sender(Tag, Sndr&& sndr, Args&&... args)
1717
Senderアルゴリズム適用のデフォルト動作。
1818
[`execution::apply_sender`](../apply_sender.md)に対するスタマイゼーションポイントとして機能する。
1919
20-
[Senderタグ型](../tag_of_t.md.nolink)`Tag`に対して、`apply_sender`メンバ関数を呼び出す。
20+
[Senderアルゴリズムタグ型](../tag_of_t.md)`Tag`に対して、`apply_sender`メンバ関数を呼び出す。
2121
2222
2323
## テンプレートパラメータ制約

reference/execution/execution/default_domain/transform_env.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ template<sender Sndr, queryable Env>
1616
環境変換のデフォルト動作。
1717
[`execution::transform_env`](../transform_env.md)に対するスタマイゼーションポイントとして機能する。
1818
19-
- 定義されていれば、[Senderタグ型](../tag_of_t.md.nolink)の`transform_env`メンバ関数に変換動作を委譲する。
19+
- 定義されていれば、[Senderアルゴリズムタグ型](../tag_of_t.md)の`transform_env`メンバ関数に変換動作を委譲する。
2020
- そうでなければ、無変換。
2121
2222
@@ -27,7 +27,7 @@ template<sender Sndr, queryable Env>
2727
## 効果
2828
説明用の式`e`を次の通りとしたとき、`e`を返す。
2929
30-
- 適格であるならば、式[`tag_of_t`](tag_of_t.md.nolink)`<Sndr>().transform_env(`[`std::forward`](/reference/utility/forward.md)`<Sndr>(sndr),` [`std::forward`](/reference/utility/forward.md)`<Env>(env))`
30+
- 適格であるならば、式[`tag_of_t`](../tag_of_t.md)`<Sndr>().transform_env(`[`std::forward`](/reference/utility/forward.md)`<Sndr>(sndr),` [`std::forward`](/reference/utility/forward.md)`<Env>(env))`
3131
- そうでなければ、`static_cast<Env>(`[`std::forward`](/reference/utility/forward.md)`<Env>(env))`
3232
3333

reference/execution/execution/default_domain/transform_sender.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ constexpr sender decltype(auto) transform_sender(Sndr&& sndr, const Env&... env)
1919
Sender変換のデフォルト動作。
2020
[`execution::transform_sender`](../transform_sender.md)に対するスタマイゼーションポイントとして機能する。
2121
22-
- 定義されていれば、[Senderタグ型](../tag_of_t.md.nolink)の`transform_sender`メンバ関数に変換動作を委譲する。
22+
- 定義されていれば、[Senderアルゴリズムタグ型](../tag_of_t.md)の`transform_sender`メンバ関数に変換動作を委譲する。
2323
- そうでなければ、無変換。
2424
2525
2626
## 効果
2727
説明用の式`e`を次の通りとしたとき、`e`を返す。
2828
29-
- 適格であるならば、式[`tag_of_t`](tag_of_t.md.nolink)`<Sndr>().transform_sender(`[`std::forward`](/reference/utility/forward.md)`<Sndr>(sndr), env...)`
29+
- 適格であるならば、式[`tag_of_t`](../tag_of_t.md)`<Sndr>().transform_sender(`[`std::forward`](/reference/utility/forward.md)`<Sndr>(sndr), env...)`
3030
- そうでなければ、[`std::forward`](/reference/utility/forward.md)`<Sndr>(sndr)`
3131
3232

reference/execution/execution/impls-for.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace std::execution {
2323
## 概要
2424
`impls-for`は、Senderアルゴリズム動作仕様定義で用いられる説明専用のクラステンプレートである。
2525
26-
説明専用のクラス`default-impls`にてSenderアルゴリズム共通動作を記述し、[Senderタグ](tag_of_t.md.nolink)`Tag`を用いて`impls-for<Tag>`特殊化を定義することでSenderアルゴリズム固有動作を静的にオーバーライドする
26+
説明専用のクラス`default-impls`にてSenderアルゴリズム共通動作を記述し、[Senderアルゴリズムタグ型](tag_of_t.md)`Tag`を用いて`impls-for<Tag>`特殊化を定義することでSenderアルゴリズムの固有動作を静的にオーバーライドする
2727
2828
2929
## 説明専用クラス `default-impls`

reference/execution/execution/just.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace std::execution {
2121
- そうでなければ、式[`make-sender`](make-sender.md)`(just,` [`product-type`](product-type.md.nolink)`{ts...})`と等価。
2222
2323
24-
### Senderタグ `just`
24+
### Senderアルゴリズムタグ `just`
2525
Senderアルゴリズム動作説明用のクラステンプレート`impls-for`に対して、下記の特殊化が定義される。
2626
2727
```cpp

reference/execution/execution/make-sender.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ constexpr auto make-sender(Tag tag, Data&& data, Child&&... child);
1515
1616
[`sender`](sender.md)のモデルである説明専用クラステンプレート[`basic-sender`](basic-sender.md)のインスタンスを生成する。
1717
18-
- `Tag` : [Senderタグ](tag_of_t.md.nolink)(例:[`just`](just.md), [`then`](then.md.nolink))
18+
- `Tag` : [Senderアルゴリズムタグ](tag_of_t.md)(例:[`just`](just.md), [`then`](then.md.nolink))
1919
- `Data` : Senderアルゴリズムに指定された追加の引数。複数個の引数は[`product-type`](product-type.md.nolink)型を用いて単一値として保持する。
2020
- `Child` : 子Senderのリスト。Senderファクトリでは0個、Senderアダプタでは通常1個の子Senderを保持する。
2121
@@ -44,4 +44,5 @@ constexpr auto make-sender(Tag tag, Data&& data, Child&&... child);
4444
4545
4646
## 参照
47+
- [P2999R3 Sender Algorithm Customization](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2999r3.html)
4748
- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)

reference/execution/execution/sender-for.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ namespace std::execution {
1313
}
1414
```
1515
* sender[link sender.md]
16-
* tag_of_t[link tag_of_t.md.nolink]
16+
* tag_of_t[link tag_of_t.md]
1717
1818
## 概要
19-
`sender-for`は、[Sender型](sender.md)`Sndr`が[Senderタグ型](tag_of_t.md.nolink)`Tag`を持つことを表す説明専用のコンセプトである。
19+
`sender-for`は、[Sender型](sender.md)`Sndr`が[Senderアルゴリズムタグ型](tag_of_t.md)`Tag`を持つことを表す説明専用のコンセプトである。
2020
2121
2222
## バージョン

0 commit comments

Comments
 (0)