200200
201201 < p class ="text-right "> < small >
202202 最終更新日時(UTC):
203- < span itemprop ="datePublished " content ="2026-02-17T14:22:33 ">
204- 2026年02月17日 14時22分33秒
203+ < span itemprop ="datePublished " content ="2026-03-13T02:25:45 ">
204+ 2026年03月13日 02時25分45秒
205205 </ span >
206206 < br />
207207 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
226226
227227 < div class ="identifier-type "> function</ div > < div class ="header "> <flat_map></ div > < h1 itemprop ="name "> < span class ="namespace " title ="namespace std "> std::</ span > < span class ="class " title ="class flat_map "> flat_map::</ span > < span class ="token "> insert_range</ span > < span class ="cpp cpp23 " title ="C++23で追加 "> (C++23)</ span > </ h1 >
228228< 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 ="../../exposition-only/container-compatible-range.html "> container-compatible-range</ a > </ span > < span class ="o "> <</ span > < span class ="n "> value_type</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> R</ span > < span class ="o "> ></ span >
229- < span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="n "> insert_range</ span > < span class ="p "> (</ span > < span class ="n "> R</ span > < span class ="o "> &&</ span > < span class ="w "> </ span > < span class ="n "> rg</ span > < span class ="p "> );</ span > < span class ="w "> </ span > < span class ="c1 "> // (1) C++23</ span >
229+ < span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="n "> insert_range</ span > < span class ="p "> (</ span > < span class ="n "> R</ span > < span class ="o "> &&</ span > < span class ="w "> </ span > < span class ="n "> rg</ span > < span class ="p "> );</ span > < span class ="w "> </ span > < span class ="c1 "> // (1) C++23</ span >
230230< span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../../exposition-only/container-compatible-range.html "> container-compatible-range</ a > </ span > < span class ="o "> <</ span > < span class ="n "> value_type</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> R</ span > < span class ="o "> ></ span >
231- < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="n "> insert_range</ span > < span class ="p "> (</ span > < span class ="n "> R</ span > < span class ="o "> &&</ span > < span class ="w "> </ span > < span class ="n "> rg</ span > < span class ="p "> );</ span > < span class ="w "> </ span > < span class ="c1 "> // (1) C++26</ span >
231+ < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="n "> insert_range</ span > < span class ="p "> (</ span > < span class ="n "> R</ span > < span class ="o "> &&</ span > < span class ="w "> </ span > < span class ="n "> rg</ span > < span class ="p "> );</ span > < span class ="w "> </ span > < span class ="c1 "> // (1) C++26</ span >
232+
233+ < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../../exposition-only/container-compatible-range.html "> container-compatible-range</ a > </ span > < span class ="o "> <</ span > < span class ="n "> value_type</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> R</ span > < span class ="o "> ></ span >
234+ < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="n "> insert_range</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../sorted_unique_t.html "> sorted_unique_t</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> R</ span > < span class ="o "> &&</ span > < span class ="w "> </ span > < span class ="n "> rg</ span > < span class ="p "> );</ span > < span class ="w "> </ span > < span class ="c1 "> // (2) C++26</ span >
232235</ code > </ pre > </ div >
233236</ p >
234237< h2 > 概要</ h2 >
@@ -240,12 +243,12 @@ <h2>概要</h2>
240243< h2 > 効果</ h2 >
241244< ul >
242245< li >
243- < p > メンバ変数として保持しているコンテナ< code > c</ code > に、以下のように挿入する:
246+ < p > (1) : メンバ変数として保持しているコンテナ< code > c</ code > に、以下のように挿入する:
244247 < br />
245- < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="k " > for </ span > < span class =" w " > </ span > < span class =" p " > ( < /span > < span class ="k " > const </ span > < span class ="w " > </ span > < span class ="k " > auto </ span > < span class ="o " > & </ span > < span class ="w " > </ span > < span class ="n " > e </ span > < span class ="w " > </ span > < span class ="o " > : </ span > < span class ="w "> </ span > < span class ="n "> rg </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
246- < span class ="w "> </ span > < span class ="n "> < a href ="containers.html "> c.keys</ a > </ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../vector/vector/insert.html "> insert</ a > </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="containers.html "> c.keys</ a > </ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../vector/vector/end.html "> end()</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> e</ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../utility/pair/first.html "> first</ a > </ span > < span class ="p "> );</ span >
247- < span class ="w "> </ span > < span class ="n "> < a href ="containers.html "> c.values</ a > </ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../vector/vector/insert.html "> insert</ a > </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="containers.html "> c.values</ a > </ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../vector/vector/end.html "> end()</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> e</ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../utility/pair/second.html "> second</ a > </ span > < span class ="p "> );</ span >
248- < span class ="p "> }</ span >
248+ < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="n " > < a href =" ../../algorithm/ranges_for_each.html " > ranges::for_each </ a > < /span > < span class ="p " > ( </ span > < span class ="n " > rg </ span > < span class ="p " > , </ span > < span class ="w " > </ span > < span class ="p " > [ </ span > < span class ="o " > & </ span > < span class ="p " > ]( </ span > < span class ="n " > value_type </ span > < span class ="w "> </ span > < span class ="n "> e </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
249+ < span class ="w "> </ span > < span class ="n "> < a href ="containers.html "> c.keys</ a > </ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../vector/vector/insert.html "> insert</ a > </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="containers.html "> c.keys</ a > </ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../vector/vector/end.html "> end()</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href =" ../../utility/move.html " > std::move </ a > </ span > < span class =" p " > ( </ span > < span class =" n " > e</ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../utility/pair/first.html "> first</ a > </ span > < span class ="p "> ) );</ span >
250+ < span class ="w "> </ span > < span class ="n "> < a href ="containers.html "> c.values</ a > </ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../vector/vector/insert.html "> insert</ a > </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="containers.html "> c.values</ a > </ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../vector/vector/end.html "> end()</ a > </ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href =" ../../utility/move.html " > std::move </ a > </ span > < span class =" p " > ( </ span > < span class =" n " > e</ span > < span class ="p "> .</ span > < span class ="n "> < a href ="../../utility/pair/second.html "> second</ a > </ span > < span class ="p "> ) );</ span >
251+ < span class ="p "> }); </ span >
249252</ code > </ pre > </ div >
250253</ p >
251254< ul >
@@ -261,12 +264,16 @@ <h2>効果</h2>
261264</ code > </ pre > </ div >
262265</ p >
263266</ li >
267+ < li >
268+ < p > (2) : < code > insert_range(rg)</ code > と等価</ p >
269+ </ li >
264270</ ul >
265271< h2 > < a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > </ h2 >
266272< p > なし</ p >
267273< h2 > < a class ="cpprefjp-defined-word " data-desc ="関数等の意味論を構成する要素の1つ。Complexity。関数が使うアルゴリズムの空間計算量・時間計算量 "> 計算量</ a > </ h2 >
268274< ul >
269- < li > Nをこの操作の前の< code > < a href ="size.html "> size()</ a > </ code > 、Mを< code > < a href ="../../iterator/ranges_distance.html "> ranges::distance</ a > (rg)</ code > として、N + MlogM</ li >
275+ < li > (1) : Nをこの操作の前の< code > < a href ="size.html "> size()</ a > </ code > 、Mを< code > < a href ="../../iterator/ranges_distance.html "> ranges::distance</ a > (rg)</ code > として、N + MlogM</ li >
276+ < li > (2) : 線形</ li >
270277</ ul >
271278< h2 > 備考</ h2 >
272279< ul >
@@ -341,6 +348,11 @@ <h2>関連項目</h2>
341348< h2 > 参照</ h2 >
342349< ul >
343350< li > < a href ="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3372r3.html " target ="_blank "> P3372R3 constexpr containers and adaptors</ a > </ li >
351+ < li > < a href ="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3567r2.html " target ="_blank "> P3567R2 flat_meow Fixes</ a > < ul >
352+ < li > C++26で(2)の< code > sorted_unique_t</ code > をとる< a class ="cpprefjp-defined-word " data-desc ="同名の関数を異なる引数・テンプレート・制約などで複数定義すること。または同名の関数の集合 "> オーバーロード</ a > が追加された</ li >
353+ < li > C++26で(1)の効果が、要素のコピーではなくムーブを行うように修正された</ li >
354+ </ ul >
355+ </ li >
344356</ ul > </ div >
345357
346358 </ div >
0 commit comments