Skip to content

Commit 6d3fb3b

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent ae92fcc commit 6d3fb3b

File tree

10 files changed

+728
-76
lines changed

10 files changed

+728
-76
lines changed

reference/execution/execution.html

Lines changed: 3 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="2025-04-19T14:32:22">
192-
2025年04月19日 14時32分22秒
191+
<span itemprop="datePublished" content="2025-04-21T09:00:57">
192+
2025年04月21日 09時00分57秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -330,7 +330,7 @@ <h3>Queries</h3>
330330
<td>C++26</td>
331331
</tr>
332332
<tr>
333-
<td><code><span href="https://cpprefjp.github.io/reference/execution/execution/get_completion_scheduler.md.nolink">execution::get_completion_scheduler</span></code></td>
333+
<td><code><a href="execution/get_completion_scheduler.html">execution::get_completion_scheduler</a></code></td>
334334
<td>完了Scheduler取得のクエリオブジェクト (customization point object)</td>
335335
<td>C++26</td>
336336
</tr>

reference/execution/execution/get_completion_scheduler.html

Lines changed: 336 additions & 0 deletions
Large diffs are not rendered by default.

reference/execution/execution/get_env.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-04-16T13:16:40">
204-
2025年04月16日 13時16分40秒
203+
<span itemprop="datePublished" content="2025-04-21T09:00:57">
204+
2025年04月21日 09時00分57秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -241,7 +241,7 @@ <h2>効果</h2>
241241
<p><code>get_env(o)</code>は下記と等価であり、<code><a href="../queryable.html">queryable</a></code>を満たす型の値となる。</p>
242242
<ul>
243243
<li>引数<code>o</code>がconst修飾された<code>co</code>を用いて、式<code>co.get_env()</code>が有効であればその値。</li>
244-
<li>そうでなければ、空(empty)のクエリ可能オブジェクト<code><a href="env.html">env&lt;&gt;{}</a></code></li>
244+
<li>そうでなければ、空のクエリ可能オブジェクト<code><a href="env.html">env&lt;&gt;{}</a></code></li>
245245
</ul>
246246
<h2><a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a></h2>
247247
<p>投げない</p>

reference/execution/execution/schedule.html

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

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-04-19T14:32:22">
204-
2025年04月19日 14時32分22秒
203+
<span itemprop="datePublished" content="2025-04-21T09:00:57">
204+
2025年04月21日 09時00分57秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -233,10 +233,11 @@
233233
</p>
234234
<h2>概要</h2>
235235
<p><code>schedule</code>は、<a href="scheduler.html">Scheduler</a>から<a href="sender.html">スケジュールSender</a>を取得するSenderファクトリである。</p>
236-
<p>スケジュールSenderより生成される<a href="operation_state.html">非同期操作</a>を開始すると、Schedulerに関連付けられた実行リソース上で空の<a href="set_value.html">値完了関数</a>を呼び出す。</p>
236+
<p>スケジュールSenderより生成される<a href="operation_state.html">非同期操作</a>を開始すると、Schedulerに関連付けられた実行リソース上で空の<a href="set_value.html">値完了関数</a>を呼び出す。
237+
スケジュールSenderの<a href="get_completion_scheduler.html">値完了Scheduler</a>は、引数に指定したScheduler<code>sch</code>に等しい。</p>
237238
<h2>効果</h2>
238239
<p>呼び出し式<code>schedule(sch)</code>は式<code>sch.schedule()</code>と等価であり、式の型は<code><a href="sender.html">sender</a></code>を満たすこと。</p>
239-
<p><code><span href="https://cpprefjp.github.io/reference/execution/execution/get_completion_scheduler.md.nolink">get_completion_scheduler</span>&lt;<a href="set_value.html">set_value_t</a>&gt;(<a href="get_env.html">get_env</a>(sch.schedule())) == sch</code><a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../../implementation-compliance.html#dfn-ill-formed">不適格</a>もしくは<code>false</code>となる場合、呼び出し式<code>schedule(sch)</code><a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../../../implementation-compliance.html#dfn-undefined-behavior">動作は未定義</a>となる。</p>
240+
<p><code><a href="get_completion_scheduler.html">get_completion_scheduler</a>&lt;<a href="set_value.html">set_value_t</a>&gt;(<a href="get_env.html">get_env</a>(sch.schedule())) == sch</code><a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../../implementation-compliance.html#dfn-ill-formed">不適格</a>もしくは<code>false</code>となる場合、呼び出し式<code>schedule(sch)</code><a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../../../implementation-compliance.html#dfn-undefined-behavior">動作は未定義</a>となる。</p>
240241
<h2>カスタマイゼーションポイント</h2>
241242
<p><a href="scheduler.html">Scheduler</a><code>sch</code>に対して、式<code>sch.schedule()</code>が呼び出される。</p>
242243
<h2></h2>
@@ -291,6 +292,7 @@ <h3>処理系</h3>
291292
<h2>関連項目</h2>
292293
<ul>
293294
<li><code><a href="scheduler.html">execution::scheduler</a></code></li>
295+
<li><code><a href="get_completion_scheduler.html">execution::get_completion_scheduler</a></code></li>
294296
</ul>
295297
<h2>参照</h2>
296298
<ul>

reference/execution/execution/scheduler.html

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-04-19T14:04:09">
204-
2025年04月19日 14時04分09秒
203+
<span itemprop="datePublished" content="2025-04-21T09:00:57">
204+
2025年04月21日 09時00分57秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -232,7 +232,7 @@
232232
<span class="n"><a href="../queryable.html">queryable</a></span><span class="o">&lt;</span><span class="n">Sch</span><span class="o">&gt;</span> <span class="o">&amp;&amp;</span>
233233
<span class="n">requires</span><span class="p">(</span><span class="n">Sch</span><span class="o">&amp;&amp;</span> <span class="n">sch</span><span class="p">)</span> <span class="p">{</span>
234234
<span class="p">{</span> <span class="n"><a href="schedule.html">schedule</a></span><span class="p">(</span><span class="n"><a href="../../utility/forward.html">std::forward</a></span><span class="o">&lt;</span><span class="n">Sch</span><span class="o">&gt;</span><span class="p">(</span><span class="n">sch</span><span class="p">))</span> <span class="p">}</span> <span class="o">-&gt;</span> <span class="n"><a href="sender.html">sender</a></span><span class="p">;</span>
235-
<span class="p">{</span> <span class="k">auto</span><span class="p">(</span><span class="n"><span href="https://cpprefjp.github.io/reference/execution/execution/get_completion_scheduler.md.nolink">get_completion_scheduler</span></span><span class="o">&lt;</span><span class="n"><a href="set_value.html">set_value_t</a></span><span class="o">&gt;</span><span class="p">(</span>
235+
<span class="p">{</span> <span class="k">auto</span><span class="p">(</span><span class="n"><a href="get_completion_scheduler.html">get_completion_scheduler</a></span><span class="o">&lt;</span><span class="n"><a href="set_value.html">set_value_t</a></span><span class="o">&gt;</span><span class="p">(</span>
236236
<span class="n"><a href="get_env.html">get_env</a></span><span class="p">(</span><span class="n"><a href="schedule.html">schedule</a></span><span class="p">(</span><span class="n"><a href="../../utility/forward.html">std::forward</a></span><span class="o">&lt;</span><span class="n">Sch</span><span class="o">&gt;</span><span class="p">(</span><span class="n">sch</span><span class="p">)))))</span> <span class="p">}</span>
237237
<span class="o">-&gt;</span> <span class="n"><a href="../../concepts/same_as.html">same_as</a></span><span class="o">&lt;</span><span class="n"><a href="../../type_traits/remove_cvref.html">remove_cvref_t</a></span><span class="o">&lt;</span><span class="n">Sch</span><span class="o">&gt;&gt;</span><span class="p">;</span>
238238
<span class="p">}</span> <span class="o">&amp;&amp;</span>
@@ -251,7 +251,7 @@ <h2>概要</h2>
251251
<li><a href="../queryable.html">クエリ可能オブジェクト</a>である</li>
252252
<li><code>Sch</code>型の値<code>sch</code>に対して下記を満たすこと<ul>
253253
<li><code><a href="schedule.html">execution::schedule</a>(sch)</code><a href="sender.html">Sender</a>を返す</li>
254-
<li>上記Senderの<a href="set_value.html">値完了関数</a><span href="https://cpprefjp.github.io/reference/execution/execution/get_completion_scheduler.md.nolink">完了Scheduler</span><code>Sch</code>に等しいこと</li>
254+
<li>上記Senderの<a href="set_value.html">値完了関数</a><a href="get_completion_scheduler.html">完了Scheduler</a><code>Sch</code>に等しいこと</li>
255255
</ul>
256256
</li>
257257
<li>コピー可能かつ同値比較可能</li>
@@ -271,11 +271,11 @@ <h2>モデル</h2>
271271
<span class="p">}</span>
272272
</code></pre></div>
273273
</p>
274-
<p><code>Sch</code><code>scheduler</code>の型、型<code>Env</code><code><a href="sender_in.html">sender_in</a>&lt;schedule_result_t&lt;Sch&gt;, Env&gt;</code>を満たす実行環境の型としたとき、<code>sender-in-of&lt;schedule_result_t&lt;Sch&gt;, Env&gt;</code>のモデルとなること。</p>
274+
<p><code>Sch</code><code>scheduler</code>の型、型<code>Env</code><code><a href="sender_in.html">sender_in</a>&lt;<a href="schedule_result_t.html">schedule_result_t</a>&lt;Sch&gt;, Env&gt;</code>を満たす実行環境の型としたとき、<code>sender-in-of&lt;<a href="schedule_result_t.html">schedule_result_t</a>&lt;Sch&gt;, Env&gt;</code>のモデルとなること。</p>
275275
<p><code><a href="../../concepts/copyable.html">copyable</a>&lt;remove_cvref_t&lt;Sch&gt;&gt;</code>および<code><a href="../../concepts/equality_comparable.html">equality_comparable</a>&lt;remove_cvref_t&lt;Sch&gt;&gt;</code>により要求される操作は、<a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>で終了してはならない。
276276
これらの操作やScheduler型の<code><a href="schedule.html">schedule</a></code>関数は、異なるスレッドから同時に操作を呼び出す可能性がある場合でも、データ競合を引き起こしてはならない。</p>
277277
<p>あるScheduler型<code>Sch</code>の2つの値<code>sch1</code><code>sch2</code>に対して、<code>sch1</code><code>sch2</code>が同じ実行リソースを共有する場合に限って、<code>sch1 == sch2</code><code>true</code>となる。</p>
278-
<p>あるScheduler<code>sch</code>に対して、式<code><span href="https://cpprefjp.github.io/reference/execution/execution/get_completion_scheduler.md.nolink">get_completion_scheduler</span>&lt;<a href="set_value.html">set_value_t</a>&gt;(<a href="get_env.html">get_env</a>(<a href="schedule.html">schedule</a>(sch)))</code><code>sch</code>と等しいこと。</p>
278+
<p>あるScheduler<code>sch</code>に対して、式<code><a href="get_completion_scheduler.html">get_completion_scheduler</a>&lt;<a href="set_value.html">set_value_t</a>&gt;(<a href="get_env.html">get_env</a>(<a href="schedule.html">schedule</a>(sch)))</code><code>sch</code>と等しいこと。</p>
279279
<p>あるScheduler<code>sch</code>に対して式<code><span href="https://cpprefjp.github.io/reference/execution/execution/get_domain.md.nolink">get_domain</span>(sch)</code><a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../../implementation-compliance.html#dfn-well-formed">適格</a>であるとき、式<code>get_domain(<a href="get_env.html">get_env</a>(<a href="schedule.html">schedule</a>(sch)))</code><a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../../implementation-compliance.html#dfn-well-formed">適格</a>であり、かつ同じ型を持つ。</p>
280280
<p>Scheduler型のデストラクタは、<code><a href="schedule.html">schedule</a></code>が返すSenderオブジェクトに接続されたReceiverの完了を待機してブロックしてはならない。</p>
281281
<h2></h2>
@@ -306,6 +306,7 @@ <h3>処理系</h3>
306306
<h2>関連項目</h2>
307307
<ul>
308308
<li><code><a href="schedule.html">execution::schedule</a></code></li>
309+
<li><code><a href="get_completion_scheduler.html">execution::get_completion_scheduler</a></code></li>
309310
</ul>
310311
<h2>参照</h2>
311312
<ul>

reference/execution/queryable.html

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
<meta property="og:url" content="https://cpprefjp.github.io/reference/execution/queryable.html" />
2929
<meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
3030
<meta property="og:type" content="article" />
31-
<meta property="og:description" content="`queryable`は、型`T`がクエリ可能オブジェクト(queryable object)の制約を満たすことを表す説明専用のコンセプトである" />
31+
<meta property="og:description" content="`queryable`は、型`T`がクエリ可能オブジェクトの制約を満たすことを表す説明専用のコンセプトである" />
3232
<meta name="twitter:card" content="summary" />
3333
<meta name="twitter:title" content="queryable - cpprefjp C++日本語リファレンス" />
3434
<meta name="twitter:url" content="https://cpprefjp.github.io/reference/execution/queryable.html" />
35-
<meta name="twitter:description" content="`queryable`は、型`T`がクエリ可能オブジェクト(queryable object)の制約を満たすことを表す説明専用のコンセプトである" />
35+
<meta name="twitter:description" content="`queryable`は、型`T`がクエリ可能オブジェクトの制約を満たすことを表す説明専用のコンセプトである" />
3636

3737

3838
<link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2025-04-18T05:03:42">
192-
2025年04月18日 05時03分42秒
191+
<span itemprop="datePublished" content="2025-04-21T09:00:57">
192+
2025年04月21日 09時00分57秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -218,11 +218,11 @@
218218
</code></pre></div>
219219
</p>
220220
<h2>概要</h2>
221-
<p><code>queryable</code>は、型<code>T</code>がクエリ可能オブジェクト(queryable object)の制約を満たすことを表す説明専用のコンセプトである</p>
222-
<h3>クエリ可能オブジェクト</h3>
223-
<p>クエリ可能オブジェクトは、クエリオブジェクト(query object)をキーとして対応する値を保持する、読み取り専用のKey/Valueデータ構造とみなせる。</p>
221+
<p><code>queryable</code>は、型<code>T</code>がクエリ可能オブジェクトの制約を満たすことを表す説明専用のコンセプトである</p>
222+
<h3>クエリ可能オブジェクト(queryable object)</h3>
223+
<p>クエリ可能オブジェクトは、クエリオブジェクトをキーとして対応する値を保持する、読み取り専用のKey/Valueデータ構造とみなせる。</p>
224224
<ul>
225-
<li><code><a href="execution/env.html">execution::env&lt;&gt;{}</a></code> : 空(empty)のクエリ可能オブジェクト</li>
225+
<li><code><a href="execution/env.html">execution::env&lt;&gt;{}</a></code> : 空のクエリ可能オブジェクト</li>
226226
<li><code><a href="execution/prop.html">execution::prop(q, v)</a></code> : キー<code>q</code>と対応値<code>v</code>を保持する最小のクエリ可能オブジェクト</li>
227227
<li><code><a href="execution/env.html">execution::env{...}</a></code> : 複数のKey/Valueを保持するクエリ可能オブジェクト</li>
228228
<li><code>queryable</code>コンセプトを満たすユーザ定義クラスのオブジェクト</li>
@@ -233,6 +233,14 @@ <h3>クエリ可能オブジェクト</h3>
233233
<li><a href="execution/receiver.html">Receiver</a>に関連付けられた環境(environment)オブジェクト(<code><a href="execution/get_env.html">execution::get_env</a></code>で取得)</li>
234234
<li><a href="execution/scheduler.html">Scheduler</a>オブジェクト自身</li>
235235
</ul>
236+
<h3>クエリオブジェクト(query object)</h3>
237+
<p>クエリオブジェクトは、クエリ可能オブジェクトに対する問い合わせ(query)を行う<a class="cpprefjp-defined-word" data-desc="プログラム定義型に対するオーバーロードが許されている標準関数名について、中でいい感じにオーバーロード解決して呼び出してくれる関数オブジェクト">カスタマイゼーションポイントオブジェクト</a>である。</p>
238+
<p>説明用のクエリオブジェクト<code>q</code>、クエリ可能オブジェクト<code>env</code>、引数パック<code>args</code>としたとき</p>
239+
<ul>
240+
<li>問い合わせ式<code>q(env, args...)</code>は、<code>void</code>型であってはならない。</li>
241+
<li>問い合わせ式<code>q(env, args...)</code>は、クエリオブジェクトや引数を変更せず、等しさを保持(equality-preserving)する。</li>
242+
<li><code>env.query(q, args...)</code><a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../implementation-compliance.html#dfn-well-formed">適格</a>であれば、問い合わせ式<code>q(env, args...)</code>と等価である。</li>
243+
</ul>
236244
<h2>モデル</h2>
237245
<p>説明用の<code>env</code><code>Env</code>型のオブジェクトとする。
238246
呼び出し可能オブジェクト<code>q</code>と部分式パック<code>args</code>に対して、<code>requires { q(env, args...) }</code><code>true</code>であれば、<code>q(env, args...)</code><code>q</code>に課されるセマンティック要件を満たす場合に、<code>Env</code><code>queryable</code>のモデルである。</p>

0 commit comments

Comments
 (0)