forward_list_insert_range_after

forward_list_insert_range_after (std::forward_list::insert_range_after — 지정 위치 뒤 범위 삽입)

std::forward_list에서 지정한 위치 뒤에 범위(range)의 원소들을 원래 순서 그대로 삽입하는 멤버 함수예요.

출처: cppreference

본문

시그니처는 다음과 같아요.

template< container-compatible-range<T> R >
iterator insert_range_after( const_iterator pos, R&& rg );   // (since C++23)

pos 바로 앞에 범위 rg의 원소 복사본들을 원래 순서 그대로(non-reversing order) 삽입해요. 범위 rg의 각 이터레이터는 정확히 한 번 역참조돼요.

pos는 범위 [begin(), end()) 안의 역참조 가능한 이터레이터이거나 before_begin() 이터레이터여야 해요.

매개변수

  • pos: 새 원소들이 삽입될 위치 바로 앞을 가리키는 이터레이터
  • rg: 원소들이 T로 변환 가능한 container compatible range

반환값

삽입된 첫 번째 원소를 가리키는 이터레이터.

복잡도

ranges::distance(rg)에 선형(linear)이에요.

예제

#include <forward_list>
#include <iostream>
int main()
{
    std::forward_list<int> fl{1, 4};
    auto it = fl.begin();               // 1
    fl.insert_range_after(it, std::array{2, 3});
    for (int x : fl) std::cout << x << ' ';  // 1 2 3 4
}

더 알아보기 (Learn more)

cppreference