68
68
69
69
</ head >
70
70
< body >
71
- < header data-kunai-mdinfo ="{"meta": {"header": ["execution"], "namespace": ["std::execution"], "class": ["run_loop"], "id-type": ["function"], "cpp": ["cpp26"]}, "sources": [{"id": "ffa0b39ad40caa8669517508a07b4044e1c84bc6", "source": "#include <execution>\nnamespace ex = std::execution;\n\nint main()\n{\n ex::run_loop loop;\n ex::scheduler auto sch = loop.get_scheduler();\n}\n"}], "page_id": ["reference", "execution", "execution", "run_loop", "get_scheduler"]} ">
71
+ < header data-kunai-mdinfo ="{"meta": {"header": ["execution"], "namespace": ["std::execution"], "class": ["run_loop"], "id-type": ["function"], "cpp": ["cpp26"]}, "sources": [{"id": "8f0902144711946a554ef82ae292d2e6ce00b415", "source": "#include <cassert>\n#include <concepts>\n#include <execution>\nnamespace ex = std::execution;\n\nint main()\n{\n ex::run_loop loop;\n ex::scheduler auto sch = loop.get_scheduler();\n\n // \u30b9\u30b1\u30b8\u30e5\u30fc\u30ebSender\u3092\u4f5c\u6210\n ex::sender auto sndr = ex::schedule(sch);\n\n // \u30b9\u30b1\u30b8\u30e5\u30fc\u30ebSender\u306e\u5b8c\u4e86\u30b7\u30b0\u30cd\u30c1\u30e3\u96c6\u5408\u3092\u78ba\u8a8d\n auto sigs = ex::get_completion_signatures(sndr);\n static_assert(std::same_as<decltype(sigs),\n ex::completion_signatures<ex::set_value_t(),\n ex::set_error_t(std::exception_ptr),\n ex::set_stopped_t()>>);\n\n // \u30b9\u30b1\u30b8\u30e5\u30fc\u30ebSender\u5c5e\u6027\u306e\u5024\u5b8c\u4e86\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9\u3092\u78ba\u8a8d\n auto compl_sch = ex::get_completion_scheduler<ex::set_value_t>(ex::get_env(sndr));\n assert(compl_sch == sch);\n}\n"}], "page_id": ["reference", "execution", "execution", "run_loop", "get_scheduler"]} ">
72
72
< nav class ="navbar navbar-default " role ="navigation ">
73
73
< div class ="container-fluid ">
74
74
< div class ="navbar-header ">
212
212
213
213
< p class ="text-right "> < small >
214
214
最終更新日時(UTC):
215
- < span itemprop ="datePublished " content ="2025-04-29T16:23:37 ">
216
- 2025年04月29日 16時23分37秒
215
+ < span itemprop ="datePublished " content ="2025-04-30T09:09:00 ">
216
+ 2025年04月30日 09時09分00秒
217
217
</ span >
218
218
< br />
219
219
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -245,13 +245,29 @@ <h2>概要</h2>
245
245
< h2 > < a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > </ h2 >
246
246
< p > < code > run_loop</ code > インスタンス上で作業を< a href ="../schedule.html "> スケジュール</ a > する< code > < a href ="run-loop-scheduler.html "> run-loop-scheduler</ a > </ code > インスタンスを返す。</ p >
247
247
< h2 > 例</ h2 >
248
- < p > < div class ="yata " id ="ffa0b39ad40caa8669517508a07b4044e1c84bc6 "> < 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 >
248
+ < p > < div class ="yata " id ="8f0902144711946a554ef82ae292d2e6ce00b415 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../../cassert.html "> <cassert></ a > </ span > < span class ="cp "> </ span >
249
+ < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../../concepts.html "> <concepts></ a > </ span > < span class ="cp "> </ span >
250
+ < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../../execution.html "> <execution></ a > </ span > < span class ="cp "> </ span >
249
251
< 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 >
250
252
251
253
< span class ="kt "> int</ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
252
254
< span class ="p "> {</ span >
253
255
< span class ="n "> < a href ="../run_loop.html "> ex::run_loop</ a > </ span > < span class ="n "> loop</ span > < span class ="p "> ;</ span >
254
256
< span class ="n "> < a href ="../scheduler.html "> ex::scheduler</ a > </ span > < span class ="k "> auto</ span > < span class ="n "> sch</ span > < span class ="o "> =</ span > < span class ="n "> loop</ span > < span class ="p "> .</ span > < span class ="n "> < span style ="color:#ff0000 "> get_scheduler()</ span > </ span > < span class ="p "> ;</ span >
257
+
258
+ < span class ="c1 "> // スケジュールSenderを作成</ span >
259
+ < span class ="n "> < a href ="../sender.html "> ex::sender</ a > </ span > < span class ="k "> auto</ span > < span class ="n "> sndr</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="../schedule.html "> ex::schedule</ a > </ span > < span class ="p "> (</ span > < span class ="n "> sch</ span > < span class ="p "> );</ span >
260
+
261
+ < span class ="c1 "> // スケジュールSenderの完了シグネチャ集合を確認</ span >
262
+ < span class ="k "> auto</ span > < span class ="n "> sigs</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="../get_completion_signatures.html "> ex::get_completion_signatures</ a > </ span > < span class ="p "> (</ span > < span class ="n "> sndr</ span > < span class ="p "> );</ span >
263
+ < 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 "> <</ span > < span class ="k "> decltype</ span > < span class ="p "> (</ span > < span class ="n "> sigs</ span > < span class ="p "> ),</ span >
264
+ < span class ="n "> < a href ="../completion_signatures.html "> ex::completion_signatures</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../set_value.html "> ex::set_value_t</ a > </ span > < span class ="p "> (),</ span >
265
+ < span class ="n "> < a href ="../set_error.html "> ex::set_error_t</ a > </ span > < span class ="p "> (</ span > < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="n "> exception_ptr</ span > < span class ="p "> ),</ span >
266
+ < span class ="n "> < a href ="../set_stopped.html "> ex::set_stopped_t</ a > </ span > < span class ="p "> ()</ span > < span class ="o "> >></ span > < span class ="p "> );</ span >
267
+
268
+ < span class ="c1 "> // スケジュールSender属性の値完了スケジューラを確認</ span >
269
+ < span class ="k "> auto</ span > < span class ="n "> compl_sch</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="../get_completion_scheduler.html "> ex::get_completion_scheduler</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../set_value.html "> ex::set_value_t</ a > </ span > < span class ="o "> ></ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../get_env.html "> ex::get_env</ a > </ span > < span class ="p "> (</ span > < span class ="n "> sndr</ span > < span class ="p "> ));</ span >
270
+ < span class ="n "> < a href ="../../../cassert/assert.html "> assert</ a > </ span > < span class ="p "> (</ span > < span class ="n "> compl_sch</ span > < span class ="o "> ==</ span > < span class ="n "> sch</ span > < span class ="p "> );</ span >
255
271
< span class ="p "> }</ span >
256
272
</ code > </ pre > </ div >
257
273
</ div > </ p >
@@ -272,6 +288,7 @@ <h3>処理系</h3>
272
288
< h2 > 関連項目</ h2 >
273
289
< ul >
274
290
< li > < code > < a href ="run-loop-scheduler.html "> run-loop-scheduler</ a > </ code > </ li >
291
+ < li > < code > < a href ="run-loop-sender.html "> run-loop-sender</ a > </ code > </ li >
275
292
< li > < code > < a href ="../schedule.html "> execution::schedule</ a > </ code > </ li >
276
293
</ ul >
277
294
< h2 > 参照</ h2 >
0 commit comments