std::hive<T,Allocator>::assign_range
cppreference.net에서
template< /*container-compatible-range*/<T> R >
void assign_range( R&& rg );
|
(C++26부터) | |
컨테이너에 있는 요소를 rg의 각 요소 복사본으로 대체합니다.
범위 rg 의 각 반복자는 정확히 한 번 역참조됩니다.
만약 rg 가 컨테이너와 겹치면 동작이 정의되지 않습니다.
매개변수
| rg | - | 컨테이너의 요소 타입으로 변환 가능한 참조 타입을 가진 input_range |
| 타입 요구 사항 | ||
-std::assignable_from<T&, ranges::range_reference_t<R>> 가 모델링되어야 합니다. 그렇지 않으면 프로그램의 형식이 잘못되었습니다.
| ||
-T 는 EmplaceConstructible 을 *ranges::begin(rg) 로부터 컨테이너에 대해 만족해야 합니다. 그렇지 않으면 동작이 정의되지 않습니다.
| ||
예제
이 코드 실행
#include <algorithm>
#include <cassert>
#include <hive>
#include <list>
int main()
{
const auto source = std::list{2, 7, 1};
auto destination = std::hive{3, 1, 4};
destination.assign_range(source);
assert(std::ranges::equal(source, destination));
}
참고 항목
| 요소 범위를 삽입합니다 (공개 멤버 함수) | |
| 컨테이너에 값을 할당합니다 (공개 멤버 함수) | |
| 컨테이너에 값을 할당합니다 (공개 멤버 함수) |