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));
}
参见
| 插入一个元素范围 (公开成员函数) | |
| 向容器赋值 (公开成员函数) | |
| 向容器赋值 (公开成员函数) |