Namespaces
Variants

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));
}

참고 항목

요소 범위를 삽입합니다
(공개 멤버 함수)
컨테이너에 값을 할당합니다
(공개 멤버 함수)
컨테이너에 값을 할당합니다
(공개 멤버 함수)