200
200
201
201
< p class ="text-right "> < small >
202
202
最終更新日時(UTC):
203
- < span itemprop ="datePublished " content ="2025-07-08T15:33:39 ">
204
- 2025年07月08日 15時33分39秒
203
+ < span itemprop ="datePublished " content ="2025-07-31T12:59:01 ">
204
+ 2025年07月31日 12時59分01秒
205
205
</ span >
206
206
< br />
207
207
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
208
- < span itemprop ="name "> Akira Takahashi </ span >
208
+ < span itemprop ="name "> yoh </ span >
209
209
</ span >
210
210
が更新
211
211
</ small > </ p >
229
229
< span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="nc "> O</ span > < span class ="o "> ></ span >
230
230
< span class ="n "> concept</ span > < span class ="n "> operation_state</ span > < span class ="o "> =</ span >
231
231
< span class ="n "> < a href ="../../concepts/derived_from.html "> derived_from</ a > </ span > < span class ="o "> <</ span > < span class ="k "> typename</ span > < span class ="n "> O</ span > < span class ="o "> ::</ span > < span class ="n "> operation_state_concept</ span > < span class ="p "> ,</ span > < span class ="n "> operation_state_t</ span > < span class ="o "> ></ span > < span class ="o "> &&</ span >
232
- < span class ="n "> < a href ="../../type_traits/is_object.html "> is_object_v</ a > </ span > < span class ="o "> <</ span > < span class ="n "> O</ span > < span class ="o "> ></ span > < span class ="o "> &&</ span >
233
232
< span class ="n "> requires</ span > < span class ="p "> (</ span > < span class ="n "> O</ span > < span class ="o "> &</ span > < span class ="n "> o</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
234
- < span class ="p " > { </ span > < span class =" n "> < a href ="start.html "> start</ a > </ span > < span class ="p "> (</ span > < span class ="n "> o</ span > < span class ="p "> )</ span > < span class =" p " > } </ span > < span class =" k " > noexcept </ span > < span class =" p " > ;</ span >
233
+ < span class ="n "> < a href ="start.html "> start</ a > </ span > < span class ="p "> (</ span > < span class ="n "> o</ span > < span class ="p "> );</ span >
235
234
< span class ="p "> };</ span >
236
235
237
236
< span class ="k "> struct</ span > < span class ="n "> operation_state_t</ span > < span class ="p "> {};</ span > < span class ="c1 "> // タグ型</ span >
@@ -242,8 +241,8 @@ <h2>概要</h2>
242
241
< p > < code > operation_state</ code > は、型< code > O</ code > がOperation State型の要件を満たすことを表すコンセプトである。</ p >
243
242
< p > 下記をみたすクラス型はOperation Stateとみなせる。</ p >
244
243
< ul >
245
- < li > < code > operation_state_t</ code > をメンバ型< code > O::operation_state_concept</ code > として定義するクラス型 </ li >
246
- < li > < code > O</ code > 型の左辺値< code > o</ code > に対して< code > < a href ="start.html "> execution::start</ a > (o)</ code > が有効な式かつ < a class =" cpprefjp-defined-word " data-desc =" 問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態 " > 例外 </ a > 送出されないこと </ li >
244
+ < li > < code > operation_state_t</ code > をメンバ型< code > O::operation_state_concept</ code > として定義する </ li >
245
+ < li > < code > O</ code > 型の左辺値< code > o</ code > に対して< code > < a href ="start.html "> execution::start</ a > (o)</ code > が有効な式 </ li >
247
246
</ ul >
248
247
< p > 非< a class ="cpprefjp-defined-word " data-desc ="マルチスレッド実行時にリソースの所有権に基づいて実行順序を制御する操作 "> 同期操作</ a > の生存期間中に< code > operation_state</ code > オブジェクトが破棄されると、< a class ="cpprefjp-defined-word " data-desc ="処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。 " href ="../../../implementation-compliance.html#dfn-undefined-behavior "> 未定義の動作</ a > を引き起こす。</ p >
249
248
< h2 > 例</ h2 >
@@ -296,6 +295,7 @@ <h2>関連項目</h2>
296
295
< h2 > 参照</ h2 >
297
296
< ul >
298
297
< li > < a href ="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html " target ="_blank "> P2300R10 < code > std::execution</ code > </ a > </ li >
298
+ < li > < a href ="https://cplusplus.github.io/LWG/issue4200 " target ="_blank "> LWG 4200. The < code > operation_state</ code > concept can be simplified</ a > </ li >
299
299
</ ul > </ div >
300
300
301
301
</ div >
0 commit comments