Namespaces
Variants

std::inplace_vector<T,N>:: unchecked_push_back

From cppreference.net
constexpr reference unchecked_push_back ( const T & value ) ;
(1) (seit C++26)
constexpr reference unchecked_push_back ( T && value ) ;
(2) (seit C++26)

Fügt das angegebene Element value am Ende des Containers an.

Entspricht: return * try_push_back ( std:: forward < decltype ( value ) > ( value ) ) ;

1) Das neue Element wird als Kopie von value initialisiert.
2) value wird in das neue Element verschoben.

Vor dem Aufruf dieser Funktionen muss size ( ) < capacity ( ) true sein. Andernfalls ist das Verhalten undefiniert.

Keine Iteratoren oder Referenzen werden ungültig, außer end() , welches ungültig wird, wenn die Einfügung stattfindet.

Inhaltsverzeichnis

Parameter

value - der Wert des anzuhängenden Elements
Typanforderungen
-
T muss die Anforderungen von CopyInsertable erfüllen, um Überladung (1) zu verwenden.
-
T muss die Anforderungen von MoveInsertable erfüllen, um Überladung (2) zu verwenden.

Rückgabewert

back() , d.h. eine Referenz auf das eingefügte Element.

Komplexität

Konstante.

Ausnahmen

Jede Ausnahme, die durch die Initialisierung des eingefügten Elements ausgelöst wird.

Wenn aus irgendeinem Grund eine Exception ausgelöst wird, haben diese Funktionen keine Wirkung ( strong exception safety guarantee ).

Hinweise

Beispiel

#include <cassert>
#include <inplace_vector>
#include <string>
int main()
{
    std::inplace_vector<std::string, 2> fauna;
    std::string dog{"dog"};
    auto& r1 = fauna.unchecked_push_back("cat"); // Überladung (1)
    assert(r1 == "cat" and fauna.size() == 1);
    auto& r2 = fauna.unchecked_push_back(std::move(dog)); // Überladung (2)
    assert(r2 == "dog" and fauna.size() == 2);
    assert(fauna[0] == "cat" and fauna[1] == "dog");
    // fauna.unchecked_push_back("bug"); // undefiniertes Verhalten: kein Platz vorhanden
}

Siehe auch

fügt ein Element am Ende hinzu
(öffentliche Elementfunktion)
konstruiert ein Element direkt am Ende
(öffentliche Elementfunktion)
fügt einen Bereich von Elementen am Ende hinzu
(öffentliche Elementfunktion)
versucht, ein Element am Ende hinzuzufügen
(öffentliche Elementfunktion)
versucht, ein Element direkt am Ende zu konstruieren
(öffentliche Elementfunktion)
versucht, einen Bereich von Elementen am Ende hinzuzufügen
(öffentliche Elementfunktion)
konstruiert bedingungslos ein Element direkt am Ende
(öffentliche Elementfunktion)
entfernt das letzte Element
(öffentliche Elementfunktion)
erstellt einen std::back_insert_iterator vom aus dem Argument abgeleiteten Typ
(Funktionstemplate)