std::list<T,Allocator>:: assign_range
From cppreference.net
|
template
<
container-compatible-range
<
T
>
R
>
void assign_range ( R && rg ) ; |
(C++23부터)
(C++26부터 constexpr) |
|
컨테이너의 요소들을 rg 의 각 요소 사본으로 대체합니다.
모든 반복자(
end()
반복자 포함)와 모든 요소에 대한 참조가 무효화됩니다.
범위 내의 각 반복자는 rg 에 대해 정확히 한 번 역참조됩니다.
만약 rg 가 * this 와 겹치는 경우, 동작은 정의되지 않습니다.
목차 |
매개변수
| rg | - |
컨테이너의 요소 타입으로 변환 가능한 참조 타입을 가진
input_range
|
| 타입 요구사항 | ||
|
-
|
||
-
T
가
EmplaceConstructible
를
list
에
*
ranges::
begin
(
rg
)
로부터 만족하지 않으면 동작은 정의되지 않습니다.
|
||
참고 사항
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_containers_ranges
|
202202L
|
(C++23) | 범위 인식 생성 및 삽입 |
예제
이 코드 실행
#include <algorithm> #include <cassert> #include <list> #include <vector> int main() { const auto source = std::vector{2, 7, 1}; auto destination = std::list{3, 1, 4}; #ifdef __cpp_lib_containers_ranges destination.assign_range(source); #else destination.assign(source.cbegin(), source.cend()); #endif assert(std::ranges::equal(source, destination)); }
참고 항목
|
(C++23)
|
요소 범위를 삽입합니다
(public member function) |
|
(C++23)
|
시작 부분에 요소 범위를 추가합니다
(public member function) |
|
(C++23)
|
끝 부분에 요소 범위를 추가합니다
(public member function) |
|
컨테이너에 값을 할당합니다
(public member function) |
|
|
컨테이너에 값을 할당합니다
(public member function) |