Skip to content

Commit f27450b

Browse files
committed
functional: C++26 std::execution説明用エンティティ (#1384)
callable,nothrow-callable,call-result-t,decayed-typeof
1 parent c551d63 commit f27450b

18 files changed

Lines changed: 135 additions & 22 deletions

reference/execution/execution/basic-operation.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ nothrow-callable<decltype(impls-for<tag_of_t<Sndr>>::get-state), Sndr, Rcvr&> &&
7272
```
7373
* impls-for[link impls-for.md]
7474
* tag_of_t[link tag_of_t.md]
75-
* nothrow-callable[link /reference/functional/nothrow-callable.md.nolink]
75+
* nothrow-callable[link /reference/functional/nothrow-callable.md]
7676
* is_nothrow_move_constructible_v[link /reference/type_traits/is_nothrow_move_constructible.md]
7777
* is_nothrow_constructible_v[link /reference/type_traits/is_nothrow_constructible.md]
7878

@@ -81,6 +81,7 @@ nothrow-callable<decltype(impls-for<tag_of_t<Sndr>>::get-state), Sndr, Rcvr&> &&
8181
```cpp
8282
call-result-t<decltype(impls-for<tag_of_t<Sndr>>::get-state), Sndr, Rcvr&>.
8383
```
84+
* call-result-t[link /reference/functional/call-result-t.md]
8485
* impls-for[link impls-for.md]
8586
* tag_of_t[link tag_of_t.md]
8687

@@ -105,7 +106,7 @@ using connect-all-result = call-result-t< // exposition only
105106
template<class Sndr>
106107
using indices-for = remove_reference_t<Sndr>::indices-for; // exposition only
107108
```
108-
* call-result-t[link call-result-t.md.nolink]
109+
* call-result-t[link /reference/functional/call-result-t.md]
109110
* impls-for[link impls-for.md]
110111
* tag_of_t[link tag_of_t.md]
111112
* decay_t[link /reference/type_traits/decay.md]

reference/execution/execution/basic-receiver.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ namespace std::execution {
4444
* tag_of_t[link tag_of_t.md]
4545
* state-type[link basic-operation.md]
4646
* impls-for[link impls-for.md]
47-
* callable[link /reference/functional/callable.md.nolink]
47+
* callable[link /reference/functional/callable.md]
4848
* set_value_t[link set_value.md]
4949
* set_error_t[link set_error.md]
5050
* set_stopped_t[link set_stopped.md]
@@ -73,7 +73,7 @@ using env-type = call-result-t<
7373
decltype(impls-for<tag_of_t<Sndr>>::get-env), Index,
7474
state-type<Sndr, Rcvr>&, const Rcvr&>;
7575
```
76-
* call-result-t[link call-result-t.md.nolink]
76+
* call-result-t[link /reference/functional/call-result-t.md]
7777
* impls-for[link impls-for.md]
7878
* tag_of_t[link tag_of_t.md]
7979
* state-type[link basic-operation.md]

reference/execution/execution/completion_signatures_of_t.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace std::execution {
1313
```
1414
* env<>[link env.md]
1515
* sender_in[link sender_in.md]
16-
* call-result-t[link call-result-t.md.nolink]
16+
* call-result-t[link /reference/functional/call-result-t.md]
1717
* get_completion_signatures_t[link get_completion_signatures.md]
1818
1919
## 概要

reference/execution/execution/emplace-from.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ struct emplace-from {
2121
};
2222
```
2323
* is_nothrow_move_constructible_v[link /reference/type_traits/is_nothrow_move_constructible.md]
24-
* call-result-t[link call-result-t.md.nolink]
25-
* nothrow-callable[link /reference/functional/nothrow-callable.md.nolink]
24+
* call-result-t[link /reference/functional/call-result-t.md]
25+
* nothrow-callable[link /reference/functional/nothrow-callable.md]
2626
* std::move[link /reference/utility/move.md]
2727
2828
## 概要

reference/execution/execution/impls-for.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ namespace std::execution {
109109
Tag()(std::move(rcvr), std::forward<Args>(args)...);
110110
}
111111
```
112-
* callable[link /reference/functional/callable.md.nolink]
112+
* callable[link /reference/functional/callable.md]
113113
* std::move[link /reference/utility/move.md]
114114
115115

reference/execution/execution/just.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ namespace std::execution {
4545
};
4646
}
4747
```
48-
* decayed-typeof[link decayed-typeof.md.nolink]
48+
* decayed-typeof[link /reference/functional/decayed-typeof.md]
4949
* impls-for[link impls-for.md]
5050
* default-impls[link impls-for.md]
5151
* set_value[link set_value.md]

reference/execution/execution/just_error.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ namespace std::execution {
4646
};
4747
}
4848
```
49-
* decayed-typeof[link decayed-typeof.md.nolink]
49+
* decayed-typeof[link /reference/functional/decayed-typeof.md]
5050
* impls-for[link impls-for.md]
5151
* default-impls[link impls-for.md]
5252
* set_error[link set_error.md]

reference/execution/execution/just_stopped.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ namespace std::execution {
4141
};
4242
}
4343
```
44-
* decayed-typeof[link decayed-typeof.md.nolink]
44+
* decayed-typeof[link /reference/functional/decayed-typeof.md]
4545
* impls-for[link impls-for.md]
4646
* default-impls[link impls-for.md]
4747
* set_stopped[link set_stopped.md]

reference/execution/execution/let_value.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ namespace std::execution {
4545
```
4646
* impls-for[link impls-for.md]
4747
* default-impls[link impls-for.md]
48-
* decayed-typeof[link decayed-typeof.md.nolink]
48+
* decayed-typeof[link /reference/functional/decayed-typeof.md]
4949
* see below[italic]
5050
5151
`impls-for<decayed-typeof<let_value>>::get-state`メンバは、下記ラムダ式と等価な関数呼び出し可能なオブジェクトで初期化される。
@@ -78,15 +78,15 @@ namespace std::execution {
7878
* decay_t[link /reference/type_traits/decay.md]
7979
* see below[italic]
8080

81-
- 説明用のパック`Sigs`[`completion_signatures_of_t`](completion_signatures_of_t.md)`<`[`child-type`](child-type.md)`<Sndr>,` [`env_of_t`](env_of_t.md)`<Rcvr>>`による[`completion_signatures`](completion_signatures.md)特殊化のテンプレートパラメータとし、パック`LetSigs``Sigs`に含まれる型のうち戻り値型が`decayed-typeof<`[`set_value`](set_value.md)`>`に等しいものと定義する。説明用のエイリアステンプレート`as-tuple<Tag(Args...)>`[`decayed-tuple`](decayed-tuple.md)`<Args...>`と定義する。型`args_variant_t`は下記定義において重複削除した型となる。
81+
- 説明用のパック`Sigs`[`completion_signatures_of_t`](completion_signatures_of_t.md)`<`[`child-type`](child-type.md)`<Sndr>,` [`env_of_t`](env_of_t.md)`<Rcvr>>`による[`completion_signatures`](completion_signatures.md)特殊化のテンプレートパラメータとし、パック`LetSigs``Sigs`に含まれる型のうち戻り値型が[`decayed-typeof`](/reference/functional/decayed-typeof.md)`<`[`set_value`](set_value.md)`>`に等しいものと定義する。説明用のエイリアステンプレート`as-tuple<Tag(Args...)>`[`decayed-tuple`](decayed-tuple.md)`<Args...>`と定義する。型`args_variant_t`は下記定義において重複削除した型となる。
8282

8383
```cpp
8484
variant<monostate, as-tuple<LetSigs>...>
8585
```
8686
* variant[link /reference/variant/variant.md]
8787
* monostate[link /reference/variant/monostate.md]
8888

89-
- 説明用の型`Tag`とパック`Args`に対して、説明用のエイリアステンプレート`as-sndr2<Tag(Args...)>`を`call-result-t<Fn,` [`decay_t`](/reference/type_traits/decay.md)`<Args>&...>`と定義する。型`ops2_variant_t`は下記定義において重複削除した型となる。
89+
- 説明用の型`Tag`とパック`Args`に対して、説明用のエイリアステンプレート`as-sndr2<Tag(Args...)>`を[`call-result-t`](/reference/functional/call-result-t.md)`<Fn,` [`decay_t`](/reference/type_traits/decay.md)`<Args>&...>`と定義する。型`ops2_variant_t`は下記定義において重複削除した型となる。
9090

9191
```cpp
9292
variant<monostate, connect_result_t<as-sndr2<LetSigs>, receiver2<Rcvr, Env>>...>
@@ -113,19 +113,19 @@ namespace std::execution {
113113
}
114114
```
115115
* set_value[link set_value.md]
116-
* decayed-typeof[link decayed-typeof.md.nolink]
116+
* decayed-typeof[link /reference/functional/decayed-typeof.md]
117117
* TRY-EVAL[link TRY-EVAL.md.nolink]
118118
* std::move[link /reference/utility/move.md]
119119
120-
説明用の式`sndr`と`env`に対して、型`Sndr`を`decltype((sndr))`とする。[`sender-for`](sender-for.md)`<Sndr, decayed-typeof<let_value>> == false`のとき、式`let_value.transform_env(sndr, env)`は不適格となる。
120+
説明用の式`sndr`と`env`に対して、型`Sndr`を`decltype((sndr))`とする。[`sender-for`](sender-for.md)`<Sndr,` [`decayed-typeof`](/reference/functional/decayed-typeof.md)`<let_value>> == false`のとき、式`let_value.transform_env(sndr, env)`は不適格となる。
121121
122122
そうでなければ、式`let_value.transform_env(sndr, env)`は[`JOIN-ENV`](JOIN-ENV.md.nolink)`(let-env(sndr),` [`FWD-ENV`](../forwarding_query.md)`(env))`と等価。
123123
124124
125125
## 説明専用エンティティ
126126
説明用の式`sndr`を用いて、`let-env(sndr)`を下記リストのうち最初に適格となる式と定義する。
127127
128-
- [`SCHED-ENV`](SCHED-ENV.md.nolink)`(`[`get_completion_scheduler`](get_completion_scheduler.md)`<decayed-typeof<`[`set_value`](set_value.md)`>>(`[`get_env`](get_env.md)`(sndr)))`
128+
- [`SCHED-ENV`](SCHED-ENV.md.nolink)`(`[`get_completion_scheduler`](get_completion_scheduler.md)`<`[`decayed-typeof`](/reference/functional/decayed-typeof.md)`<`[`set_value`](set_value.md)`>>(`[`get_env`](get_env.md)`(sndr)))`
129129
- [`MAKE-ENV`](MAKE-ENV.md.nolink)`(`[`get_domain`](get_domain.md)`,` [`get_domain`](get_domain.md)`(`[`get_env`](get_env.md)`(sndr)))`
130130
- `(void(sndr),` [`env<>{}`](env.md)`)`
131131

reference/execution/execution/prop.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace std::execution {
2727
2828
2929
## 適格要件
30-
説明用の`prop-like`テンプレートクラスを用いて、`QueryTag`と`ValueType`が[`callable`](/reference/functional/callable.md.nolink)`<QueryTag, prop-like<ValueType>>`のモデルであること。
30+
説明用の`prop-like`テンプレートクラスを用いて、`QueryTag`と`ValueType`が[`callable`](/reference/functional/callable.md)`<QueryTag, prop-like<ValueType>>`のモデルであること。
3131
3232
```cpp
3333
template<class ValueType>

0 commit comments

Comments
 (0)