std::inplace_vector<T,N>::unchecked_push_back
De es.cppreference.net
constexpr reference unchecked_push_back( const T& value );
|
(1) | (desde C++26) |
constexpr reference unchecked_push_back( T&& value );
|
(2) | (desde C++26) |
Añade el elemento dado value al final del contenedor.
Equivalente a: return *try_push_back(std::forward<decltype(value)>(value));
1) El nuevo elemento se inicializa como una copia de
value.2)
value se mueve al nuevo elemento.Antes de la llamada a estas funciones size() < capacity() debe ser true. De lo contrario, el comportamiento es indefinido.
No se invalidan iteradores ni referencias, excepto end(), que se invalida si ocurre la inserción.
Parámetros
| value | - | el valor del elemento a añadir |
| Requisitos de tipo | ||
-
T
debe cumplir con los requisitos de
CopyInsertable
para usar la sobrecarga (1).
|
||
-
T
debe cumplir con los requisitos de
MoveInsertable
para usar la sobrecarga (2).
|
||
Valor de retorno
back()
, es decir, una referencia al elemento insertado.
Complejidad
Constante.
Excepciones
Cualquier excepción lanzada por la inicialización del elemento insertado.
Si se lanza una excepción por cualquier razón, estas funciones no tienen efecto ( strong exception safety guarantee ).
Notas
|
Esta sección está incompleta
Razón: Explicar el propósito de esta API. |
Ejemplo
Ejecutar este código
#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"); // sobrecarga (1) assert(r1 == "cat" and fauna.size() == 1); auto& r2 = fauna.unchecked_push_back(std::move(dog)); // sobrecarga (2) assert(r2 == "dog" and fauna.size() == 2); assert(fauna[0] == "cat" and fauna[1] == "dog"); // fauna.unchecked_push_back("bug"); // comportamiento indefinido: no hay espacio }
Véase también
|
añade un elemento al final
(función miembro pública) |
|
|
construye un elemento en el lugar al final
(función miembro pública) |
|
|
añade un rango de elementos al final
(función miembro pública) |
|
|
intenta añadir un elemento al final
(función miembro pública) |
|
|
intenta construir un elemento en el lugar al final
(función miembro pública) |
|
|
intenta añadir un rango de elementos al final
(función miembro pública) |
|
|
construye incondicionalmente un elemento en el lugar al final
(función miembro pública) |
|
|
elimina el último elemento
(función miembro pública) |
|
|
crea un
std::back_insert_iterator
del tipo inferido del argumento
(plantilla de función) |