Namespaces
Variants

std::hive<T,Allocator>::assign_range

Von de.cppreference.net

 
 
 
 
template< /*container-compatible-range*/<T> R >
void assign_range( R&& rg );
(seit C++26)

Ersetzt Elemente im Container durch eine Kopie jedes Elements in rg.


Jeder Iterator im Bereich rg wird genau einmal dereferenziert.

Das Verhalten ist undefiniert, wenn rg den Container überlappt.

Parameter

rg - eine input_range mit Referenztyp, der in den Elementtyp des Containers konvertierbar ist
Typanforderungen
-
std::assignable_from<T&, ranges::range_reference_t<R>> muss modelliert werden. Andernfalls ist das Programm fehlerhaft.
-
T muss EmplaceConstructible in den Container von *ranges::begin(rg) sein. Andernfalls ist das Verhalten undefiniert.

Beispiel

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

Siehe auch

fügt einen Bereich von Elementen ein
(öffentliche Memberfunktion)
weist dem Container Werte zu
(öffentliche Memberfunktion)
weist dem Container Werte zu
(öffentliche Memberfunktion)