std::inplace_vector<T,N>::unchecked_push_back
constexpr reference unchecked_push_back( const T& value );
|
(1) | (seit C++26) |
constexpr reference unchecked_push_back( T&& value );
|
(2) | (seit C++26) |
Hängt das angegebene Element value an das Ende des Containers an.
Äquivalent zu: return *try_push_back(std::forward<decltype(value)>(value));
value initialisiert.value wird in das neue Element verschoben.Vor dem Aufruf dieser Funktionen size() < capacity() muss true sein. Andernfalls ist das Verhalten undefiniert.
Es werden keine Iteratoren oder Referenzen ungültig, außer end(), das ungültig wird, wenn die Einfügung erfolgt.
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
|
Dieser Abschnitt ist unvollständig
Grund: Erklären Sie den Zweck dieser API. |
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) |