Namespaces
Variants

std::deque<T,Allocator>:: prepend_range

From cppreference.net

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.

Alle Iteratoren (einschließlich des end() Iterators) werden ungültig. Keine Referenzen werden ungültig.

Inhaltsverzeichnis

Parameter

rg - ein container-kompatibler Bereich , also ein input_range , dessen Elemente in T konvertierbar sind
Typanforderungen
-
Wenn eine der folgenden Bedingungen erfüllt 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

#include <algorithm>
#include <cassert>
#include <deque>
#include <vector>
int main()
{
    auto container = std::deque{0, 1, 2, 3};
    const auto rg = std::vector{-3, -2, -1};
#if __cpp_lib_containers_ranges
    container.prepend_range(rg);
#else
    container.insert(container.begin(), rg.cbegin(), rg.cend());
#endif
    assert(std::ranges::equal(container, std::deque{-3, -2, -1, 0, 1, 2, 3}));
}

Siehe auch

fügt eine Reihe von Elementen am Ende hinzu
(öffentliche Elementfunktion)
fügt eine Reihe von Elementen ein
(öffentliche Elementfunktion)
fügt ein Element am Anfang ein
(öffentliche Elementfunktion)
konstruiert ein Element direkt am Anfang
(öffentliche Elementfunktion)