200200
201201 < p class ="text-right "> < small >
202202 最終更新日時(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秒
205205 </ span >
206206 < br />
207207 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
208- < span itemprop ="name "> Akira Takahashi </ span >
208+ < span itemprop ="name "> yoh </ span >
209209 </ span >
210210 が更新
211211 </ small > </ p >
229229 < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="nc "> O</ span > < span class ="o "> ></ span >
230230 < span class ="n "> concept</ span > < span class ="n "> operation_state</ span > < span class ="o "> =</ span >
231231 < 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 >
233232 < 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 >
235234 < span class ="p "> };</ span >
236235
237236 < 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>
242241< p > < code > operation_state</ code > は、型< code > O</ code > がOperation State型の要件を満たすことを表すコンセプトである。</ p >
243242< p > 下記をみたすクラス型はOperation Stateとみなせる。</ p >
244243< 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 >
247246</ ul >
248247< 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 >
249248< h2 > 例</ h2 >
@@ -296,6 +295,7 @@ <h2>関連項目</h2>
296295< h2 > 参照</ h2 >
297296< ul >
298297< 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 >
299299</ ul > </ div >
300300
301301 </ div >
0 commit comments