1616
1717 < meta charset ="UTF-8 ">
1818
19- < title > std::add_sat - cpprefjp C++日本語リファレンス</ title >
19+ < title > std::saturating_add - cpprefjp C++日本語リファレンス</ title >
2020
2121 < meta name ="viewport " content ="width=device-width,initial-scale=1 ">
2222 < meta name ="keywords " content ="
2323 C++,標準ライブラリ,リファレンス,ドキュメント,STL,std,numeric,function template,std,cpp26
2424 ">
25- < meta name ="title " content ="std::add_sat - cpprefjp C++日本語リファレンス " />
26- < meta itemprop ="name " content ="std::add_sat - cpprefjp C++日本語リファレンス " />
27- < meta property ="og:title " content ="std::add_sat - cpprefjp C++日本語リファレンス " />
28- < meta property ="og:url " content ="https://cpprefjp.github.io/reference/numeric/add_sat .html " />
25+ < meta name ="title " content ="std::saturating_add - cpprefjp C++日本語リファレンス " />
26+ < meta itemprop ="name " content ="std::saturating_add - cpprefjp C++日本語リファレンス " />
27+ < meta property ="og:title " content ="std::saturating_add - cpprefjp C++日本語リファレンス " />
28+ < meta property ="og:url " content ="https://cpprefjp.github.io/reference/numeric/saturating_add .html " />
2929 < meta property ="og:site_name " content ="cpprefjp - C++日本語リファレンス " />
3030 < meta property ="og:type " content ="article " />
3131 < meta property ="og:description " content ="飽和加算 `x + y` を計算する。 " />
3232 < meta name ="twitter:card " content ="summary " />
33- < meta name ="twitter:title " content ="std::add_sat - cpprefjp C++日本語リファレンス " />
34- < meta name ="twitter:url " content ="https://cpprefjp.github.io/reference/numeric/add_sat .html " />
33+ < meta name ="twitter:title " content ="std::saturating_add - cpprefjp C++日本語リファレンス " />
34+ < meta name ="twitter:url " content ="https://cpprefjp.github.io/reference/numeric/saturating_add .html " />
3535 < meta name ="twitter:description " content ="飽和加算 `x + y` を計算する。 " />
3636
3737
6868
6969 </ head >
7070 < body >
71- < header data-kunai-mdinfo ="{"meta": {"header": ["numeric"], "id-type": ["function template"], "namespace": ["std"], "cpp": ["cpp26"]}, "sources": [{"id": "a68bbbd441099e1dec0e79586bb7dfb195d57002 ", "source": "#include <cstdint>\n#include <numeric>\n#include <print>\n\nint main()\n{\n // 1 + 2 = 3\n std::println(\"{}\", std::add_sat (1, 2));\n\n // 200 + 200 = 400 -> 255(2**8-1)\n std::uint8_t x = 200;\n std::println(\"{}\", std::add_sat (x, x));\n\n // -100 + -100 = -200 -> -128(-2**7)\n std::int8_t y = -100;\n std::println(\"{}\", std::add_sat (y, y));\n}\n"}], "page_id": ["reference", "numeric", "add_sat "]} ">
71+ < header data-kunai-mdinfo ="{"meta": {"header": ["numeric"], "id-type": ["function template"], "namespace": ["std"], "cpp": ["cpp26"]}, "sources": [{"id": "04d5d9f98be6d5514c40c4e29110a82a3b58f7ab ", "source": "#include <cstdint>\n#include <numeric>\n#include <print>\n\nint main()\n{\n // 1 + 2 = 3\n std::println(\"{}\", std::saturating_add (1, 2));\n\n // 200 + 200 = 400 -> 255(2**8-1)\n std::uint8_t x = 200;\n std::println(\"{}\", std::saturating_add (x, x));\n\n // -100 + -100 = -200 -> -128(-2**7)\n std::int8_t y = -100;\n std::println(\"{}\", std::saturating_add (y, y));\n}\n"}], "page_id": ["reference", "numeric", "saturating_add "]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
171171 < span >
172172
173173
174- < span itemprop ="name "> add_sat </ span >
174+ < span itemprop ="name "> saturating_add </ span >
175175
176176
177177 </ span >
188188
189189 < p class ="text-right "> < small >
190190 最終更新日時(UTC):
191- < span itemprop ="datePublished " content ="2025-07-08T15:33:39 ">
192- 2025年07月08日 15時33分39秒
191+ < span itemprop ="datePublished " content ="2026-05-15T04:58:51 ">
192+ 2026年05月15日 04時58分51秒
193193 </ span >
194194 < br />
195195 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
200200
201201
202202 < p class ="text-right ">
203- < a class ="history " target ="_blank " href ="https://github.com/cpprefjp/site/commits/master/reference/numeric/add_sat .md ">
203+ < a class ="history " target ="_blank " href ="https://github.com/cpprefjp/site/commits/master/reference/numeric/saturating_add .md ">
204204 < span class ="fa fa-fw fa-clock-o fa-flip-horizontal "> </ span > 履歴
205205 </ a >
206- < a class ="edit " target ="_blank " href ="https://github.com/cpprefjp/site/edit/master/reference/numeric/add_sat .md ">
206+ < a class ="edit " target ="_blank " href ="https://github.com/cpprefjp/site/edit/master/reference/numeric/saturating_add .md ">
207207 < span class ="fa fa-fw fa-pencil "> </ span > 編集
208208 </ a >
209209 </ p >
212212 < div class ="row ">
213213 < div class ="col-sm-12 content-body ">
214214
215- < div class ="identifier-type "> function template</ div > < div class ="header "> <numeric></ div > < h1 itemprop ="name "> < span class ="namespace " title ="namespace std "> std::</ span > < span class ="token "> add_sat </ span > < span class ="cpp cpp26 " title ="C++26で追加 "> (C++26)</ span > </ h1 >
215+ < div class ="identifier-type "> function template</ div > < div class ="header "> <numeric></ div > < h1 itemprop ="name "> < span class ="namespace " title ="namespace std "> std::</ span > < span class ="token "> saturating_add </ span > < span class ="cpp cpp26 " title ="C++26で追加 "> (C++26)</ span > </ h1 >
216216< 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 >
217217< 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 >
218- < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="n "> T</ span > < span class ="w "> </ span > < span class ="n "> add_sat </ span > < span class ="p "> (</ span > < span class ="n "> T</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> T</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span >
218+ < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="n "> T</ span > < span class ="w "> </ span > < span class ="n "> saturating_add </ span > < span class ="p "> (</ span > < span class ="n "> T</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> T</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span >
219219< span class ="p "> }</ span >
220220</ code > </ pre > </ div >
221221</ p >
@@ -231,22 +231,22 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価
231231< h2 > < a class ="cpprefjp-defined-word " data-desc ="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態 "> 例外</ a > </ h2 >
232232< p > 投げない</ p >
233233< h2 > 例</ h2 >
234- < p > < div class ="yata " id ="a68bbbd441099e1dec0e79586bb7dfb195d57002 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../cstdint.html "> <cstdint></ a > </ span >
234+ < p > < div class ="yata " id ="04d5d9f98be6d5514c40c4e29110a82a3b58f7ab "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../cstdint.html "> <cstdint></ a > </ span >
235235< span class ="cp "> #include < a href ="../numeric.html "> <numeric></ a > </ span >
236236< span class ="cp "> #include < a href ="../print.html "> <print></ a > </ span >
237237
238238< span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
239239< span class ="p "> {</ span >
240240< span class ="w "> </ span > < span class ="c1 "> // 1 + 2 = 3</ span >
241- < span class ="w "> </ span > < span class ="n "> < a href ="../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "{}"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < span style ="color:#ff0000 "> std::add_sat </ span > </ span > < span class ="p "> (</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mi "> 2</ span > < span class ="p "> ));</ span >
241+ < span class ="w "> </ span > < span class ="n "> < a href ="../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "{}"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < span style ="color:#ff0000 "> std::saturating_add </ span > </ span > < span class ="p "> (</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mi "> 2</ span > < span class ="p "> ));</ span >
242242
243243< span class ="w "> </ span > < span class ="c1 "> // 200 + 200 = 400 -> 255(2**8-1)</ span >
244244< span class ="w "> </ span > < span class ="n "> < a href ="../cstdint/uint8_t.html "> std::uint8_t</ a > </ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="mi "> 200</ span > < span class ="p "> ;</ span >
245- < span class ="w "> </ span > < span class ="n "> < a href ="../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "{}"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < span style ="color:#ff0000 "> std::add_sat </ span > </ span > < span class ="p "> (</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ));</ span >
245+ < span class ="w "> </ span > < span class ="n "> < a href ="../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "{}"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < span style ="color:#ff0000 "> std::saturating_add </ span > </ span > < span class ="p "> (</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> ));</ span >
246246
247247< span class ="w "> </ span > < span class ="c1 "> // -100 + -100 = -200 -> -128(-2**7)</ span >
248248< span class ="w "> </ span > < span class ="n "> < a href ="../cstdint/int8_t.html "> std::int8_t</ a > </ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="mi "> -100</ span > < span class ="p "> ;</ span >
249- < span class ="w "> </ span > < span class ="n "> < a href ="../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "{}"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < span style ="color:#ff0000 "> std::add_sat </ span > </ span > < span class ="p "> (</ span > < span class ="n "> y</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> ));</ span >
249+ < span class ="w "> </ span > < span class ="n "> < a href ="../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "{}"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < span style ="color:#ff0000 "> std::saturating_add </ span > </ span > < span class ="p "> (</ span > < span class ="n "> y</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> y</ span > < span class ="p "> ));</ span >
250250< span class ="p "> }</ span >
251251</ code > </ pre > </ div >
252252</ div > </ p >
@@ -270,6 +270,7 @@ <h3>処理系</h3>
270270< h2 > 参照</ h2 >
271271< ul >
272272< li > < a href ="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0543r3.html " target ="_blank "> P0543R3 Saturation arithmetic</ a > </ li >
273+ < li > < a href ="https://open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4052r0.html " target ="_blank "> P4052R0 Renaming saturation arithmetic functions</ a > </ li >
273274</ ul > </ div >
274275
275276 </ div >
0 commit comments