Namespaces
Variants

std::hive<T,Allocator>::assign_range

来自 zh.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));
}

参见

插入一个元素范围
(公开成员函数)
向容器赋值
(公开成员函数)
向容器赋值
(公开成员函数)