forward_list_assign_range

forward_list_assign_range (std::forward_list::assign_range — 범위 내용 교체)

std::forward_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 <forward_list>
#include <iostream>
int main()
{
    std::forward_list<int> fl;
    fl.assign_range(std::array{1, 2, 3});
    for (int x : fl) std::cout << x << ' ';  // 3 2 1 (앞에 삽입되어 역순)
}

더 알아보기 (Learn more)

cppreference