std::hive<T,Allocator>::assign_range
ja.cppreference.net から
template< /*container-compatible-range*/<T> R >
void assign_range( R&& rg );
|
(C++26から) | |
コンテナ内の要素を、rg の各要素のコピーで置き換えます。
範囲 rg 内の各イテレータは正確に1回逆参照されます。
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));
}
関連項目
| 要素の範囲を挿入します (パブリックメンバ関数) | |
| コンテナに値を代入します (パブリックメンバ関数) | |
| コンテナに値を代入します (パブリックメンバ関数) |