list_assign_range
list_assign_range (std::list::assign_range — 범위 내용 교체)
std::list의 내용을 범위(range)의 원소 복사본들로 통째로 교체하는 멤버 함수예요.
출처: cppreference
본문
시그니처는 다음과 같아요.
template< /*container-compatible-range*/<T> R >
void assign_range( R&& rg ); // (since C++23)
컨테이너의 원소들을 rg의 각 원소 복사본으로 교체해요. 모든 이터레이터(end() 포함)와 원소에 대한 모든 참조가 무효화돼요. 범위 rg의 각 이터레이터는 정확히 한 번 역참조돼요. rg가 컨테이너와 겹치면 동작이 정의되지 않아요.
매개변수
rg: 참조 타입이 컨테이너의 원소 타입으로 변환 가능한 input_range.
복잡도
rg의 크기에 선형(linear)이에요.
예제
#include <list>
#include <iostream>
int main()
{
std::list<int> l;
l.assign_range(std::array{1, 2, 3});
for (int x : l) std::cout << x << ' '; // 1 2 3
}