template <container-compatible-range<T> R>
iterator insert_range(const_iterator pos, R&& rg); // C++23
概要
Rangeの各要素を任意の位置に挿入する。
テンプレートパラメータ制約
型T
が*ranges::begin(rg)
からlist
コンテナへのEmplaceConstructible
であること。
効果
Rangerg
の各要素を、pos
の直前に挿入する。
戻り値
挿入されたRangerg
の最初の要素を指すイテレータ。rg
が空の場合はpos
。
例
#include <iostream>
#include <iterator>
#include <list>
int main()
{
std::list<int> lst = {1, 2, 3};
const int a[3] = {4, 5, 6};
// Rangeを1番目と2番目の要素の間に挿入
lst.insert_range(std::next(lst.begin()), a);
for (int i : lst) {
std::cout << i << " ";
}
std::cout << std::endl;
}
出力
1 4 5 6 2 3
関連項目
名前 | 説明 |
---|---|
insert |
任意の位置に要素を挿入する |
emplace |
任意の位置に要素を直接構築で挿入する |