std::deque<T,Allocator>:: append_range
|
template
<
container-compatible-range
<
T
>
R
>
void append_range ( R && rg ) ; |
(seit C++23)
(constexpr seit C++26) |
|
Fügt Kopien von Elementen aus dem Bereich
rg
vor
end()
ein, in nicht umgekehrter Reihenfolge.
Alle Iteratoren (einschließlich des
end()
Iterators) werden ungültig. Keine Referenzen werden ungültig.
Jeder Iterator in rg wird genau einmal dereferenziert.
Inhaltsverzeichnis |
Parameter
| rg | - |
ein
container compatible range
, also ein
input_range
, dessen Elemente konvertierbar zu
T
sind
|
| Typanforderungen | ||
-
T
nicht
EmplaceConstructible
in
deque
aus
*
ranges::
begin
(
rg
)
ist, ist das Verhalten undefiniert.
|
||
Komplexität
Linear in der Größe von
rg
. Die Anzahl der Aufrufe des Konstruktors von
T
ist genau gleich
std
::
ranges::
size
(
rg
)
)
.
Ausnahmen
Wenn eine Ausnahme ausgelöst wird, die nicht vom Kopierkonstruktor, Verschiebekonstruktor, Zuweisungsoperator oder Verschiebezuweisungsoperator von
T
stammt, gibt es keine Auswirkungen. Wenn eine Ausnahme beim Einfügen eines einzelnen Elements an einem der Enden ausgelöst wird, gibt es keine Auswirkungen. Andernfalls, wenn eine Ausnahme vom Verschiebekonstruktor eines nicht-
CopyInsertable
T
ausgelöst wird, sind die Auswirkungen nicht spezifiziert.
Hinweise
| Feature-Test Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_containers_ranges
|
202202L
|
(C++23) | Ranges-basierte Konstruktion und Einfügung |
Beispiel
#include <cassert> #include <deque> #include <list> int main() { auto head = std::deque{1, 2, 3, 4}; const auto tail = std::list{-5, -6, -7}; #ifdef __cpp_lib_containers_ranges head.append_range(tail); #else head.insert(head.end(), tail.cbegin(), tail.cend()); #endif assert((head == std::deque{1, 2, 3, 4, -5, -6, -7})); }
Siehe auch
|
(C++23)
|
fügt einen Bereich von Elementen am Anfang hinzu
(öffentliche Elementfunktion) |
|
(C++23)
|
fügt einen Bereich von Elementen ein
(öffentliche Elementfunktion) |
|
fügt ein Element am Ende hinzu
(öffentliche Elementfunktion) |
|
|
(C++11)
|
konstruiert ein Element direkt am Ende
(öffentliche Elementfunktion) |