68
68
69
69
</ head >
70
70
< body >
71
- < header data-kunai-mdinfo ="{"meta": {"header": ["execution"], "id-type": ["concept"], "namespace": ["std::execution"], "cpp": ["cpp26"]}, "sources": [{"id": "f65f8218ab260da2abea8151844a4bf8ef13ecda", "source": "#include <execution>\nnamespace ex = std::execution;\n\nstruct ValueReceiver {\n using receiver_concept = ex::receiver_t;\n\n void set_value(int) noexcept;\n};\n\nint main()\n{\n // \u5b8c\u4e86\u64cd\u4f5cex::set_value(int)\u306b\u5bfe\u5fdc\n static_assert(ex::receiver_of<ValueReceiver,\n ex::completion_signatures<ex::set_value_t(int)>>);\n\n // \u5b8c\u4e86\u64cd\u4f5cex::set_value(int, int)\u306b\u306f\u975e\u5bfe\u5fdc\n static_assert(not ex::receiver_of<ValueReceiver,\n ex::completion_signatures<ex::set_value_t(int, int)>>);\n}\n"}], "page_id": ["reference", "execution", "execution", "receiver_of"]} ">
71
+ < header data-kunai-mdinfo ="{"meta": {"header": ["execution"], "id-type": ["concept"], "namespace": ["std::execution"], "cpp": ["cpp26"]}, "sources": [{"id": "c3ed601b444380d68c9edab9f6bafeb2c4750e06", "source": "#include <execution>\nnamespace ex = std::execution;\n\nstruct MyReceiver {\n using receiver_concept = ex::receiver_t;\n\n void set_value(int, int) && noexcept;\n void set_error(int) && noexcept;\n};\n\nint main()\n{\n // \u5b8c\u4e86\u64cd\u4f5cex::set_value(int, int)\u306b\u5bfe\u5fdc\n static_assert(ex::receiver_of<MyReceiver,\n ex::completion_signatures<ex::set_value_t(int, int)>>);\n\n // \u5b8c\u4e86\u64cd\u4f5cex::set_value(int)\u306b\u306f\u975e\u5bfe\u5fdc\n static_assert(not ex::receiver_of<MyReceiver,\n ex::completion_signatures<ex::set_value_t(int)>>);\n\n // \u5b8c\u4e86\u64cd\u4f5cex::set_error(int)\u306b\u5bfe\u5fdc\n static_assert(ex::receiver_of<MyReceiver,\n ex::completion_signatures<ex::set_error_t(int)>>);\n\n // \u5b8c\u4e86\u64cd\u4f5cex::set_stopped()\u306b\u306f\u975e\u5bfe\u5fdc\n static_assert(not ex::receiver_of<MyReceiver,\n ex::completion_signatures<ex::set_stopped_t()>>);\n}\n"}], "page_id": ["reference", "execution", "execution", "receiver_of"]} ">
72
72
< nav class ="navbar navbar-default " role ="navigation ">
73
73
< div class ="container-fluid ">
74
74
< div class ="navbar-header ">
200
200
201
201
< p class ="text-right "> < small >
202
202
最終更新日時(UTC):
203
- < span itemprop ="datePublished " content ="2025-04-13T07:06:09 ">
204
- 2025年04月13日 07時06分09秒
203
+ < span itemprop ="datePublished " content ="2025-04-14T07:37:11 ">
204
+ 2025年04月14日 07時37分11秒
205
205
</ span >
206
206
< br />
207
207
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -258,24 +258,33 @@ <h2>要件</h2>
258
258
</ code > </ pre > </ div >
259
259
</ p >
260
260
< h2 > 例</ h2 >
261
- < p > < div class ="yata " id ="f65f8218ab260da2abea8151844a4bf8ef13ecda "> < 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 >
261
+ < p > < div class ="yata " id ="c3ed601b444380d68c9edab9f6bafeb2c4750e06 "> < 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 >
262
262
< 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 >
263
263
264
- < span class ="k "> struct</ span > < span class ="n "> ValueReceiver </ span > < span class ="p "> {</ span >
265
- < span class ="k "> using</ span > < span class ="n "> receiver_concept</ span > < span class ="o "> =</ span > < span class ="n "> ex </ span > < span class =" o " > :: </ span > < span class =" n " > receiver_t </ span > < span class ="p "> ;</ span >
264
+ < span class ="k "> struct</ span > < span class ="n "> MyReceiver </ span > < span class ="p "> {</ span >
265
+ < span class ="k "> using</ span > < span class ="n "> receiver_concept</ span > < span class ="o "> =</ span > < span class ="n "> < a href =" receiver.html " > ex::receiver_t </ a > </ span > < span class ="p "> ;</ span >
266
266
267
- < span class ="kt "> void</ span > < span class ="nf "> set_value</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> )</ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span >
267
+ < span class ="kt "> void</ span > < span class ="nf "> set_value</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> ,</ span > < span class ="kt "> int</ span > < span class ="p "> )</ span > < span class ="o "> &&</ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span >
268
+ < span class ="kt "> void</ span > < span class ="nf "> set_error</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> )</ span > < span class ="o "> &&</ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span >
268
269
< span class ="p "> };</ span >
269
270
270
271
< span class ="kt "> int</ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
271
272
< span class ="p "> {</ span >
272
- < span class ="c1 "> // 完了操作ex::set_value(int)に対応</ span >
273
- < span class ="k "> static_assert</ span > < span class ="p "> (</ span > < span class ="n "> < span style ="color:#ff0000 "> ex::receiver_of</ span > </ span > < span class ="o "> <</ span > < span class ="n "> ValueReceiver </ span > < span class ="p "> ,</ span >
274
- < span class ="n "> < a href ="completion_signatures.html "> ex::completion_signatures</ a > </ span > < span class ="o "> <</ span > < span class ="n "> ex </ span > < span class ="o " > :: </ span > < span class ="n " > set_value_t </ span > < span class ="p "> ( </ span > < span class ="kt "> int</ span > < span class ="p "> )</ span > < span class ="o "> >></ span > < span class ="p "> );</ span >
273
+ < span class ="c1 "> // 完了操作ex::set_value(int, int )に対応</ span >
274
+ < span class ="k "> static_assert</ span > < span class ="p "> (</ span > < span class ="n "> < span style ="color:#ff0000 "> ex::receiver_of</ span > </ span > < span class ="o "> <</ span > < span class ="n "> MyReceiver </ span > < span class ="p "> ,</ span >
275
+ < 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 > < span class ="kt " > int </ span > < span class ="p "> , </ span > < span class ="kt "> int</ span > < span class ="p "> )</ span > < span class ="o "> >></ span > < span class ="p "> );</ span >
275
276
276
- < span class ="c1 "> // 完了操作ex::set_value(int, int)には非対応</ span >
277
- < span class ="k "> static_assert</ span > < span class ="p "> (</ span > < span class ="n "> not</ span > < span class ="n "> < span style ="color:#ff0000 "> ex::receiver_of</ span > </ span > < span class ="o "> <</ span > < span class ="n "> ValueReceiver</ span > < span class ="p "> ,</ span >
278
- < span class ="n "> < a href ="completion_signatures.html "> ex::completion_signatures</ a > </ span > < span class ="o "> <</ span > < span class ="n "> ex</ span > < span class ="o "> ::</ span > < span class ="n "> set_value_t</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> ,</ span > < span class ="kt "> int</ span > < span class ="p "> )</ span > < span class ="o "> >></ span > < span class ="p "> );</ span >
277
+ < span class ="c1 "> // 完了操作ex::set_value(int)には非対応</ span >
278
+ < span class ="k "> static_assert</ span > < span class ="p "> (</ span > < span class ="n "> not</ span > < span class ="n "> < span style ="color:#ff0000 "> ex::receiver_of</ span > </ span > < span class ="o "> <</ span > < span class ="n "> MyReceiver</ span > < span class ="p "> ,</ span >
279
+ < 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 > < span class ="kt "> int</ span > < span class ="p "> )</ span > < span class ="o "> >></ span > < span class ="p "> );</ span >
280
+
281
+ < span class ="c1 "> // 完了操作ex::set_error(int)に対応</ span >
282
+ < span class ="k "> static_assert</ span > < span class ="p "> (</ span > < span class ="n "> < span style ="color:#ff0000 "> ex::receiver_of</ span > </ span > < span class ="o "> <</ span > < span class ="n "> MyReceiver</ span > < span class ="p "> ,</ span >
283
+ < span class ="n "> < a href ="completion_signatures.html "> ex::completion_signatures</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="set_error.html "> ex::set_error_t</ a > </ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="p "> )</ span > < span class ="o "> >></ span > < span class ="p "> );</ span >
284
+
285
+ < span class ="c1 "> // 完了操作ex::set_stopped()には非対応</ span >
286
+ < span class ="k "> static_assert</ span > < span class ="p "> (</ span > < span class ="n "> not</ span > < span class ="n "> < span style ="color:#ff0000 "> ex::receiver_of</ span > </ span > < span class ="o "> <</ span > < span class ="n "> MyReceiver</ span > < span class ="p "> ,</ span >
287
+ < span class ="n "> < a href ="completion_signatures.html "> ex::completion_signatures</ a > </ span > < span class ="o "> <</ span > < 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 >
279
288
< span class ="p "> }</ span >
280
289
</ code > </ pre > </ div >
281
290
</ div > </ p >
@@ -296,6 +305,9 @@ <h3>処理系</h3>
296
305
< h2 > 関連項目</ h2 >
297
306
< ul >
298
307
< li > < code > < a href ="receiver.html "> execution::receiver</ a > </ code > </ li >
308
+ < li > < code > < a href ="set_value.html "> execution::set_value_t</ a > </ code > </ li >
309
+ < li > < code > < a href ="set_error.html "> execution::set_error_t</ a > </ code > </ li >
310
+ < li > < code > < a href ="set_stopped.html "> execution::set_stopped_t</ a > </ code > </ li >
299
311
</ ul >
300
312
< h2 > 参照</ h2 >
301
313
< ul >
0 commit comments