200200
201201 < p class ="text-right "> < small >
202202 最終更新日時(UTC):
203- < span itemprop ="datePublished " content ="2025-05-02T08:18:07 ">
204- 2025年05月02日 08時18分07秒
203+ < span itemprop ="datePublished " content ="2025-05-04T15:45:38 ">
204+ 2025年05月04日 15時45分38秒
205205 </ span >
206206 < br />
207207 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
231231 < span class ="n "> valid</ span > < span class ="o "> -</ span > < span class ="n "> specialization</ span > < span class ="o "> <</ span > < span class ="n "> connect</ span > < span class ="o "> -</ span > < span class ="n "> all</ span > < span class ="o "> -</ span > < span class ="n "> result</ span > < span class ="p "> ,</ span > < span class ="n "> Sndr</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> ></ span >
232232 < span class ="k "> struct</ span > < span class ="n "> basic</ span > < span class ="o "> -</ span > < span class ="nl "> operation</ span > < span class ="p "> :</ span > < span class ="n "> basic</ span > < span class ="o "> -</ span > < span class ="n "> state</ 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 ="p "> {</ span > < span class ="c1 "> // exposition only</ span >
233233 < span class ="k "> using</ span > < span class ="n "> operation_state_concept</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="operation_state.html "> operation_state_t</ a > </ span > < span class ="p "> ;</ span >
234- < span class ="k "> using</ span > < span class ="n "> tag</ span > < span class ="o "> -</ span > < span class ="n "> t</ span > < span class ="o "> =</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/execution/execution/ tag_of_t.md.nolink "> tag_of_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> ></ span > < span class ="p "> ;</ span > < span class ="c1 "> // exposition only</ span >
234+ < span class ="k "> using</ span > < span class ="n "> tag</ span > < span class ="o "> -</ span > < span class ="n "> t</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="tag_of_t.html "> tag_of_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> ></ span > < span class ="p "> ;</ span > < span class ="c1 "> // exposition only</ span >
235235
236236 < span class ="n "> connect</ span > < span class ="o "> -</ span > < span class ="n "> all</ span > < span class ="o "> -</ span > < span class ="n "> result</ 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 "> inner</ span > < span class ="o "> -</ span > < span class ="n "> ops</ span > < span class ="p "> ;</ span > < span class ="c1 "> // exposition only</ span >
237237
250250 < span class ="k "> struct</ span > < span class ="n "> basic</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> {</ span > < span class ="c1 "> // exposition only</ span >
251251 < span class ="n "> basic</ span > < span class ="o "> -</ span > < span class ="n "> state</ 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 > < span class ="p "> (</ span > < span class ="n "> < i > see below</ i > </ span > < span class ="p "> )</ span >
252252 < span class ="o "> :</ span > < span class ="n "> rcvr</ span > < span class ="p "> (</ span > < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="n "> move</ span > < span class ="p "> (</ span > < span class ="n "> rcvr</ span > < span class ="p "> ))</ span >
253- < span class ="p "> ,</ span > < span class ="n "> state</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="impls-for.html "> impls-for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/execution/execution/ tag_of_t.md.nolink "> tag_of_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> >>::</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../../utility/forward.html "> std::forward</ 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 ="p "> ),</ span > < span class ="n "> rcvr</ span > < span class ="p "> ))</ span > < span class ="p "> {</ span > < span class ="p "> }</ span >
253+ < span class ="p "> ,</ span > < span class ="n "> state</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="impls-for.html "> impls-for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="tag_of_t.html "> tag_of_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> >>::</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../../utility/forward.html "> std::forward</ 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 ="p "> ),</ span > < span class ="n "> rcvr</ span > < span class ="p "> ))</ span > < span class ="p "> {</ span > < span class ="p "> }</ span >
254254
255255 < span class ="n "> Rcvr</ span > < span class ="n "> rcvr</ span > < span class ="p "> ;</ span > < span class ="c1 "> // exposition only</ span >
256256 < span class ="n "> state</ span > < span class ="o "> -</ span > < span class ="n "> type</ 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 "> state</ span > < span class ="p "> ;</ span > < span class ="c1 "> // exposition only</ span >
@@ -274,13 +274,13 @@ <h2>クラス仕様</h2>
274274</ p >
275275< p > < code > basic-state</ code > コンストラクタ< code > noexcept</ code > 節の式は下記の通り。</ p >
276276< p > < div class ="codehilite "> < pre > < span > </ span > < code > < 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 "> Rcvr</ span > < span class ="o "> ></ span > < span class ="o "> &&</ span >
277- < span class ="n "> nothrow</ span > < span class ="o "> -</ span > < span class ="n "> callable</ span > < span class ="o "> <</ span > < span class ="k "> decltype</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="impls-for.html "> impls-for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/execution/execution/ tag_of_t.md.nolink "> tag_of_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> >>::</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> ),</ span > < span class ="n "> Sndr</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> &></ span > < span class ="o "> &&</ span >
277+ < span class ="n "> nothrow</ span > < span class ="o "> -</ span > < span class ="n "> callable</ span > < span class ="o "> <</ span > < span class ="k "> decltype</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="impls-for.html "> impls-for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="tag_of_t.html "> tag_of_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> >>::</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> ),</ span > < span class ="n "> Sndr</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> &></ span > < span class ="o "> &&</ span >
278278< span class ="p "> (</ span > < span class ="n "> < a href ="../../concepts/same_as.html "> same_as</ a > </ span > < span class ="o "> <</ span > < span class ="n "> state</ span > < span class ="o "> -</ span > < span class ="n "> type</ 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 ="p "> ,</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="o "> -</ span > < span class ="n "> result</ span > < span class ="o "> ></ span > < span class ="o "> ||</ span >
279279 < span class ="n "> < a href ="../../type_traits/is_nothrow_constructible.html "> is_nothrow_constructible_v</ a > </ span > < span class ="o "> <</ span > < span class ="n "> state</ span > < span class ="o "> -</ span > < span class ="n "> type</ 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 ="p "> ,</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="o "> -</ span > < span class ="n "> result</ span > < span class ="o "> ></ span > < span class ="p "> )</ span >
280280</ code > </ pre > </ div >
281281</ p >
282282< p > ここで、説明用の型< code > get-state-result</ code > は下記の通り定義される。</ p >
283- < p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="n "> call</ span > < span class ="o "> -</ span > < span class ="n "> result</ span > < span class ="o "> -</ span > < span class ="n "> t</ span > < span class ="o "> <</ span > < span class ="k "> decltype</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="impls-for.html "> impls-for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/execution/execution/ tag_of_t.md.nolink "> tag_of_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> >>::</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> ),</ span > < span class ="n "> Sndr</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> &></ span > < span class ="p "> .</ span >
283+ < p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="n "> call</ span > < span class ="o "> -</ span > < span class ="n "> result</ span > < span class ="o "> -</ span > < span class ="n "> t</ span > < span class ="o "> <</ span > < span class ="k "> decltype</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="impls-for.html "> impls-for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="tag_of_t.html "> tag_of_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> >>::</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> ),</ span > < span class ="n "> Sndr</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> &></ span > < span class ="p "> .</ span >
284284</ code > </ pre > </ div >
285285</ p >
286286< h2 > 説明専用エンティティ</ h2 >
@@ -290,7 +290,7 @@ <h2>説明専用エンティティ</h2>
290290
291291< span class ="k "> template</ 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 ="c1 "> // exposition only</ span >
292292< span class ="k "> using</ span > < span class ="n "> state</ span > < span class ="o "> -</ span > < span class ="n "> type</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="../../type_traits/decay.html "> decay_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> call</ span > < span class ="o "> -</ span > < span class ="n "> result</ span > < span class ="o "> -</ span > < span class ="n "> t</ span > < span class ="o "> <</ span >
293- < span class ="k "> decltype</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="impls-for.html "> impls-for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/execution/execution/ tag_of_t.md.nolink "> tag_of_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> >>::</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> ),</ span > < span class ="n "> Sndr</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> &>></ span > < span class ="p "> ;</ span >
293+ < span class ="k "> decltype</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="impls-for.html "> impls-for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> < a href ="tag_of_t.html "> tag_of_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> Sndr</ span > < span class ="o "> >>::</ span > < span class ="n "> get</ span > < span class ="o "> -</ span > < span class ="n "> state</ span > < span class ="p "> ),</ span > < span class ="n "> Sndr</ span > < span class ="p "> ,</ span > < span class ="n "> Rcvr</ span > < span class ="o "> &>></ span > < span class ="p "> ;</ span >
294294
295295< span class ="k "> constexpr</ span > < span class ="k "> auto</ span > < span class ="n "> connect</ span > < span class ="o "> -</ span > < span class ="n "> all</ span > < span class ="o "> =</ span > < span class ="n "> < i > see below</ i > </ span > < span class ="p "> ;</ span > < span class ="c1 "> // exposition only</ span >
296296
0 commit comments