deque::prepend_range
deque::prepend_range (범위를 앞에 추가)
범위의 요소 복사본을 컨테이너의 시작 부분(앞)에, 순서를 뒤집지 않고 삽입하는 멤버 함수예요. <deque> 헤더, C++23부터.
출처: cppreference
본문
prepend_range는 rg의 요소 복사본을 begin() 앞에 순서를 뒤집지 않고 삽입해요.
template< container-compatible-range<T> R >
void prepend_range( R&& rg );
-
범위
rg의 각 반복자는 정확히 한 번 역참조돼요. -
모든 반복자(끝 반복자 포함)가 무효화되고, 참조는 무효화되지 않아요.
-
복잡도:
rg크기에 선형. -
매개변수
rg: 요소가T로 변환 가능한 컨테이너 호환 범위. -
타입 요구사항:
T가*ranges::begin(rg)에서 deque로 EmplaceConstructible이어야 하고, MoveInsertable이며T가 MoveAssignable이어야 해요.
std::deque<int> d{3, 4, 5};
int head[] = {1, 2};
d.prepend_range(head); // d == {1,2,3,4,5}
std::vector에는 없는 앞쪽 추가(상수 시간)가 deque에서 가능한데, range 전체를 앞에 붙이는 간결한 방법이에요. append_range의 앞쪽 대칭 버전이죠.