Skip to content

Commit cef1c67

Browse files
committed
execution: decays-to,decayed-tuple,variant-or-empty (#1384)
1 parent b653831 commit cef1c67

16 files changed

Lines changed: 124 additions & 10 deletions

reference/execution/decays-to.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# decays-to
2+
* execution[meta header]
3+
* concept[meta id-type]
4+
* std[meta namespace]
5+
* cpp26[meta cpp]
6+
7+
```cpp
8+
namespace std {
9+
template<class From, class To>
10+
concept decays-to = same_as<decay_t<From>, To>; // exposition only
11+
}
12+
```
13+
* decay_t[link /reference/type_traits/decay.md]
14+
15+
## 概要
16+
`decays-to`は、型`From`の[decay](/reference/type_traits/decay.md)結果が型`To`に一致することを表す説明専用のコンセプトである。
17+
18+
19+
## バージョン
20+
### 言語
21+
- C++26
22+
23+
24+
## 参照
25+
- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)

reference/execution/execution/basic-operation.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ namespace std::execution {
4040
* operation_state_t[link operation_state.md]
4141
* tag_of_t[link tag_of_t.md]
4242
* impls-for[link impls-for.md]
43+
* std::move[link /reference/utility/move.md]
4344
* see below[italic]
4445

4546
## 概要
@@ -71,6 +72,7 @@ nothrow-callable<decltype(impls-for<tag_of_t<Sndr>>::get-state), Sndr, Rcvr&> &&
7172
```
7273
* impls-for[link impls-for.md]
7374
* tag_of_t[link tag_of_t.md]
75+
* nothrow-callable[link /reference/functional/nothrow-callable.md.nolink]
7476
* is_nothrow_move_constructible_v[link /reference/type_traits/is_nothrow_move_constructible.md]
7577
* is_nothrow_constructible_v[link /reference/type_traits/is_nothrow_constructible.md]
7678

reference/execution/execution/basic-sender.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@ namespace std::execution {
3434
* sender_t[link sender.md]
3535
* index_sequence_for[link /reference/utility/index_sequence_for.md]
3636
* impls-for[link impls-for.md]
37+
* decays-to[link ../decays-to.md]
3738
* receiver[link receiver.md]
3839
* basic-operation[link basic-operation.md]
40+
* std::move[link /reference/utility/move.md]
3941
* this Self[link /lang/cpp23/deducing_this.md.nolink]
4042
* see below[italic]
4143
@@ -84,6 +86,7 @@ using completion-signatures-for = see below; // exposition only
8486
8587
## 関連項目
8688
- [`make-sender`](make-sender.md)
89+
- [`basic-operation`](basic-operation.md)
8790
- [`execution::sender`](sender.md)
8891
8992
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# decayed-tuple
2+
* execution[meta header]
3+
* std::execution[meta namespace]
4+
* type-alias[meta id-type]
5+
* cpp26[meta cpp]
6+
7+
```cpp
8+
namespace std::execution {
9+
template<class... Ts>
10+
using decayed-tuple = tuple<decay_t<Ts>...>; // exposition only
11+
}
12+
```
13+
* tuple[link /reference/tuple/tuple.md]
14+
* decay_t[link /reference/type_traits/decay.md]
15+
16+
## 概要
17+
`decayed-tuple`は、型パラメータパック`Ts`から[decay](/reference/type_traits/decay.md)結果を要素型とする[`tuple`](/reference/tuple/tuple.md)型を作成する説明専用のエイリアステンプレートである。
18+
19+
20+
## バージョン
21+
### 言語
22+
- C++26
23+
24+
25+
## 関連項目
26+
- [`execution::value_types_of_t`](value_types_of_t.md)
27+
- [`this_thread::sync_wait`](../this_thread/sync_wait.md)
28+
29+
30+
## 参照
31+
- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)

reference/execution/execution/error_types_of_t.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace std::execution {
1515
```
1616
* env<>[link env.md]
1717
* sender_in[link sender_in.md]
18-
* variant-or-empty[link variant-or-empty.md.nolink]
18+
* variant-or-empty[link variant-or-empty.md]
1919
* gather-signatures[link gather-signatures.md]
2020
* set_error_t[link set_error.md]
2121
* completion_signatures_of_t[link completion_signatures_of_t.md]

reference/execution/execution/impls-for.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ namespace std::execution {
107107
Tag()(std::move(rcvr), std::forward<Args>(args)...);
108108
}
109109
```
110+
* callable[link /reference/functional/callable.md.nolink]
111+
* std::move[link /reference/utility/move.md]
110112
111113
112114
## バージョン

reference/execution/execution/just.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,11 @@ namespace std::execution {
3636
};
3737
}
3838
```
39+
* decayed-typeof[link decayed-typeof.md.nolink]
3940
* impls-for[link impls-for.md]
4041
* default-impls[link impls-for.md]
4142
* set_value[link set_value.md]
43+
* std::move[link /reference/utility/move.md]
4244

4345

4446
##

reference/execution/execution/product-type.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ struct product-type { // exposition only
2020
noexcept(see below);
2121
};
2222
```
23+
* this Self[link /lang/cpp23/deducing_this.md.nolink]
2324
* see below[italic]
2425
2526
## 概要
@@ -33,18 +34,20 @@ struct product-type { // exposition only
3334
template<size_t I, class Self>
3435
constexpr decltype(auto) get(this Self&& self) noexcept;
3536
```
37+
* this Self[link /lang/cpp23/deducing_this.md.nolink]
3638

3739
- 効果 : 下記と等価
3840

39-
```cpp
40-
auto& [...ts] = self;
41-
return std::forward_like<Self>(ts...[I]);
42-
```
41+
```cpp
42+
auto& [...ts] = self;
43+
return std::forward_like<Self>(ts...[I]);
44+
```
4345

4446
```cpp
4547
template<class Self, class Fn>
4648
constexpr decltype(auto) apply(this Self&& self, Fn&& fn) noexcept(see below);
4749
```
50+
* this Self[link /lang/cpp23/deducing_this.md.nolink]
4851
* see below[italic]
4952
5053
- テンプレートパラメータ制約 : 下記`return`文の式が適格であること。

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<QueryTag, prop-like<ValueType>>`のモデルであること。
30+
説明用の`prop-like`テンプレートクラスを用いて、`QueryTag`と`ValueType`が[`callable`](/reference/functional/callable.md.nolink)`<QueryTag, prop-like<ValueType>>`のモデルであること。
3131
3232
```cpp
3333
template<class ValueType>

reference/execution/execution/set_error.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ int main()
5757
```
5858
* ex::set_error[color ff0000]
5959
* ex::receiver_t[link receiver.md]
60+
* std::move[link /reference/utility/move.md]
6061

6162
### 出力
6263
```

0 commit comments

Comments
 (0)