Skip to content

Commit a8cb66d

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent d788e1f commit a8cb66d

File tree

7 files changed

+521
-2784
lines changed

7 files changed

+521
-2784
lines changed

reference/execution/execution.html

Lines changed: 8 additions & 2 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="2025-08-21T11:27:10">
192-
2025年08月21日 11時27分10秒
191+
<span itemprop="datePublished" content="2025-08-23T06:06:34">
192+
2025年08月23日 06時06分34秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -335,6 +335,11 @@ <h3>Queries</h3>
335335
<td>C++26</td>
336336
</tr>
337337
<tr>
338+
<td><code><a href="execution/get_await_completion_adaptor.html">execution::get_await_completion_adaptor</a></code></td>
339+
<td>Awaitable完了アダプタ取得のクエリオブジェクト (customization point object)</td>
340+
<td>C++26</td>
341+
</tr>
342+
<tr>
338343
<td><code><a href="execution/get_env.html">execution::get_env</a></code></td>
339344
<td>環境取得のクエリオブジェクト (customization point object)</td>
340345
<td>C++26</td>
@@ -758,6 +763,7 @@ <h2>参照</h2>
758763
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html" target="_blank">P2300R10 <code>std::execution</code></a></li>
759764
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3284r4.html" target="_blank">P3284R4 <code>write_env</code> and <code>unstoppable</code> Sender Adaptors</a></li>
760765
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3557r3.html" target="_blank">P3557R3 High-Quality Sender Diagnostics with Constexpr Exceptions</a></li>
766+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3570r2.html" target="_blank">P3570R2 optional variants in sender/receiver</a></li>
761767
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3682r0.pdf" target="_blank">P3682R0 Remove <code>std::execution::split</code></a></li>
762768
</ul></div>
763769

reference/execution/execution/as_awaitable.html

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,12 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-07-14T14:04:00">
204-
2025年07月14日 14時04分00秒
203+
<span itemprop="datePublished" content="2025-08-23T06:06:34">
204+
2025年08月23日 06時06分34秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">Koichi Murase</span>
208+
<span itemprop="name">yoh</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -236,7 +236,12 @@ <h2>概要</h2>
236236
<p>Promise型<code>p</code>をもつコルーチンにおいて、Await式<code>co_await as_awaitable(expr, p)</code>は下記のように動作する。</p>
237237
<ul>
238238
<li><code>expr.as_awaitable(p)</code>が有効ならば、同式が返すAwaitableオブジェクトに対してAwait式を実行する。</li>
239-
<li><code>expr</code><a href="single-sender.html">単一の値を送信するSender</a>であり、Promise型が停止完了ハンドラを定義するならば、下記動作を行う。<ul>
239+
<li>
240+
<p><code>expr</code><a href="sender.html">Sender型</a>かつ<code><a href="get_await_completion_adaptor.html">get_await_completion_adaptor</a></code>問い合わせに対応する場合、同問い合わせが返すSenderアダプタを<code>expr</code>に適用した結果を<code>adapted-expr</code>とする。</p>
241+
</li>
242+
<li>
243+
<p><code>expr</code>(または上記ステップの<code>adapted-expr</code>)が<a href="single-sender.html">単一の値を送信するSender</a>であり、Promise型が停止完了ハンドラを定義するならば、下記動作を行う。</p>
244+
<ul>
240245
<li>Senderを<a href="connect.html">接続(connect)</a>し、結果<a href="operation_state.html">Operation State</a>をAwaitableオブジェクトに格納する。</li>
241246
<li>コルーチンを中断し、Operation Stateを<a href="start.html">開始(start)</a>する。</li>
242247
<li><a href="../queryable.html">クエリオブジェクト</a>による<a href="receiver.html">Receiver</a>環境への問い合わせは、Promise型に関連付けられた環境(<code>get_env</code>)へと転送される。</li>
@@ -259,6 +264,7 @@ <h2>効果</h2>
259264
<li><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a> : <code><a href="../is-awaitable.html">is-awaitable</a>&lt;Expr, Promise&gt; == true</code>、かつPromise型<code>U</code>のコルーチンにおける式<code>co_await expr</code>がPromise型<code>Promise</code>のコルーチンにおける同式と等しさを保持すること。</li>
260265
</ul>
261266
</li>
267+
<li>そうではなく、説明用の式<code>adapted-expr</code><code>expr</code>が1回だけ評価されることを除いて<code><a href="get_await_completion_adaptor.html">get_await_completion_adaptor</a>(<a href="get_env.html">get_env</a>(expr))(expr)</code>としたとき、<code>has-queryable-await-completion-adaptor&lt;Expr&gt;</code><code>awaitable-sender&lt;decltype((adapted-expr)), Promise&gt;</code>が共に満たされるならば、式<code>sender-awaitable{adapted-expr, p}</code></li>
262268
<li>そうではなく、<code>awaitable-sender&lt;Expr, Promise&gt;</code>ならば、式<code>sender-awaitable{expr, p}</code></li>
263269
<li>そうでなければ、式<code>(void(p), expr)</code></li>
264270
</ul>
@@ -275,6 +281,17 @@ <h3>コンセプト<code>awaitable-sender</code></h3>
275281
<span class="p">}</span>
276282
</code></pre></div>
277283
</p>
284+
<h3>コンセプト<code>has-queryable-await-completion-adaptor</code></h3>
285+
<p><div class="codehilite"><pre><span></span><code><span class="k">namespace</span> <span class="n">std</span><span class="o">::</span><span class="n">execution</span> <span class="p">{</span>
286+
<span class="k">template</span><span class="o">&lt;</span><span class="k">class</span> <span class="nc">Sndr</span><span class="o">&gt;</span>
287+
<span class="n">concept</span> <span class="n">has</span><span class="o">-</span><span class="n">queryable</span><span class="o">-</span><span class="n">await</span><span class="o">-</span><span class="n">completion</span><span class="o">-</span><span class="n">adaptor</span> <span class="o">=</span> <span class="c1">// exposition only</span>
288+
<span class="n"><a href="sender.html">sender</a></span><span class="o">&lt;</span><span class="n">Sndr</span><span class="o">&gt;</span>
289+
<span class="o">&amp;&amp;</span> <span class="n">requires</span><span class="p">(</span><span class="n">Sndr</span><span class="o">&amp;&amp;</span> <span class="n"><a href="sender.html">sender</a></span><span class="p">)</span> <span class="p">{</span>
290+
<span class="n"><a href="get_await_completion_adaptor.html">get_await_completion_adaptor</a></span><span class="p">(</span><span class="n"><a href="get_env.html">get_env</a></span><span class="p">(</span><span class="n"><a href="sender.html">sender</a></span><span class="p">));</span>
291+
<span class="p">};</span>
292+
<span class="p">}</span>
293+
</code></pre></div>
294+
</p>
278295
<h3>クラステンプレート<code>sender-awaitable</code></h3>
279296
<p><div class="codehilite"><pre><span></span><code><span class="k">namespace</span> <span class="n">std</span><span class="o">::</span><span class="n">execution</span> <span class="p">{</span>
280297
<span class="k">template</span><span class="o">&lt;</span><span class="k">class</span> <span class="nc">Sndr</span><span class="p">,</span> <span class="k">class</span> <span class="nc">Promise</span><span class="o">&gt;</span>
@@ -376,6 +393,7 @@ <h3>クラステンプレート<code>awaitable-receiver</code></h3>
376393
</ul>
377394
<h2>カスタマイゼーションポイント</h2>
378395
<p><code>expr</code>に対して、<a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../../implementation-compliance.html#dfn-well-formed">適格</a>であるならば式<code>expr.as_awaitable(p)</code>が呼び出される。</p>
396+
<p><code>expr</code><a href="sender.html">Sender型</a>かつ関連付けられた<a href="../queryable.html">属性</a>がクエリオブジェクト<code><a href="get_await_completion_adaptor.html">get_await_completion_adaptor</a></code>に対応するとき、<code>expr</code>に対して同クエリオブジェクトが返すSenderアダプタを適用してからAwaitableオブジェクトへ変換する。</p>
379397
<h2>バージョン</h2>
380398
<h3>言語</h3>
381399
<ul>
@@ -391,12 +409,14 @@ <h3>処理系</h3>
391409
<h2>関連項目</h2>
392410
<ul>
393411
<li><code><a href="with_awaitable_senders.html">execution::with_awaitable_senders</a></code></li>
412+
<li><code><a href="get_await_completion_adaptor.html">execution::get_await_completion_adaptor</a></code></li>
394413
<li><a href="../../../lang/cpp20/coroutines.html">C++20 コルーチン</a></li>
395414
</ul>
396415
<h2>参照</h2>
397416
<ul>
398417
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html" target="_blank">P2300R10 <code>std::execution</code></a></li>
399418
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3396r1.html" target="_blank">P3396R1 std::execution wording fixes</a></li>
419+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3570r2.html" target="_blank">P3570R2 optional variants in sender/receiver</a></li>
400420
</ul></div>
401421

402422
</div>

0 commit comments

Comments
 (0)