template <container-compatible-range<T> R>
constexpr iterator insert_range(const_iterator position, R&& rg); // (1) C++26
概要
Rangeの要素を任意の位置に挿入する。
Range rgの要素をpositionの前に挿入する。
戻り値
挿入された最初の要素を指すイテレータ。rgが空の場合はpositionを指すイテレータ。
例外
挿入後のサイズがNを超える場合、bad_alloc例外を送出する。
計算量
挿入される要素の数と挿入位置からend()までの要素数に対して線形時間。
例
#include <print>
#include <inplace_vector>
#include <vector>
int main()
{
std::inplace_vector<int, 10> iv = {1, 2, 5, 6};
std::vector<int> src = {3, 4};
iv.insert_range(iv.begin() + 2, src);
for (int x : iv) {
std::println("{}", x);
}
}
出力
1
2
3
4
5
6
バージョン
言語
- C++26
処理系
- Clang: 23 ✅
- GCC: 16 ✅
- Visual C++: 2026 Update 2 ❌