Namespaces
Variants

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));
}

関連項目

要素の範囲を挿入します
(パブリックメンバ関数)
コンテナに値を代入します
(パブリックメンバ関数)
コンテナに値を代入します
(パブリックメンバ関数)