template <container-compatible-range<T> R>
constexpr void assign_range(R&& rg); // C++23
概要
Rangeの各要素を再代入する。
事前条件
*this の要素の範囲と Rangerg の要素の範囲が重複していないこと
テンプレートパラメータ制約
型Tが*ranges::begin(rg)からvectorコンテナへのEmplaceConstructibleであること。また、Rがranges::sized_rangeでもranges::forward_rangeでもないなら、コンテナへのMoveInsertableであること。
効果
Rangergの各要素を、再代入する。
戻り値
なし
例
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v = {1, 2, 3};
const int a[3] = {4, 5, 6};
// Rangeを再代入
v.assign_range(a);
for (int i : v) {
std::cout << i << " ";
}
std::cout << std::endl;
}
出力
4 5 6
関連項目
| 名前 | 説明 |
|---|---|
assign |
コンテナの再代入 |