Skip to content

Commit 5b57a5e

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 73ce25e commit 5b57a5e

File tree

3 files changed

+46
-2720
lines changed

3 files changed

+46
-2720
lines changed

reference/execution/execution/into_variant.html

Lines changed: 6 additions & 6 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;8b51ddcceba68e0c09dbee5f0fdeadc043b1a313&#34;, &#34;source&#34;: &#34;#include &lt;string&gt;\n#include &lt;tuple&gt;\n#include &lt;print&gt;\n#include &lt;variant&gt;\n#include &lt;stdexec/execution.hpp&gt;\nnamespace ex = stdexec;\n\nstruct FizzBuzzSender {\n using sender_concept = ex::sender_t;\n using completion_signatures = ex::completion_signatures&lt;\n ex::set_value_t(int),\n ex::set_value_t(std::string)\n &gt;;\n\n template &lt;typename Rcvr&gt;\n struct state {\n using operation_state_concept = ex::operation_state_t;\n\n state(Rcvr rcvr, int val)\n : rcvr_{std::move(rcvr)}, val_{val} {}\n\n void start() noexcept {\n if (val_ % 15 == 0) {\n ex::set_value(std::move(rcvr_), \&#34;FizzBuzz\&#34;);\n } else if (val_ % 3 == 0) {\n ex::set_value(std::move(rcvr_), \&#34;Fizz\&#34;);\n } else if (val_ % 5 == 0) {\n ex::set_value(std::move(rcvr_), \&#34;Buzz\&#34;);\n } else {\n ex::set_value(std::move(rcvr_), val_);\n }\n }\n\n Rcvr rcvr_;\n int val_;\n };\n\n template &lt;typename Rcvr&gt;\n auto connect(Rcvr rcvr) noexcept {\n return state{std::move(rcvr), val_};\n }\n\n int val_;\n};\n\ntemplate&lt;typename... Ts&gt;\nstruct overload : Ts... { using Ts::operator()...; };\n\nint main()\n{\n int val = 15;\n ex::sender auto sndr = ex::into_variant(FizzBuzzSender{val});\n auto [result] = std::this_thread::sync_wait(sndr).value();\n\n std::visit(overload{\n [](std::tuple&lt;int&gt; n) {\n std::println(\&#34;(int) {}\&#34;, get&lt;0&gt;(n));\n },\n [](std::tuple&lt;std::string&gt; s) {\n std::println(\&#34;(str) {}\&#34;, get&lt;0&gt;(s));\n }\n }, result);\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;execution&#34;, &#34;execution&#34;, &#34;into_variant&#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;05e7668357f603616f5342898e53247888e00673&#34;, &#34;source&#34;: &#34;#include &lt;string&gt;\n#include &lt;tuple&gt;\n#include &lt;print&gt;\n#include &lt;variant&gt;\n#include &lt;execution&gt;\nnamespace ex = std::execution;\n\nstruct FizzBuzzSender {\n using sender_concept = ex::sender_t;\n using completion_signatures = ex::completion_signatures&lt;\n ex::set_value_t(int),\n ex::set_value_t(std::string)\n &gt;;\n\n template &lt;typename Rcvr&gt;\n struct state {\n using operation_state_concept = ex::operation_state_t;\n\n state(Rcvr rcvr, int val)\n : rcvr_{std::move(rcvr)}, val_{val} {}\n\n void start() noexcept {\n if (val_ % 15 == 0) {\n ex::set_value(std::move(rcvr_), \&#34;FizzBuzz\&#34;);\n } else if (val_ % 3 == 0) {\n ex::set_value(std::move(rcvr_), \&#34;Fizz\&#34;);\n } else if (val_ % 5 == 0) {\n ex::set_value(std::move(rcvr_), \&#34;Buzz\&#34;);\n } else {\n ex::set_value(std::move(rcvr_), val_);\n }\n }\n\n Rcvr rcvr_;\n int val_;\n };\n\n template &lt;typename Rcvr&gt;\n auto connect(Rcvr rcvr) noexcept {\n return state{std::move(rcvr), val_};\n }\n\n int val_;\n};\n\ntemplate&lt;typename... Ts&gt;\nstruct overload : Ts... { using Ts::operator()...; };\n\nint main()\n{\n int val = 15;\n ex::sender auto sndr = ex::into_variant(FizzBuzzSender{val});\n auto [result] = std::this_thread::sync_wait(sndr).value();\n\n std::visit(overload{\n [](std::tuple&lt;int&gt; n) {\n std::println(\&#34;(int) {}\&#34;, get&lt;0&gt;(n));\n },\n [](std::tuple&lt;std::string&gt; s) {\n std::println(\&#34;(str) {}\&#34;, get&lt;0&gt;(s));\n }\n }, result);\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;execution&#34;, &#34;execution&#34;, &#34;into_variant&#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-10T03:29:51">
204-
2025年05月10日 03時29分51秒
203+
<span itemprop="datePublished" content="2025-05-10T04:18:45">
204+
2025年05月10日 04時18分45秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -281,12 +281,12 @@ <h2>カスタマイゼーションポイント</h2>
281281
<p><a href="sender.html">Sender</a><code>sndr</code><a href="get-domain-early.html">関連付けられた実行ドメイン</a><code>dom</code>に対して、<code><a href="transform_sender.html">execution::transform_sender</a></code>経由でSender変換が行われる。
282282
<a href="default_domain.html">デフォルト実行ドメイン</a>では無変換。</p>
283283
<h2></h2>
284-
<p><div class="yata" id="8b51ddcceba68e0c09dbee5f0fdeadc043b1a313"><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>
284+
<p><div class="yata" id="05e7668357f603616f5342898e53247888e00673"><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>
285285
<span class="cp">#include</span> <span class="cpf"><a href="../../tuple.html">&lt;tuple&gt;</a></span><span class="cp"></span>
286286
<span class="cp">#include</span> <span class="cpf"><a href="../../print.html">&lt;print&gt;</a></span><span class="cp"></span>
287287
<span class="cp">#include</span> <span class="cpf"><a href="../../variant.html">&lt;variant&gt;</a></span><span class="cp"></span>
288-
<span class="cp">#include</span> <span class="cpf">&lt;stdexec/execution.hpp&gt;</span><span class="cp"></span>
289-
<span class="k">namespace</span> <span class="n">ex</span> <span class="o">=</span> <span class="n">stdexec</span><span class="p">;</span>
288+
<span class="cp">#include</span> <span class="cpf"><a href="../../execution.html">&lt;execution&gt;</a></span><span class="cp"></span>
289+
<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>
290290

291291
<span class="k">struct</span> <span class="n">FizzBuzzSender</span> <span class="p">{</span>
292292
<span class="k">using</span> <span class="n">sender_concept</span> <span class="o">=</span> <span class="n"><a href="sender.html">ex::sender_t</a></span><span class="p">;</span>

0 commit comments

Comments
 (0)