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
Diesen Code ausführen
#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) |