6868
6969 </ head >
7070 < body >
71- < header data-kunai-mdinfo ="{"meta": {"header": ["execution"], "id-type": ["cpo"], "namespace": ["std::execution"], "cpp": ["cpp26"]}, "sources": [{"id": "07c3b1623cbb97fb841cb8eb72aa4b49c5cdd48e", "source": "#include <execution>\n#include <print>\nnamespace ex = std::execution;\n\nint main()\n{\n // \u975e\u540c\u671f\u30b9\u30b3\u30fc\u30d7\u3092\u5b9a\u7fa9\n ex::counting_scope scope;\n\n // Sender\u3068\u975e\u540c\u671f\u30b9\u30b3\u30fc\u30d7\u3092\u95a2\u9023\u4ed8\u3051\n ex::sender auto sndr =\n ex::just(42)\n | ex::associate(scope.get_token());\n\n // \u30bf\u30b9\u30af\u958b\u59cb\u3068\u5b8c\u4e86\u5f85\u6a5f\n auto result = std::this_thread::sync_wait(std::move(sndr));\n std::println(\"value={}\", *result);\n\n // \u975e\u540c\u671f\u30b9\u30b3\u30fc\u30d7\u306e\u5408\u6d41\u5f85\u6a5f\n std::this_thread::sync_wait(scope.join());\n}\n"}], "page_id": ["reference", "execution", "execution", "associate"]} ">
71+ < header data-kunai-mdinfo ="{"meta": {"header": ["execution"], "id-type": ["cpo"], "namespace": ["std::execution"], "cpp": ["cpp26"]}, "sources": [{"id": "1e95c8424a467cd27d98b2df1af9eb9a6eca8e78", "source": "#include <execution>\n#include <print>\nnamespace ex = std::execution;\n\nint main()\n{\n // \u975e\u540c\u671f\u30b9\u30b3\u30fc\u30d7\u3092\u5b9a\u7fa9\n ex::counting_scope scope;\n\n // Sender\u3068\u975e\u540c\u671f\u30b9\u30b3\u30fc\u30d7\u3092\u95a2\u9023\u4ed8\u3051\n ex::sender auto sndr =\n ex::just(42)\n | ex::associate(scope.get_token());\n\n // \u30bf\u30b9\u30af\u958b\u59cb\u3068\u5b8c\u4e86\u5f85\u6a5f\n auto result = std::this_thread::sync_wait(std::move(sndr));\n auto [val] = result.value(); \n std::println(\"value={}\", val);\n\n // \u975e\u540c\u671f\u30b9\u30b3\u30fc\u30d7\u306e\u5408\u6d41\u5f85\u6a5f\n std::this_thread::sync_wait(scope.join());\n}\n"}], "page_id": ["reference", "execution", "execution", "associate"]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
200200
201201 < p class ="text-right "> < small >
202202 最終更新日時(UTC):
203- < span itemprop ="datePublished " content ="2025-09-22T02:51:16 ">
204- 2025年09月22日 02時51分16秒
203+ < span itemprop ="datePublished " content ="2025-09-22T04:42:00 ">
204+ 2025年09月22日 04時42分00秒
205205 </ span >
206206 < br />
207207 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -341,7 +341,7 @@ <h3>Senderアルゴリズムタグ <code>associate</code></h3>
341341< span class ="p "> }</ span >
342342</ code > </ pre > </ div >
343343</ p >
344- < p > < code > impls-for<associate_t>::get-state</ code > の< code > noexcept</ code > 節の式は下記の通り 。</ p >
344+ < p > < code > impls-for<associate_t>::get-state</ code > の< code > noexcept</ code > 節の式は、型 < code > wrap-sender </ code > を < code > < a href =" ../../type_traits/remove_cvref.html " > remove_cvref_t </ a > <data-type<Sndr>>::wrap-sender </ code > としたとき、下記の通り 。</ p >
345345< p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="n "> < a href ="../../type_traits/is_nothrow_constructible.html "> is_nothrow_constructible_v</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../../type_traits/remove_cvref.html "> remove_cvref_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> Sndr</ span > < span class ="o "> ></ span > < span class ="o "> &&</ span >
346346< span class ="n "> < a href ="../../type_traits/is_nothrow_move_constructible.html "> is_nothrow_move_constructible_v</ a > </ span > < span class ="o "> <</ span > < span class ="n "> wrap</ span > < span class ="o "> -</ span > < span class ="n "> sender</ span > < span class ="o "> ></ span > < span class ="o "> &&</ span >
347347< span class ="n "> < a href ="../../functional/nothrow-callable.html "> nothrow-callable</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="connect.html "> connect_t</ a > </ span > < span class ="p "> ,</ span > < span class ="n "> wrap</ span > < span class ="o "> -</ span > < span class ="n "> sender</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> ></ span >
@@ -432,7 +432,7 @@ <h2>カスタマイゼーションポイント</h2>
432432< p > Senderアルゴリズム構築時および< a href ="receiver.html "> Receiver</ a > 接続時に、関連付けられた実行ドメインに対して< code > < a href ="transform_sender.html "> execution::transform_sender</ a > </ code > 経由でSender変換が行われる。
433433< a href ="default_domain.html "> デフォルト実行ドメイン</ a > では無変換。</ p >
434434< h2 > 例</ h2 >
435- < p > < div class ="yata " id ="07c3b1623cbb97fb841cb8eb72aa4b49c5cdd48e "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../execution.html "> <execution></ a > </ span > < span class ="cp "> </ span >
435+ < p > < div class ="yata " id ="1e95c8424a467cd27d98b2df1af9eb9a6eca8e78 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../execution.html "> <execution></ a > </ span > < span class ="cp "> </ span >
436436< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../print.html "> <print></ a > </ span > < span class ="cp "> </ span >
437437< 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 >
438438
@@ -448,7 +448,8 @@ <h2>例</h2>
448448
449449 < span class ="c1 "> // タスク開始と完了待機</ span >
450450 < span class ="k "> auto</ span > < span class ="n "> result</ 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 "> < a href ="../../utility/move.html "> std::move</ a > </ span > < span class ="p "> (</ span > < span class ="n "> sndr</ span > < span class ="p "> ));</ span >
451- < span class ="n "> < a href ="../../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "value={}"</ span > < span class ="p "> ,</ span > < span class ="o "> *</ span > < span class ="n "> result</ span > < span class ="p "> );</ span >
451+ < span class ="k "> auto</ span > < span class ="p "> [</ span > < span class ="n "> val</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> result</ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../optional/optional/value.html "> value()</ a > </ span > < span class ="p "> ;</ span >
452+ < span class ="n "> < a href ="../../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "value={}"</ span > < span class ="p "> ,</ span > < span class ="n "> val</ span > < span class ="p "> );</ span >
452453
453454 < span class ="c1 "> // 非同期スコープの合流待機</ span >
454455 < span class ="n "> < a href ="../this_thread/sync_wait.html "> std::this_thread::sync_wait</ a > </ span > < span class ="p "> (</ span > < span class ="n "> scope</ span > < span class ="p "> .</ span > < span class ="n "> < a href ="counting_scope/join.html "> join()</ a > </ span > < span class ="p "> );</ span >
0 commit comments