std::forward_list<T,Allocator>:: prepend_range
From cppreference.net
<
cpp
|
container
|
forward list
|
template
<
container-compatible-range
<
T
>
R
>
void prepend_range ( R && rg ) ; |
(seit C++23)
(constexpr seit C++26) |
|
Fügt, in nicht umgekehrter Reihenfolge, Kopien der Elemente in
rg
vor
begin()
ein. Jeder Iterator im Bereich
rg
wird genau einmal dereferenziert.
Keine Iteratoren oder Referenzen werden ungültig.
Inhaltsverzeichnis |
Parameter
| rg | - |
ein
container compatible range
, also ein
input_range
, dessen Elemente konvertierbar zu
T
sind
|
| Typanforderungen | ||
-
T
nicht
EmplaceConstructible
in
forward_list
aus
*
ranges::
begin
(
rg
)
ist, ist das Verhalten undefiniert.
|
||
Komplexität
Linear in der Größe von rg .
Hinweise
| Feature-Test Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_containers_ranges
|
202202L
|
(C++23) | Ranges-basierte Konstruktion und Einfügung |
Beispiel
Diesen Code ausführen
#include <algorithm> #include <cassert> #include <forward_list> #include <vector> int main() { auto container = std::forward_list{0, 1, 2, 3}; const auto rg = std::vector{-3, -2, -1}; #if __cpp_lib_containers_ranges container.prepend_range(rg); #else container.insert_after(container.before_begin(), rg.cbegin(), rg.cend()); #endif assert(std::ranges::equal(container, std::forward_list{-3, -2, -1, 0, 1, 2, 3})); }
Siehe auch
|
(C++23)
|
fügt eine Reihe von Elementen ein
(öffentliche Elementfunktion) |
|
(C++23)
|
fügt eine Reihe von Elementen nach einem Element ein
(öffentliche Elementfunktion) |
|
fügt ein Element am Anfang ein
(öffentliche Elementfunktion) |
|
|
konstruiert ein Element direkt am Anfang
(öffentliche Elementfunktion) |