200
200
201
201
< p class ="text-right "> < small >
202
202
最終更新日時(UTC):
203
- < span itemprop ="datePublished " content ="2025-05-10T04:18:45 ">
204
- 2025年05月10日 04時18分45秒
203
+ < span itemprop ="datePublished " content ="2025-05-10T08:07:46 ">
204
+ 2025年05月10日 08時07分46秒
205
205
</ span >
206
206
< br />
207
207
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -253,7 +253,7 @@ <h3>Senderアルゴリズムタグ <code>into_variant</code></h3>
253
253
</ p >
254
254
< p > < code > impls-for<into_variant_t>::get-state</ code > メンバは、下記ラムダ式と等価な関数呼び出し可能なオブジェクトで初期化される。</ p >
255
255
< ul >
256
- < li > 子< a href ="sender.html "> Sender</ a > の< a href ="value_types_of_t.html "> 値完了シグニチャを集約</ a > した< code > < a href ="../../variant/variant.html "> variant</ a > << a href ="../../variant/variant.html "> tuple</ a > <...>, ...></ code > 型を< a class =" cpprefjp-defined-word " data-desc =" デフォルト初期化。`T x;`構文での初期化。トリビアルにデフォルト構築可能な型の場合は初期化されず(オブジェクトのlifetimeは開始される)、そうではないクラス型はデフォルトコンストラクタで初期化する。配列型の場合は各要素が再帰的にデフォルト初期化される " > デフォルト構築 </ a > して返す 。</ li >
256
+ < li > 子< a href ="sender.html "> Sender</ a > の< a href ="value_types_of_t.html "> 値完了シグニチャを集約</ a > した< code > < a href ="../../variant/variant.html "> variant</ a > << a href ="../../variant/variant.html "> tuple</ a > <...>, ...></ code > 型を< code > < a href =" ../../type_traits/type_identity.html " > type_identity </ a > </ code > クラステンプレートのパラメータに格納して返す 。</ li >
257
257
</ ul >
258
258
< p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="p "> []</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="nc "> Sndr</ span > < span class ="p "> ,</ span > < span class ="k "> class</ span > < span class ="nc "> Rcvr</ span > < span class ="o "> ></ span > < span class ="p "> (</ span > < span class ="n "> Sndr</ span > < span class ="o "> &&</ span > < span class ="n "> sndr</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> &</ span > < span class ="n "> rcvr</ span > < span class ="p "> )</ span > < span class ="k "> noexcept</ span >
259
259
< span class ="o "> -></ span > < span class ="n "> < a href ="../../type_traits/type_identity.html "> type_identity</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="value_types_of_t.html "> value_types_of_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="child-type.html "> child-type</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> < a href ="env_of_t.html "> env_of_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Rcvr</ span > < span class ="o "> >>></ span > < span class ="p "> {</ span >
@@ -263,12 +263,13 @@ <h3>Senderアルゴリズムタグ <code>into_variant</code></h3>
263
263
</ p >
264
264
< p > < code > impls-for<into_variant_t>::complete</ code > メンバは、下記ラムダ式と等価な関数呼び出し可能なオブジェクトで初期化される。</ p >
265
265
< ul >
266
- < li > < a href ="set_value.html "> 値完了</ a > の場合、引数パック< code > args...</ code > から< code > < a href ="../../variant/variant.html "> variant</ a > </ code > 型の送信値を構築して接続先< a href ="receiver.html "> Receiver</ a > の< a href ="set_value.html "> 値完了関数</ a > を呼び出す。</ li >
266
+ < li > < code > State</ code > として渡される前述< code > get-state</ code > メンバ< a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > 型(< code > < a href ="../../type_traits/type_identity.html "> type_identity</ a > </ code > )から、< code > into_varinat</ code > の送信値となる< code > < a href ="../../variant/variant.html "> variant</ a > << a href ="../../variant/variant.html "> tuple</ a > <...>, ...></ code > 型情報を取り出す。</ li >
267
+ < li > < a href ="set_value.html "> 値完了</ a > の場合、引数パック< code > args...</ code > から送信値を構築して接続先< a href ="receiver.html "> Receiver</ a > の< a href ="set_value.html "> 値完了関数</ a > を呼び出す。</ li >
267
268
< li > < a href ="set_error.html "> エラー完了</ a > または< a href ="set_stopped.html "> 停止完了</ a > の場合、接続先< a href ="receiver.html "> Receiver</ a > の同種完了関数に全引数を転送する。</ li >
268
269
</ ul >
269
270
< p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="p "> []</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="nc "> State</ span > < span class ="p "> ,</ span > < span class ="k "> class</ span > < span class ="nc "> Rcvr</ span > < span class ="p "> ,</ span > < span class ="k "> class</ span > < span class ="nc "> Tag</ span > < span class ="p "> ,</ span > < span class ="n "> class</ span > < span class ="p "> ...</ span > < span class ="n "> Args</ span > < span class ="o "> ></ span > < span class ="p "> (</ span >
270
271
< span class ="k "> auto</ span > < span class ="p "> ,</ span > < span class ="n "> State</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> &</ span > < span class ="n "> rcvr</ span > < span class ="p "> ,</ span > < span class ="n "> Tag</ span > < span class ="p "> ,</ span > < span class ="n "> Args</ span > < span class ="o "> &&</ span > < span class ="p "> ...</ span > < span class ="n "> args</ span > < span class ="p "> )</ span > < span class ="k "> noexcept</ span > < span class ="o "> -></ span > < span class ="kt "> void</ span > < span class ="p "> {</ span >
271
- < span class ="k "> if</ span > < span class ="k "> constexpr</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../../concepts/same_as.html "> same_as</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Tag</ span > < span class ="p "> ,</ span > < span class ="n "> set_value_t</ span > < span class ="o "> ></ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
272
+ < span class ="k "> if</ span > < span class ="k "> constexpr</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../../concepts/same_as.html "> same_as</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Tag</ span > < span class ="p "> ,</ span > < span class ="n "> < a href =" set_value.html " > set_value_t</ a > </ span > < span class ="o "> ></ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
272
273
< span class ="k "> using</ span > < span class ="n "> variant_type</ span > < span class ="o "> =</ span > < span class ="k "> typename</ span > < span class ="n "> State</ span > < span class ="o "> ::</ span > < span class ="n "> type</ span > < span class ="p "> ;</ span >
273
274
< span class ="n "> TRY</ span > < span class ="o "> -</ span > < span class ="n "> SET</ span > < span class ="o "> -</ span > < span class ="n "> VALUE</ span > < span class ="p "> (</ span > < span class ="n "> rcvr</ span > < span class ="p "> ,</ span > < span class ="n "> variant_type</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="decayed-tuple.html "> decayed-tuple</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Args</ span > < span class ="p "> ...</ span > < span class ="o "> ></ span > < span class ="p "> {</ span > < span class ="n "> < a href ="../../utility/forward.html "> std::forward</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Args</ span > < span class ="o "> ></ span > < span class ="p "> (</ span > < span class ="n "> args</ span > < span class ="p "> )...}));</ span >
274
275
< span class ="p "> }</ span > < span class ="k "> else</ span > < span class ="p "> {</ span >
0 commit comments