6868
6969 </ head >
7070 < 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"]} ">
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-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秒
205205 </ span >
206206 < br />
207207 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -258,24 +258,33 @@ <h2>要件</h2>
258258</ code > </ pre > </ div >
259259</ p >
260260< 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 >
262262< 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 >
263263
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 >
266266
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 >
268269< span class ="p "> };</ span >
269270
270271< span class ="kt "> int</ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
271272< 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 >
275276
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 >
279288< span class ="p "> }</ span >
280289</ code > </ pre > </ div >
281290</ div > </ p >
@@ -296,6 +305,9 @@ <h3>処理系</h3>
296305< h2 > 関連項目</ h2 >
297306< ul >
298307< 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 >
299311</ ul >
300312< h2 > 参照</ h2 >
301313< ul >
0 commit comments