deque::insert_range
deque::insert_range (범위를 지정 위치에 삽입)
범위의 요소 복사본을 지정 위치 앞에, 순서를 뒤집지 않고 삽입하는 멤버 함수예요. <deque> 헤더, C++23부터.
출처: cppreference
본문
insert_range는 rg의 요소 복사본을 pos 앞에 순서를 뒤집지 않고 삽입해요.
template< container-compatible-range<T> R >
iterator insert_range( const_iterator pos, R&& rg );
-
모든 반복자(끝 반복자 포함)가 무효화돼요. 참조는
pos == begin()또는pos == end()인 경우를 제외하면 무효화돼요. -
범위
rg의 각 반복자는 정확히 한 번 역참조돼요. -
rg가 컨테이너와 겹치면 동작이 미정의예요. -
복잡도:
rg크기와 삽입 위치 사이 요소 수 중 작은 값에 선형. -
매개변수
pos: 내용이 삽입될 위치 바로 앞. -
매개변수
rg: 요소가T로 변환 가능한 컨테이너 호환 범위. -
반환 값: 삽입된 첫 요소를 가리키는 반복자.
insert를 반복 호출하는 대신 범위 전체를 한 번에 끼워 넣을 때 편리해요.
std::deque<int> d{1, 2, 5, 6};
int mid[] = {3, 4};
d.insert_range(d.begin() + 2, mid); // d == {1,2,3,4,5,6}
C++20 ranges 개념을 활용한 삽입 계열 함수예요.