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 |
コンテナの再代入 |