189189 < p class ="text-right "> < small >
190190 最終更新日時:
191191 < time itemprop ="datePublished " class ="js-local-time "
192- datetime ="2026-03-23T17:00:53 +09:00 ">
193- 2026年03月23日 17時00分53秒 (JST)
192+ datetime ="2026-09-09T00:45:54 +09:00 ">
193+ 2026年09月09日 00時45分54秒 (JST)
194194 </ time >
195195 < br />
196196 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
197- < span itemprop ="name "> Raclamusi </ span >
197+ < span itemprop ="name "> yoh </ span >
198198 </ span >
199199 が更新
200200 </ small > </ p >
238238
239239 < div class ="identifier-type "> function</ div > < div class ="header "> <type_traits></ div > < h1 itemprop ="name "> < span class ="namespace " title ="namespace std "> std::</ span > < span class ="token "> is_within_lifetime</ span > < span class ="cpp cpp26 " title ="C++26で追加 "> (C++26)</ span > </ h1 >
240240< div itemprop ="articleBody "> < p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="k "> namespace</ span > < span class ="w "> </ span > < span class ="nn "> std</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
241- < span class ="w "> </ span > < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> T</ span > < span class ="o "> ></ span >
241+ < span class ="w "> </ span > < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> U </ span > < span class =" o " > = </ span > < span class =" kt " > void </ span > < span class =" p " > , </ span > < span class =" w " > </ span > < span class =" k " > class </ span > < span class =" w " > </ span > < span class =" nc " > T</ span > < span class ="o "> ></ span >
242242< span class ="w "> </ span > < span class ="k "> consteval</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="n "> is_within_lifetime</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> T</ span > < span class ="o "> *</ span > < span class ="w "> </ span > < span class ="n "> p</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="c1 "> // (1) C++26</ span >
243243< span class ="p "> }</ span >
244244</ code > </ pre > </ div >
@@ -263,8 +263,10 @@ <h2>概要</h2>
263263</ code > </ pre > </ div >
264264</ p >
265265< p > この関数を使用することで、コンパイル時に指定メンバがアクティブかを判定することができる。</ p >
266+ < h2 > < a class ="cpprefjp-defined-word " data-desc ="関数等の意味論を構成する要素の1つ。Mandates。満たさなければプログラムが不適格となる要件。この要件は、オーバーロード解決によって選択された関数内での`static_assert`の定数条件式や、関数に対するdelete宣言などで表現できる "> 適格要件</ a > </ h2 >
267+ < p > < code > static_cast<const volatile U*>(p)</ code > が< a class ="cpprefjp-defined-word " data-desc ="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと " href ="../../implementation-compliance.html#dfn-well-formed "> 適格</ a > であること。</ p >
266268< h2 > < a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > </ h2 >
267- < p > < code > p</ code > が有効期間内にあるオブジェクトへのポインタであれば < code > true</ code > 、そうでなければ< code > false</ code > を返す。</ p >
269+ < p > < code > p</ code > が有効期間内にあるオブジェクトへのポインタかつ < code > static_cast<const volatile U*>(p) </ code > が定数部分式であれば < code > true</ code > 、そうでなければ< code > false</ code > を返す。</ p >
268270< h2 > 備考</ h2 >
269271< ul >
270272< li > 式< code > E</ code > を定数式として評価する際、< code > p</ code > が定数式で使用可能なオブジェクトを指しているか、そのオブジェクトの完全な有効期間が< code > E</ code > 内で始まっていない限り、この関数の呼び出しは< a class ="cpprefjp-defined-word " data-desc ="プログラムが適格でないこと。コンパイルエラーなどになる " href ="../../implementation-compliance.html#dfn-ill-formed "> 不適格</ a > となる</ li >
@@ -316,6 +318,7 @@ <h3>処理系</h3>
316318< h2 > 参照</ h2 >
317319< ul >
318320< li > < a href ="http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2641r4.html " target ="_blank "> P2641R4 Checking if a < code > union</ code > alternative is active</ a > </ li >
321+ < li > < a href ="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3450r1.html " target ="_blank "> P3450R1 Extend < code > std::is_within_lifetime</ code > </ a > </ li >
319322</ ul > </ div >
320323
321324 </ div >
0 commit comments