Skip to content

Commit 437037c

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 84171f0 commit 437037c

7 files changed

Lines changed: 240 additions & 76 deletions

File tree

reference/execution/execution.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2026-06-06T16:11:27">
192-
2026年06月06日 16時11分27秒
191+
<span itemprop="datePublished" content="2026-06-07T09:28:55">
192+
2026年06月07日 09時28分55秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -790,7 +790,7 @@ <h3>コルーチンユーティリティ</h3>
790790
<td>C++26</td>
791791
</tr>
792792
<tr>
793-
<td><code><a href="execution/affine_on.html">execution::affine_on</a></code></td>
793+
<td><code><a href="execution/affine.html">execution::affine</a></code></td>
794794
<td>タスクコルーチンのScheduler Affinityを実現 (customization point object)</td>
795795
<td>C++26</td>
796796
</tr>
@@ -897,6 +897,7 @@ <h2>参照</h2>
897897
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3986r1.pdf" target="_blank">P3986R1 A Wording Strategy for Inlinable Receivers</a></li>
898898
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3826r5.html" target="_blank">P3826R5 Fix Sender Algorithm Customization</a></li>
899899
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3941r4.html" target="_blank">P3941R4 Scheduler Affinity</a></li>
900+
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4151r1.pdf" target="_blank">P4151R1 Rename <code>affine_on</code></a></li>
900901
</ul></div>
901902

902903
</div>

reference/execution/execution/affine_on.html renamed to reference/execution/execution/affine.html

Lines changed: 32 additions & 31 deletions
Large diffs are not rendered by default.

reference/execution/execution/task/promise_type/await_transform.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,8 @@
224224

225225
<p class="text-right"><small>
226226
最終更新日時(UTC):
227-
<span itemprop="datePublished" content="2026-06-06T16:11:27">
228-
2026年06月06日 16時11分27秒
227+
<span itemprop="datePublished" content="2026-06-07T09:28:55">
228+
2026年06月07日 09時28分55秒
229229
</span>
230230
<br/>
231231
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -258,7 +258,7 @@ <h2>概要</h2>
258258
プログラマが本関数を直接利用することは想定されていない。</p>
259259
<h2>効果</h2>
260260
<p><code><a href="../../../../concepts/same_as.html">same_as</a>&lt;<a href="../../inline_scheduler.html">inline_scheduler</a>, <a href="../../task.html">start_scheduler_type</a>&gt; == true</code>ならば、<code><a href="../../as_awaitable.html">as_awaitable</a>(std::forward&lt;Sender&gt;(sndr), *this)</code>を返す。
261-
そうでなければ、<code><a href="../../as_awaitable.html">as_awaitable</a>(<a href="../../affine_on.html">affine_on</a>(std::forward&lt;Sender&gt;(sndr)), *this)</code>を返す。</p>
261+
そうでなければ、<code><a href="../../as_awaitable.html">as_awaitable</a>(<a href="../../affine.html">affine</a>(std::forward&lt;Sender&gt;(sndr)), *this)</code>を返す。</p>
262262
<h2>バージョン</h2>
263263
<h3>言語</h3>
264264
<ul>
@@ -274,13 +274,14 @@ <h3>処理系</h3>
274274
<h2>関連項目</h2>
275275
<ul>
276276
<li><code><a href="../../as_awaitable.html">execution::as_awaitable</a></code></li>
277-
<li><code><a href="../../affine_on.html">execution::affine_on</a></code></li>
277+
<li><code><a href="../../affine.html">execution::affine</a></code></li>
278278
<li><code><a href="../../inline_scheduler.html">execution::inline_scheduler</a></code></li>
279279
</ul>
280280
<h2>参照</h2>
281281
<ul>
282282
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3552r3.html" target="_blank">P3552R3 Add a Coroutine Task Type</a></li>
283283
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3941r4.html" target="_blank">P3941R4 Scheduler Affinity</a></li>
284+
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4151r1.pdf" target="_blank">P4151R1 Rename <code>affine_on</code></a></li>
284285
</ul></div>
285286

286287
</div>

rss.xml

Lines changed: 188 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,196 @@
22
<feed xmlns="http://www.w3.org/2005/Atom">
33
<title>cpprefjp - C++日本語リファレンス</title>
44
<link href="https://cpprefjp.github.io" />
5-
<updated>2026-06-07T09:08:37.004315</updated>
6-
<id>0feef85f-2327-4cec-a4ef-fe66f8341c62</id>
5+
<updated>2026-06-07T09:34:28.101276</updated>
6+
<id>8664d707-8f65-4349-8544-5b6ba2045ec5</id>
77

88

9+
<entry>
10+
<title>execution -- execution: P4151R1対応(#1650)</title>
11+
<link href="https://cpprefjp.github.io/reference/execution/execution.html"/>
12+
<id>115f17d4667a2a4d2f2e3dcec1a6cadb25f5f20d:reference/execution/execution.md</id>
13+
<updated>2026-06-07T18:28:55+09:00</updated>
14+
15+
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution.md b/reference/execution/execution.md
16+
index cf5e3d776..bb6efdb6a 100644
17+
--- a/reference/execution/execution.md
18+
+++ b/reference/execution/execution.md
19+
@@ -163,7 +163,7 @@ Senderコンシューマは名前空間 `std::this_thread` および名前空間
20+
|------|------|----------------|
21+
| [`execution::as_awaitable`](execution/as_awaitable.md) | Senderを[Awaitable型](/lang/cpp20/coroutines.md)へ変換 (customization point object) | C++26 |
22+
| [`execution::with_awaitable_senders`](execution/with_awaitable_senders.md) | [Promise型](/lang/cpp20/coroutines.md)の基底クラス (class template) | C++26 |
23+
-| [`execution::affine_on`](execution/affine_on.md) | タスクコルーチンのScheduler Affinityを実現 (customization point object) | C++26 |
24+
+| [`execution::affine`](execution/affine.md) | タスクコルーチンのScheduler Affinityを実現 (customization point object) | C++26 |
25+
| [`execution::inline_scheduler`](execution/inline_scheduler.md) | インラインScheduler (class) | C++26 |
26+
| [`execution::task_scheduler`](execution/task_scheduler.md) | 任意Scheduler型を保持するScheduler (class) | C++26 |
27+
| [`execution::with_error`](execution/with_error.md) | タスクコルーチンからのエラー完了 (class template) | C++26 |
28+
@@ -207,3 +207,4 @@ Senderコンシューマは名前空間 `std::this_thread` および名前空間
29+
- [P3986R1 A Wording Strategy for Inlinable Receivers](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3986r1.pdf)
30+
- [P3826R5 Fix Sender Algorithm Customization](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3826r5.html)
31+
- [P3941R4 Scheduler Affinity](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3941r4.html)
32+
+- [P4151R1 Rename `affine_on`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4151r1.pdf)
33+
&lt;/code&gt;&lt;/pre&gt;</summary>
34+
35+
<author>
36+
<name>yoh</name>
37+
<email>kawasaki.liamg@gmail.com</email>
38+
</author>
39+
</entry>
40+
41+
<entry>
42+
<title>affine -- execution: P4151R1対応(#1650)</title>
43+
<link href="https://cpprefjp.github.io/reference/execution/execution/affine.html"/>
44+
<id>115f17d4667a2a4d2f2e3dcec1a6cadb25f5f20d:reference/execution/execution/affine.md</id>
45+
<updated>2026-06-07T18:28:55+09:00</updated>
46+
47+
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/affine.md b/reference/execution/execution/affine.md
48+
new file mode 100644
49+
index 000000000..ef01a5042
50+
--- /dev/null
51+
+++ b/reference/execution/execution/affine.md
52+
@@ -0,0 +1,94 @@
53+
+# affine
54+
+* execution[meta header]
55+
+* cpo[meta id-type]
56+
+* std::execution[meta namespace]
57+
+* cpp26[meta cpp]
58+
+
59+
+```cpp
60+
+namespace std::execution {
61+
+ struct affine_t { unspecified };
62+
+ inline constexpr affine_t affine{};
63+
+}
64+
+```
65+
+* unspecified[italic]
66+
+
67+
+## 概要
68+
+`affine`は、[Receiver](receiver.md)の[Scheduler](scheduler.md)上で完了させるSenderアダプタである。
69+
+アダプト対象Senderが正しいScheduler上で完了すると判断できるとき、アルゴリズムはスケジューリング操作を回避できる。
70+
+
71+
+`affine`は[パイプ可能Senderアダプタオブジェクト](sender_adaptor_closure.md)であり、パイプライン記法をサポートする。
72+
+
73+
+
74+
+## 効果
75+
+説明用の式`sndr`に対して、`decltype((sndr))`が[`sender`](sender.md)を満たさないとき、呼び出し式`affine(sndr)`は不適格となる。
76+
+
77+
+そうでなければ、呼び出し式`affine(sndr)`は下記と等価。
78+
+
79+
+```cpp
80+
+make-sender(affine, env&amp;lt;&amp;gt;(), sndr)
81+
+```
82+
+* make-sender[link make-sender.md]
83+
+* env&amp;lt;&amp;gt;[link env.md]
84+
+
85+
+
86+
+### Senderアルゴリズムタグ `affine`
87+
+型が[`scheduler`](scheduler.md)のモデルである部分式`sch`に対して、説明用の式`UNSTOPPABLE-SCHEDULER(sch)`を、その型が[`scheduler`](scheduler.md)のモデルである式`e`とする。
88+
+
89+
+- 式[`schedule`](schedule.md)`(e)`は[`unstoppable`](unstoppable.md)`(`[`schedule`](schedule.md)`(sch))`と等価な式。
90+
+- 任意の[クエリオブジェクト](../queryable.md)`q`と部分式のパック`args...`に対して、式`e.query(q, args...)`は`sch.query(q, args...)`と等価な式。
91+
+- 式`e == UNSTOPPABLE-SCHEDULER(other)`は`sch == other`と等価な式。
92+
+
93+
+説明用の式`sndr`と`ev`に対して、[`sender-for`](sender-for.md)`&amp;lt;decltype((sndr)), affine_t&amp;gt; == false`のとき、式`affine.transform_sender(sndr, ev)`は不適格となる。
94+
+
95+
+そうでなければ、式`affine.transform_sender(sndr, ev)`は下記と等価。
96+
+
97+
+```cpp
98+
+auto&amp;amp; [_, _, child] = sndr;
99+
+if constexpr (requires { std::forward_like&amp;lt;Sndr&amp;gt;(child).affine(); }) {
100+
+ return std::forward_like&amp;lt;Sndr&amp;gt;(child).affine();
101+
+} else {
102+
+ return continues_on(std::forward_like&amp;lt;Sndr&amp;gt;(child),
103+
+ UNSTOPPABLE-SCHEDULER(get_start_scheduler(ev)));
104+
+}
105+
+```
106+
+* continues_on[link continues_on.md]
107+
+* get_start_scheduler[link get_start_scheduler.md]
108+
+
109+
+
110+
+## カスタマイゼーションポイント
111+
+[Receiver](receiver.md)接続時に、関連付けられた実行ドメインに対して[`execution::transform_sender`](transform_sender.md)経由でSender変換が行われる。
112+
+[デフォルト実行ドメイン](default_domain.md)では無変換。
113+
+
114+
+説明用の式`out_sndr`を`affine(sndr)`の戻り値[Sender](sender.md)とし、型`OutSndr`を`decltype((out_sndr))`とする。式`out_rcvr`を[環境](../queryable.md)`Env`に関連付けられた[Receiver](receiver.md)とする。[`get_start_scheduler`](get_start_scheduler.md)`(`[`get_env`](get_env.md)`(out_rcvr))`が不適格もしくは[`infallible-scheduler`](infallible-scheduler.md)`&amp;lt;Env&amp;gt;`を満たさないとき、式[`get_completion_signatures`](get_completion_signatures.md)`&amp;lt;OutSndr, Env&amp;gt;()`の評価は例外で終了する。`out_sndr`と`out_rcvr`との[接続(connect)](connect.md)結果[Operation State](operation_state.md)への左辺値参照を`op`としたとき、
115+
+
116+
+- 呼び出し[`start`](start.md)`(op)`は、現在の実行エージェント上で入力[Sender](sender.md)`sndr`を開始し、[Scheduler](scheduler.md)`sch`に関連付けられた実行リソースに属する実行エージェント上で`out_rcvr`の完了操作が実行される。
117+
+- 現在の実行リソースが`sch`に関連付けられた実行リソースと同一のとき、[`start`](start.md)`(op)`の完了よりも前に`out_rcvr`の完了操作が呼ばれる可能性がある。
118+
+
119+
+
120+
+## 備考
121+
+`affine`は[タスクコルーチン](task.md)のScheduler Affinity実現に用いられる。
122+
+詳細仕様は[`task::promise::await_transform`](task/promise_type/await_transform.md)を参照のこと。
123+
+
124+
+開始された[Scheduler](scheduler.md)上で再開(resume)されると分かっている[Sender](sender.md)に対して、処理系(標準ライブラリ実装)は`affine`メンバ関数を提供すべきである。そのようなSenderの例として、[`just`](just.md), [`just_error`](just_error.md), [`just_stopped`](just_stopped.md), [`read_env`](read_env.md), [`write_env`](write_env.md)等がある。
125+
+
126+
+
127+
+## バージョン
128+
+### 言語
129+
+- C++26
130+
+
131+
+### 処理系
132+
+- [Clang](/implementation.md#clang): ??
133+
+- [GCC](/implementation.md#gcc): ??
134+
+- [ICC](/implementation.md#icc): ??
135+
+- [Visual C++](/implementation.md#visual_cpp): ??
136+
+
137+
+
138+
+## 関連項目
139+
+- [`execution::task`](task.md)
140+
+
141+
+
142+
+## 参照
143+
+- [P3552R3 Add a Coroutine Task Type](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3552r3.html)
144+
+- [P3826R5 Fix Sender Algorithm Customization](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3826r5.html)
145+
+- [P3941R4 Scheduler Affinity](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3941r4.html)
146+
+- [P4151R1 Rename `affine_on`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4151r1.pdf)
147+
&lt;/code&gt;&lt;/pre&gt;</summary>
148+
149+
<author>
150+
<name>yoh</name>
151+
<email>kawasaki.liamg@gmail.com</email>
152+
</author>
153+
</entry>
154+
155+
<entry>
156+
<title>await_transform -- execution: P4151R1対応(#1650)</title>
157+
<link href="https://cpprefjp.github.io/reference/execution/execution/task/promise_type/await_transform.html"/>
158+
<id>115f17d4667a2a4d2f2e3dcec1a6cadb25f5f20d:reference/execution/execution/task/promise_type/await_transform.md</id>
159+
<updated>2026-06-07T18:28:55+09:00</updated>
160+
161+
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/task/promise_type/await_transform.md b/reference/execution/execution/task/promise_type/await_transform.md
162+
index 263eda056..afc1af070 100644
163+
--- a/reference/execution/execution/task/promise_type/await_transform.md
164+
+++ b/reference/execution/execution/task/promise_type/await_transform.md
165+
@@ -18,7 +18,7 @@ auto await_transform(Sender&amp;amp;&amp;amp; sndr); // (1)
166+
167+
## 効果
168+
[`same_as`](/reference/concepts/same_as.md)`&amp;lt;`[`inline_scheduler`](../../inline_scheduler.md)`,` [`start_scheduler_type`](../../task.md)`&amp;gt; == true`ならば、[`as_awaitable`](../../as_awaitable.md)`(std::forward&amp;lt;Sender&amp;gt;(sndr), *this)`を返す。
169+
-そうでなければ、[`as_awaitable`](../../as_awaitable.md)`(`[`affine_on`](../../affine_on.md)`(std::forward&amp;lt;Sender&amp;gt;(sndr)), *this)`を返す。
170+
+そうでなければ、[`as_awaitable`](../../as_awaitable.md)`(`[`affine`](../../affine.md)`(std::forward&amp;lt;Sender&amp;gt;(sndr)), *this)`を返す。
171+
172+
173+
## バージョン
174+
@@ -34,10 +34,11 @@ auto await_transform(Sender&amp;amp;&amp;amp; sndr); // (1)
175+
176+
## 関連項目
177+
- [`execution::as_awaitable`](../../as_awaitable.md)
178+
-- [`execution::affine_on`](../../affine_on.md)
179+
+- [`execution::affine`](../../affine.md)
180+
- [`execution::inline_scheduler`](../../inline_scheduler.md)
181+
182+
183+
## 参照
184+
- [P3552R3 Add a Coroutine Task Type](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3552r3.html)
185+
- [P3941R4 Scheduler Affinity](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3941r4.html)
186+
+- [P4151R1 Rename `affine_on`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4151r1.pdf)
187+
&lt;/code&gt;&lt;/pre&gt;</summary>
188+
189+
<author>
190+
<name>yoh</name>
191+
<email>kawasaki.liamg@gmail.com</email>
192+
</author>
193+
</entry>
194+
9195
<entry>
10196
<title>task_scheduler -- execution/task_scheduler: P3927R2対応(#1649)</title>
11197
<link href="https://cpprefjp.github.io/reference/execution/execution/task_scheduler.html"/>
@@ -864,29 +1050,4 @@ index 953a63e23..4b1a6bad8 100644
8641050
</author>
8651051
</entry>
8661052

867-
<entry>
868-
<title>get_start_scheduler -- execution/get_start_scheduler: 参照を修正(#1648)</title>
869-
<link href="https://cpprefjp.github.io/reference/execution/execution/get_start_scheduler.html"/>
870-
<id>ccd0fed2855e26859661b1d8e7ec89c2561784c9:reference/execution/execution/get_start_scheduler.md</id>
871-
<updated>2026-06-07T10:45:20+09:00</updated>
872-
873-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/get_start_scheduler.md b/reference/execution/execution/get_start_scheduler.md
874-
index b81c1dc87..f184e0d49 100644
875-
--- a/reference/execution/execution/get_start_scheduler.md
876-
+++ b/reference/execution/execution/get_start_scheduler.md
877-
@@ -51,5 +51,4 @@ const修飾[クエリ可能オブジェクト](../queryable.md)`cenv`に対し
878-
879-
880-
## 参照
881-
-- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
882-
-- [P3826R5 Fix Sender Algorithm Customization](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3826r5.html)
883-
+- [P3941R4 Scheduler Affinity](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3941r4.html)
884-
&lt;/code&gt;&lt;/pre&gt;</summary>
885-
886-
<author>
887-
<name>yoh</name>
888-
<email>kawasaki.liamg@gmail.com</email>
889-
</author>
890-
</entry>
891-
8921053
</feed>

sitemap.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5484,7 +5484,7 @@
54845484

54855485
<url>
54865486
<loc>https://cpprefjp.github.io/reference/execution/execution.html</loc>
5487-
<lastmod>2026-06-07T01:11:27+09:00</lastmod>
5487+
<lastmod>2026-06-07T18:28:55+09:00</lastmod>
54885488
<changefreq>daily</changefreq>
54895489
<priority>0.7</priority>
54905490
</url>
@@ -5622,6 +5622,13 @@
56225622
<priority>0.6</priority>
56235623
</url>
56245624

5625+
<url>
5626+
<loc>https://cpprefjp.github.io/reference/execution/execution/affine.html</loc>
5627+
<lastmod>2026-06-07T18:28:55+09:00</lastmod>
5628+
<changefreq>daily</changefreq>
5629+
<priority>0.6</priority>
5630+
</url>
5631+
56255632
<url>
56265633
<loc>https://cpprefjp.github.io/reference/execution/execution/stopped_as_optional.html</loc>
56275634
<lastmod>2026-06-06T22:10:52+09:00</lastmod>
@@ -6119,13 +6126,6 @@
61196126
<priority>0.6</priority>
61206127
</url>
61216128

6122-
<url>
6123-
<loc>https://cpprefjp.github.io/reference/execution/execution/affine_on.html</loc>
6124-
<lastmod>2026-06-07T01:24:43+09:00</lastmod>
6125-
<changefreq>daily</changefreq>
6126-
<priority>0.6</priority>
6127-
</url>
6128-
61296129
<url>
61306130
<loc>https://cpprefjp.github.io/reference/execution/execution/prop.html</loc>
61316131
<lastmod>2026-06-06T22:10:52+09:00</lastmod>
@@ -6660,7 +6660,7 @@
66606660

66616661
<url>
66626662
<loc>https://cpprefjp.github.io/reference/execution/execution/task/promise_type/await_transform.html</loc>
6663-
<lastmod>2026-06-07T01:11:27+09:00</lastmod>
6663+
<lastmod>2026-06-07T18:28:55+09:00</lastmod>
66646664
<changefreq>daily</changefreq>
66656665
<priority>0.4</priority>
66666666
</url>

static/crsearch/crsearch.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

static/crsearch/crsearch.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)