Skip to content

Commit 3455928

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 4d52d33 commit 3455928

File tree

13 files changed

+1217
-353
lines changed

13 files changed

+1217
-353
lines changed

reference/execution/execution.html

Lines changed: 4 additions & 4 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-05-27T15:49:34">
192-
2025年05月27日 15時49分34秒
191+
<span itemprop="datePublished" content="2025-05-29T06:55:34">
192+
2025年05月29日 06時55分34秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -536,12 +536,12 @@ <h3>Senderファクトリ</h3>
536536
<td>C++26</td>
537537
</tr>
538538
<tr>
539-
<td><code><span href="https://cpprefjp.github.io/reference/execution/execution/just_error.md.nolink">execution::just_error</span></code></td>
539+
<td><code><a href="execution/just_error.html">execution::just_error</a></code></td>
540540
<td>エラーを送信するSender (customization point object)</td>
541541
<td>C++26</td>
542542
</tr>
543543
<tr>
544-
<td><code><span href="https://cpprefjp.github.io/reference/execution/execution/just_stopped.md.nolink">execution::just_stopped</span></code></td>
544+
<td><code><a href="execution/just_stopped.html">execution::just_stopped</a></code></td>
545545
<td>停止を送信するSender (customization point object)</td>
546546
<td>C++26</td>
547547
</tr>

reference/execution/execution/error_types_of_t.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-05-05T14:05:03">
204-
2025年05月05日 14時05分03秒
203+
<span itemprop="datePublished" content="2025-05-29T06:55:34">
204+
2025年05月29日 06時55分34秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -254,7 +254,7 @@ <h2>例</h2>
254254
<span class="c1">// Type1 == 有効だがオブジェクト構築不可な型</span>
255255

256256
<span class="c1">// エラー完了シグネチャ set_error_t(int)</span>
257-
<span class="n"><a href="sender.html">ex::sender</a></span> <span class="k">auto</span> <span class="n">snd2</span> <span class="o">=</span> <span class="n"><span href="https://cpprefjp.github.io/reference/execution/execution/just_error.md.nolink">ex::just_error</span></span><span class="p">(</span><span class="mi">42</span><span class="p">);</span>
257+
<span class="n"><a href="sender.html">ex::sender</a></span> <span class="k">auto</span> <span class="n">snd2</span> <span class="o">=</span> <span class="n"><a href="just_error.html">ex::just_error</a></span><span class="p">(</span><span class="mi">42</span><span class="p">);</span>
258258
<span class="k">using</span> <span class="n">Types2</span> <span class="o">=</span> <span class="n"><span style="color:#ff0000">ex::error_types_of_t</span></span><span class="o">&lt;</span><span class="k">decltype</span><span class="p">(</span><span class="n">snd2</span><span class="p">)</span><span class="o">&gt;</span><span class="p">;</span>
259259
<span class="k">static_assert</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n"><a href="../../concepts/same_as.html">same_as</a></span><span class="o">&lt;</span><span class="n">Types2</span><span class="p">,</span> <span class="n"><a href="../../variant/variant.html">std::variant</a></span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;&gt;</span><span class="p">);</span>
260260
<span class="p">}</span>

reference/execution/execution/just.html

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;execution&#34;], &#34;id-type&#34;: [&#34;cpo&#34;], &#34;namespace&#34;: [&#34;std::execution&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;e8174adbd8740fa9c81837d660db40de99d139a8&#34;, &#34;source&#34;: &#34;#include &lt;print&gt;\n#include &lt;execution&gt;\nnamespace ex = std::execution;\n\nint main()\n{\n // \u5024(123,&#39;X&#39;)\u306e\u9001\u4fe1\u7d50\u679c\u306f tuple&lt;int,char&gt; \u578b\u3067\u53d7\u3051\u53d6\u308b\n ex::sender auto snd1 = ex::just(123, &#39;X&#39;);\n std::tuple&lt;int, char&gt; result1 = std::this_thread::sync_wait(snd1).value();\n std::println(\&#34;result1={}\&#34;, result1);\n\n // \u7a7a\u5024\u306e\u9001\u4fe1\u7d50\u679c\u306f tuple&lt;&gt; \u578b\u3067\u53d7\u3051\u53d6\u308b\n ex::sender auto snd2 = ex::just();\n std::tuple&lt;&gt; result2 = std::this_thread::sync_wait(snd2).value();\n std::println(\&#34;result2={}\&#34;, result2);\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;execution&#34;, &#34;execution&#34;, &#34;just&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;execution&#34;], &#34;id-type&#34;: [&#34;cpo&#34;], &#34;namespace&#34;: [&#34;std::execution&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;8631ce3245fa7c970d9236153a17d41822e16737&#34;, &#34;source&#34;: &#34;#include &lt;string&gt;\n#include &lt;print&gt;\n#include &lt;execution&gt;\nnamespace ex = std::execution;\nusing namespace std::string_literals;\n\nint main()\n{\n // \u7a7a\u306e\u5024\u3092\u9001\u4fe1\u3059\u308bSender\n ex::sender auto snd0 = ex::just();\n std::tuple&lt;&gt; result0 = std::this_thread::sync_wait(snd0).value();\n std::println(\&#34;result0={}\&#34;, result0);\n\n // \u5024\&#34;C++\&#34;\u3092\u9001\u4fe1\u3059\u308bSender\n ex::sender auto snd1 = ex::just(\&#34;C++\&#34;s);\n std::tuple&lt;std::string&gt; result1 = std::this_thread::sync_wait(snd1).value();\n std::println(\&#34;result1={}\&#34;, result1);\n\n // \u5024(123,&#39;X&#39;)\u3092\u9001\u4fe1\u3059\u308bSender\n ex::sender auto snd2 = ex::just(123, &#39;X&#39;);\n std::tuple&lt;int, char&gt; result2 = std::this_thread::sync_wait(snd2).value();\n std::println(\&#34;result2={}\&#34;, result2);\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;execution&#34;, &#34;execution&#34;, &#34;just&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-05-10T10:06:59">
204-
2025年05月10日 10時06分59秒
203+
<span itemprop="datePublished" content="2025-05-29T06:55:34">
204+
2025年05月29日 06時55分34秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -234,10 +234,14 @@
234234
<h2>概要</h2>
235235
<p><code>just</code>は、非<a class="cpprefjp-defined-word" data-desc="マルチスレッド実行時にリソースの所有権に基づいて実行順序を制御する操作">同期操作</a><a href="start.html">開始(start)</a><a href="set_value.html">値完了関数</a>を呼び出すSenderファクトリである。</p>
236236
<h2>効果</h2>
237+
<p>説明用のパック<code>ts</code>に対して、パック<code>Ts</code><code>decltype((ts))</code>とする。下記いずれかの条件をみたすとき、呼び出し式<code>just(ts...)</code><a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../../implementation-compliance.html#dfn-ill-formed">不適格</a>となる。</p>
237238
<ul>
238-
<li>呼び出し式<code>just(ts...)</code>は、<code>(<a href="../movable-value.html">movable-value</a>&lt;Ts&gt; &amp;&amp;...) == false</code>のとき<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../../implementation-compliance.html#dfn-ill-formed">不適格</a>となる。</li>
239-
<li>そうでなければ、式<code><a href="make-sender.html">make-sender</a>(just, <a href="product-type.html">product-type</a>{ts...})</code>と等価。</li>
239+
<li><code>(<a href="../movable-value.html">movable-value</a>&lt;Ts&gt; &amp;&amp;...) == false</code></li>
240240
</ul>
241+
<p>そうでなければ、呼び出し式<code>just(ts...)</code>は下記と等価。</p>
242+
<p><div class="codehilite"><pre><span></span><code><span class="n"><a href="make-sender.html">make-sender</a></span><span class="p">(</span><span class="n">just</span><span class="p">,</span> <span class="n"><a href="product-type.html">product-type</a></span><span class="p">{</span><span class="n">ts</span><span class="p">...})</span>
243+
</code></pre></div>
244+
</p>
241245
<h3>Senderアルゴリズムタグ <code>just</code></h3>
242246
<p>Senderアルゴリズム動作説明用のクラステンプレート<code><a href="impls-for.html">impls-for</a></code>に対して、下記の特殊化が定義される。</p>
243247
<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>
@@ -252,28 +256,39 @@ <h3>Senderアルゴリズムタグ <code>just</code></h3>
252256
<span class="p">}</span>
253257
</code></pre></div>
254258
</p>
259+
<h2>カスタマイゼーションポイント</h2>
260+
<p><a href="receiver.html">Receiver</a>との<a href="connect.html">接続(connect)</a>時に、<a href="get-domain-late.html">関連付けられた実行ドメイン</a>に対して<code><a href="transform_sender.html">execution::transform_sender</a></code>経由でSender変換が行われる。
261+
<a href="default_domain.html">デフォルト実行ドメイン</a>では無変換。</p>
255262
<h2></h2>
256-
<p><div class="yata" id="e8174adbd8740fa9c81837d660db40de99d139a8"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../print.html">&lt;print&gt;</a></span><span class="cp"></span>
263+
<p><div class="yata" id="8631ce3245fa7c970d9236153a17d41822e16737"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../string.html">&lt;string&gt;</a></span><span class="cp"></span>
264+
<span class="cp">#include</span> <span class="cpf"><a href="../../print.html">&lt;print&gt;</a></span><span class="cp"></span>
257265
<span class="cp">#include</span> <span class="cpf"><a href="../../execution.html">&lt;execution&gt;</a></span><span class="cp"></span>
258266
<span class="k">namespace</span> <span class="n">ex</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">execution</span><span class="p">;</span>
267+
<span class="k">using</span> <span class="k">namespace</span> <span class="n">std</span><span class="o">::</span><span class="n">string_literals</span><span class="p">;</span>
259268

260269
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
261270
<span class="p">{</span>
262-
<span class="c1">// 値(123,'X')の送信結果は tuple&lt;int,char&gt; 型で受け取る</span>
263-
<span class="n"><a href="sender.html">ex::sender</a></span> <span class="k">auto</span> <span class="n">snd1</span> <span class="o">=</span> <span class="n"><span style="color:#ff0000">ex::just</span></span><span class="p">(</span><span class="mi">123</span><span class="p">,</span> <span class="sc">'X'</span><span class="p">);</span>
264-
<span class="n"><a href="../../tuple/tuple.html">std::tuple</a></span><span class="o">&lt;</span><span class="kt">int</span><span class="p">,</span> <span class="kt">char</span><span class="o">&gt;</span> <span class="n">result1</span> <span class="o">=</span> <span class="n"><a href="../this_thread/sync_wait.html">std::this_thread::sync_wait</a></span><span class="p">(</span><span class="n">snd1</span><span class="p">).</span><span class="n"><a href="../../optional/optional/value.html">value()</a></span><span class="p">;</span>
271+
<span class="c1">// 空の値を送信するSender</span>
272+
<span class="n"><a href="sender.html">ex::sender</a></span> <span class="k">auto</span> <span class="n">snd0</span> <span class="o">=</span> <span class="n"><span style="color:#ff0000">ex::just</span></span><span class="p">();</span>
273+
<span class="n"><a href="../../tuple/tuple.html">std::tuple</a></span><span class="o">&lt;&gt;</span> <span class="n">result0</span> <span class="o">=</span> <span class="n"><a href="../this_thread/sync_wait.html">std::this_thread::sync_wait</a></span><span class="p">(</span><span class="n">snd0</span><span class="p">).</span><span class="n"><a href="../../optional/optional/value.html">value()</a></span><span class="p">;</span>
274+
<span class="n"><a href="../../print/println.html">std::println</a></span><span class="p">(</span><span class="s">"result0={}"</span><span class="p">,</span> <span class="n">result0</span><span class="p">);</span>
275+
276+
<span class="c1">// 値"C++"を送信するSender</span>
277+
<span class="n"><a href="sender.html">ex::sender</a></span> <span class="k">auto</span> <span class="n">snd1</span> <span class="o">=</span> <span class="n"><span style="color:#ff0000">ex::just</span></span><span class="p">(</span><span class="s">"C++"</span><span class="n">s</span><span class="p">);</span>
278+
<span class="n"><a href="../../tuple/tuple.html">std::tuple</a></span><span class="o">&lt;</span><span class="n"><a href="../../string/basic_string.html">std::string</a></span><span class="o">&gt;</span> <span class="n">result1</span> <span class="o">=</span> <span class="n"><a href="../this_thread/sync_wait.html">std::this_thread::sync_wait</a></span><span class="p">(</span><span class="n">snd1</span><span class="p">).</span><span class="n"><a href="../../optional/optional/value.html">value()</a></span><span class="p">;</span>
265279
<span class="n"><a href="../../print/println.html">std::println</a></span><span class="p">(</span><span class="s">"result1={}"</span><span class="p">,</span> <span class="n">result1</span><span class="p">);</span>
266280

267-
<span class="c1">// 空値の送信結果は tuple&lt;&gt; 型で受け取る</span>
268-
<span class="n"><a href="sender.html">ex::sender</a></span> <span class="k">auto</span> <span class="n">snd2</span> <span class="o">=</span> <span class="n"><span style="color:#ff0000">ex::just</span></span><span class="p">();</span>
269-
<span class="n"><a href="../../tuple/tuple.html">std::tuple</a></span><span class="o">&lt;&gt;</span> <span class="n">result2</span> <span class="o">=</span> <span class="n"><a href="../this_thread/sync_wait.html">std::this_thread::sync_wait</a></span><span class="p">(</span><span class="n">snd2</span><span class="p">).</span><span class="n"><a href="../../optional/optional/value.html">value()</a></span><span class="p">;</span>
281+
<span class="c1">// 値(123,'X')を送信するSender</span>
282+
<span class="n"><a href="sender.html">ex::sender</a></span> <span class="k">auto</span> <span class="n">snd2</span> <span class="o">=</span> <span class="n"><span style="color:#ff0000">ex::just</span></span><span class="p">(</span><span class="mi">123</span><span class="p">,</span> <span class="sc">'X'</span><span class="p">);</span>
283+
<span class="n"><a href="../../tuple/tuple.html">std::tuple</a></span><span class="o">&lt;</span><span class="kt">int</span><span class="p">,</span> <span class="kt">char</span><span class="o">&gt;</span> <span class="n">result2</span> <span class="o">=</span> <span class="n"><a href="../this_thread/sync_wait.html">std::this_thread::sync_wait</a></span><span class="p">(</span><span class="n">snd2</span><span class="p">).</span><span class="n"><a href="../../optional/optional/value.html">value()</a></span><span class="p">;</span>
270284
<span class="n"><a href="../../print/println.html">std::println</a></span><span class="p">(</span><span class="s">"result2={}"</span><span class="p">,</span> <span class="n">result2</span><span class="p">);</span>
271285
<span class="p">}</span>
272286
</code></pre></div>
273287
</div></p>
274288
<h3>出力</h3>
275-
<p><pre><code>result1=(123, 'X')
276-
result2=()
289+
<p><pre><code>result0=()
290+
result1=("C++")
291+
result2=(123, 'X')
277292
</code></pre></p>
278293
<h2>バージョン</h2>
279294
<h3>言語</h3>
@@ -289,11 +304,12 @@ <h3>処理系</h3>
289304
</ul>
290305
<h2>関連項目</h2>
291306
<ul>
292-
<li><code><span href="https://cpprefjp.github.io/reference/execution/execution/just_error.md.nolink">execution::just_error</span></code></li>
293-
<li><code><span href="https://cpprefjp.github.io/reference/execution/execution/just_stopped.md.nolink">execution::just_stopped</span></code></li>
307+
<li><code><a href="just_error.html">execution::just_error</a></code></li>
308+
<li><code><a href="just_stopped.html">execution::just_stopped</a></code></li>
294309
</ul>
295310
<h2>参照</h2>
296311
<ul>
312+
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2999r3.html" target="_blank">P2999R3 Sender Algorithm Customization</a></li>
297313
<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>
298314
</ul></div>
299315

0 commit comments

Comments
 (0)