queue_push_range
queue_push_range (std::queue::push_range — 범위 삽입)
std::queue의 끝에 범위(range)의 원소들을 삽입하는 멤버 함수예요.
출처: cppreference
본문
시그니처는 다음과 같아요.
template< container-compatible-range<value_type> R >
void push_range( R&& rg ); // (since C++23)
범위 rg의 각 원소 복사본을 큐에 삽입해요. 즉 rg의 각 원소마다 c.push_back(...)을 호출하는 것과 동등해요. 각 이터레이터는 정확히 한 번 역참조돼요.
매개변수
rg: 원소들이value_type으로 변환 가능한 container compatible range.
복잡도
ranges::distance(rg)에 선형(linear)이에요(내부 컨테이너 push_back 복잡도와 합산).
예제
#include <iostream>
#include <queue>
int main()
{
std::queue<int> q;
q.push_range(std::array{1, 2, 3});
std::cout << q.front() << ' ' << q.back() << '\n'; // 1 3
}