2
2
<feed xmlns =" http://www.w3.org/2005/Atom" >
3
3
<title >cpprefjp - C++日本語リファレンス</title >
4
4
<link href =" https://cpprefjp.github.io" />
5
- <updated >2025-07-31T04:49:01.330338 </updated >
6
- <id >059b3f39-c28e-4c29-b70a-15b63b9c4dd0 </id >
5
+ <updated >2025-07-31T12:38:25.895896 </updated >
6
+ <id >2a9e2659-a97b-43c1-a60f-9491471f039d </id >
7
7
8
8
9
+ <entry >
10
+ <title >sender -- execution/sender: LWG4202</title >
11
+ <link href =" https://cpprefjp.github.io/reference/execution/execution/sender.html" />
12
+ <id >2798af6fb2cc9cfc931e58dfde42b797ae94259b:reference/execution/execution/sender.md</id >
13
+ <updated >2025-07-31T21:34:14+09:00</updated >
14
+
15
+ <summary type =" html" >< pre>< code> diff --git a/reference/execution/execution/sender.md b/reference/execution/execution/sender.md
16
+ index 216fea494..12b11c6be 100644
17
+ --- a/reference/execution/execution/sender.md
18
+ +++ b/reference/execution/execution/sender.md
19
+ @@ -10,6 +10,9 @@ namespace std::execution {
20
+ concept sender;
21
+
22
+ struct sender_t {}; // タグ型
23
+ +
24
+ + template& lt;class Sndr& gt;
25
+ + inline constexpr bool enable_sender = see below;
26
+ }
27
+ ```
28
+
29
+ @@ -20,6 +23,7 @@ namespace std::execution {
30
+
31
+ - 下記いずれかを満たす
32
+ - `sender_t`をメンバ型`Sndr::sender_concept`として定義する
33
+ + - `enable_sender`変数テンプレートを`true`で特殊化する
34
+ - [コルーチンのAwaitable型](/lang/cpp20/coroutines.md)
35
+ - [`get_env`](get_env.md)で[属性](../queryable.md)を取得できる
36
+ - ムーブ可能
37
+ @@ -43,12 +47,19 @@ concept enable-sender =
38
+ * env-promise[link env-promise.md]
39
+ * env& lt;& gt;[link env.md]
40
+
41
+ +`enable_sender`変数テンプレートを以下のように定義する。
42
+ +
43
+ +```cpp
44
+ +template& lt;class Sndr& gt;
45
+ +inline constexpr bool enable_sender = enable-sender& lt;Sndr& gt;;
46
+ +```
47
+ +
48
+ `sender`コンセプトは、以下のように定義される。
49
+
50
+ ```cpp
51
+ template& lt;class Sndr& gt;
52
+ concept sender =
53
+ - bool(enable-sender& lt;remove_cvref_t& lt;Sndr& gt;& gt;) & amp;& amp;
54
+ + enable_sender& lt;remove_cvref_t& lt;Sndr& gt;& gt;) & amp;& amp;
55
+ requires (const remove_cvref_t& lt;Sndr& gt;& amp; sndr) {
56
+ { get_env(sndr) } -& gt; queryable;
57
+ } & amp;& amp;
58
+ @@ -61,8 +72,7 @@ concept sender =
59
+
60
+
61
+ ## 備考
62
+ -`sender`コンセプトの制約式に現れる第1項`bool(enable-sender& lt;...& gt;)`は[原子制約(atomic constraint)](/lang/cpp20/concepts.md)を構成する。
63
+ -これによりオーバーロード解決時の優先順比較において`enable-sender`コンセプトの`||`を単純なOR条件とみなせ、コンパイル時の複雑な包摂関係計算コストを抑制できる。
64
+ +プログラム定義型が`sender`コンセプトを満たす場合、ユーザは`enable_sender`変数テンプレートを`true`として特殊化してもよい。そのような特殊化は定数式で利用可能かつ`const bool`型をもつこと。
65
+
66
+
67
+ ## 例
68
+ @@ -103,3 +113,4 @@ int main()
69
+
70
+ ## 参照
71
+ - [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
72
+ +- [LWG 4202. enable-sender should be a variable template](https://cplusplus.github.io/LWG/issue4202)
73
+ < /code>< /pre> </summary >
74
+
75
+ <author >
76
+ <name >yoh</name >
77
+
78
+ </author >
79
+ </entry >
80
+
9
81
<entry >
10
82
<title >C++20 -- Merge pull request #1479 from cpprefjp/lwg3659</title >
11
83
<link href =" https://cpprefjp.github.io/lang/cpp20.html" />
@@ -2577,31 +2649,4 @@ index 94db339aa..04d97c796 100644
2577
2649
</author >
2578
2650
</entry >
2579
2651
2580
- <entry >
2581
- <title >BUFSIZ -- added info for bufsiz.md</title >
2582
- <link href =" https://cpprefjp.github.io/reference/cstdio/bufsiz.html" />
2583
- <id >24dc1089c1641f9fe2912a0f1478b68eb2d60cca:reference/cstdio/bufsiz.md</id >
2584
- <updated >2025-07-24T21:29:45+09:00</updated >
2585
-
2586
- <summary type =" html" >< pre>< code> diff --git a/reference/cstdio/bufsiz.md b/reference/cstdio/bufsiz.md
2587
- index 8f1ff4180..c8af3427c 100644
2588
- --- a/reference/cstdio/bufsiz.md
2589
- +++ b/reference/cstdio/bufsiz.md
2590
- @@ -10,7 +10,7 @@
2591
- ## 概要
2592
- [`setbuf()`](/reference/cstdio/setbuf.md.nolink)関数で使われる標準入出力のバッファサイズを表すマクロ。
2593
-
2594
- -このマクロは、標準入出力関数で使用されるデフォルトのバッファサイズを定義する。値は実装依存であるが、一般的には512バイトや1024バイトなどの値が使用される。
2595
- +このマクロは、標準入出力関数で使用されるデフォルトのバッファサイズを定義する。値は実装依存であり、256バイト以上であることは保証されているが、一般的には512バイトや1024バイトなどの値が使用される。
2596
-
2597
- ## 例
2598
- ```cpp example
2599
- < /code>< /pre> </summary >
2600
-
2601
- <author >
2602
- <name >rotarymars</name >
2603
-
2604
- </author >
2605
- </entry >
2606
-
2607
2652
</feed >
0 commit comments