std::inplace_vector<T,N>:: unchecked_emplace_back
|
template
<
class
...
Args
>
constexpr reference unchecked_emplace_back ( Args && ... args ) ; |
(desde C++26) | |
Agrega un nuevo elemento al final del contenedor. Normalmente, el elemento se construye utilizando placement- new para construir el elemento in-situ en la ubicación proporcionada por el contenedor. Los argumentos args... se reenvían al constructor como std:: forward < Args > ( args ) ... . Equivalente a return * try_emplace_back ( std:: forward < Args > ( args ) ... ) ; .
Antes de la llamada a esta función 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.
Contenidos |
Parámetros
| args | - | argumentos a reenviar al constructor del elemento |
| Requisitos de tipo | ||
-
T
debe ser
EmplaceConstructible
en
inplace_vector
desde
std::
forward
<
Args
>
(
args
)
...
.
|
||
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, esta función no tiene efecto ( garantía fuerte de seguridad de excepciones ).
Notas
|
Esta sección está incompleta
Razón: Explicar el propósito de esta API. |
Ejemplo
#include <inplace_vector> #include <new> #include <print> #include <string> #include <utility> int main() { std::inplace_vector<std::pair<std::string, std::string>, 2> fauna; std::string dog{"\N{DOG}"}; fauna.unchecked_emplace_back("\N{CAT}", dog); fauna.unchecked_emplace_back("\N{CAT}", std::move(dog)); std::println("fauna = {}", fauna); // fauna.unchecked_emplace_back("BUG", "BUG"); // comportamiento indefinido: sin espacio }
Salida:
fauna = [("🐈", "🐕"), ("🐈", "🐕")]
Véase también
|
construye un elemento in-situ al final
(función miembro pública) |
|
|
añade un rango de elementos al final
(función miembro pública) |
|
|
añade un elemento al final
(función miembro pública) |
|
|
intenta añadir un elemento al final
(función miembro pública) |
|
|
intenta construir un elemento in-situ al final
(función miembro pública) |
|
|
intenta añadir un rango de elementos al final
(función miembro pública) |
|
|
añade incondicionalmente un elemento 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) |