std::queue<T,Container>:: push_range
|
template
<
container-compatible-range
<
value_type
>
R
>
void push_range ( R && rg ) ; |
(C++23부터) | |
rg
의 각 요소 복사본을
queue
에 삽입합니다. 다음과 같이 동작합니다:
-
c.
append_range
(
std::
forward
<
R
>
(
rg
)
)
해당 표현식이 유효한 경우(즉, 기반 컨테이너
c
가 적절한
append_range멤버 함수를 가지고 있는 경우), 또는 - ranges:: copy ( rg, std:: back_inserter ( c ) ) 그렇지 않은 경우.
범위 내의 각 반복자는
rg
정확히 한 번 역참조됩니다.
목차 |
매개변수
| rg | - |
컨테이너 호환 범위
, 즉 요소들이
T
로 변환 가능한
input_range
|
복잡도
내부적으로 사용되는 함수에 따라 c. append_range 또는 ranges:: copy ( rg, std:: back_inserter ( c ) ) 의 복잡도와 동일합니다.
참고 사항
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_containers_ranges
|
202202L
|
(C++23) | Ranges-aware 생성 및 삽입 |
예제
#include <initializer_list> #include <queue> #include <version> #ifdef __cpp_lib_format_ranges #include <print> using std::println; #else #define FMT_HEADER_ONLY #include <fmt/ranges.h> using fmt::println; #endif int main() { std::queue<int> adaptor; const auto rg = {1, 3, 2, 4}; #ifdef __cpp_lib_containers_ranges adaptor.push_range(rg); #else for (int e : rg) adaptor.push(e); #endif println("{}", adaptor); }
출력:
[1, 3, 2, 4]
참고 항목
|
끝에 요소를 삽입합니다
(public member function) |