201201 < p class ="text-right "> < small >
202202 最終更新日時:
203203 < time itemprop ="datePublished " class ="js-local-time "
204- datetime ="2025-07-09T00:33:39 +09:00 ">
205- 2025年07月09日 00時33分39秒 (JST)
204+ datetime ="2026-08-17T01:31:55 +09:00 ">
205+ 2026年08月17日 01時31分55秒 (JST)
206206 </ time >
207207 < br />
208208 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
252252< div itemprop ="articleBody "> < p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../../concepts/common_with.html "> common_with</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> I2</ span > < span class ="o "> ></ span >
253253< span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> ==</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> <</ span > < span class ="n "> I2</ span > < span class ="o "> >&</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> );</ span > < span class ="w "> </ span > < span class ="c1 "> // (1)</ span >
254254
255- < span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> ==</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../default_sentinel_t.html "> default_sentinel_t</ a > </ span > < span class ="p "> ); </ span > < span class ="w "> </ span > < span class ="c1 "> // (2)</ span >
255+ < span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> ==</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../default_sentinel_t.html "> default_sentinel_t</ a > </ 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 "> // (2)</ span >
256256</ code > </ pre > </ div >
257257</ p >
258258< h2 > 概要</ h2 >
@@ -272,17 +272,17 @@ <h2>備考</h2>
272272< p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../../concepts/common_with.html "> common_with</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> I2</ span > < span class ="o "> ></ span >
273273< span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> ==</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> <</ span > < span class ="n "> I2</ span > < span class ="o "> >&</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> );</ span >
274274
275- < span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> ==</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../default_sentinel_t.html "> default_sentinel_t</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> );</ span >
275+ < span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> ==</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../default_sentinel_t.html "> default_sentinel_t</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> )</ span > < span class =" w " > </ span > < span class =" k " > noexcept </ span > < span class =" p " > ;</ span >
276276
277277< span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../../concepts/common_with.html "> common_with</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> I2</ span > < span class ="o "> ></ span >
278278< span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> !=</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> <</ span > < span class ="n "> I2</ span > < span class ="o "> >&</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> );</ span >
279279
280- < span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> !=</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../default_sentinel_t.html "> default_sentinel_t</ a > </ span > < span class ="p "> ); </ span > < span class ="w "> </ span >
280+ < span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> !=</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href ="../default_sentinel_t.html "> default_sentinel_t</ a > </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class =" k " > noexcept </ span > < span class =" p " > ; </ span >
281281
282282< span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../../concepts/common_with.html "> common_with</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> I2</ span > < span class ="o "> ></ span >
283283< span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> !=</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> <</ span > < span class ="n "> I2</ span > < span class ="o "> >&</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> );</ span >
284284
285- < span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> !=</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../default_sentinel_t.html "> default_sentinel_t</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> );</ span >
285+ < span class ="k "> friend</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> bool</ span > < span class ="w "> </ span > < span class ="k "> operator</ span > < span class ="o "> !=</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../default_sentinel_t.html "> default_sentinel_t</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="k "> const</ span > < span class ="w "> </ span > < span class ="n "> counted_iterator</ span > < span class ="o "> &</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> )</ span > < span class =" w " > </ span > < span class =" k " > noexcept </ span > < span class =" p " > ;</ span >
286286</ code > </ pre > </ div >
287287</ p >
288288< p > また、これらの演算子は全て< a href ="../../../article/lib/hidden_friends.html "> < em > Hidden friends</ em > </ a > として定義される。</ p >
@@ -335,6 +335,10 @@ <h3>処理系</h3>
335335< h2 > 参照</ h2 >
336336< ul >
337337< li > < a href ="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0896r4.pdf " target ="_blank "> P0896R4 The One Ranges Proposal (was Merging the Ranges TS)</ a > </ li >
338+ < li > < a href ="https://cplusplus.github.io/LWG/issue4245 " target ="_blank "> LWG Issue 4245. Operators that interact with < code > counted_iterator</ code > and < code > default_sentinel_t</ code > should be < code > noexcept</ code > </ a > < ul >
339+ < li > C++26で、(2)(および< code > default_sentinel_t</ code > と相互作用する派生演算子)に< code > noexcept</ code > が追加された</ li >
340+ </ ul >
341+ </ li >
338342</ ul > </ div >
339343
340344 </ div >
0 commit comments