std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>:: insert
|
Definido en el encabezado
<unordered_map>
|
||
|
iterator insert
(
const
value_type
&
value
)
;
|
(1) | (desde C++11) |
|
iterator insert
(
value_type
&&
value
)
;
|
(2) | (desde C++17) |
|
template
<
class
P
>
iterator insert ( P && value ) ; |
(3) | (desde C++11) |
|
iterator insert
(
const_iterator hint,
const
value_type
&
value
)
;
|
(4) | (desde C++11) |
|
iterator insert
(
const_iterator hint, value_type
&&
value
)
;
|
(5) | (desde C++17) |
|
template
<
class
P
>
iterator insert ( const_iterator hint, P && value ) ; |
(6) | (desde C++11) |
|
template
<
class
InputIt
>
void insert ( InputIt first, InputIt last ) ; |
(7) | (desde C++11) |
|
void
insert
(
std::
initializer_list
<
value_type
>
ilist
)
;
|
(8) | (desde C++11) |
|
iterator insert
(
node_type
&&
nh
)
;
|
(9) | (desde C++17) |
|
iterator insert
(
const_iterator hint, node_type
&&
nh
)
;
|
(10) | (desde C++17) |
Inserta elemento(s) en el contenedor.
[
first
,
last
)
.
[
first
,
last
)
no es un
rango válido
, o
first
y/o
last
son iteradores dentro de
*
this
, el comportamiento es indefinido.
Si después de la operación el nuevo número de elementos es mayor que el antiguo
max_load_factor()
*
bucket_count()
se produce una redistribución.
Si ocurre redistribución (debido a la inserción), todos los iteradores quedan invalidados. En caso contrario (sin redistribución), los iteradores no se invalidan.
Si la inserción es exitosa, los punteros y referencias al elemento obtenidos mientras se mantiene en el manejador de nodo se invalidan, y los punteros y referencias obtenidos para ese elemento antes de ser extraído pasan a ser válidos.
(desde C++17)
Contenidos |
Parámetros
| hint | - | iterador, utilizado como sugerencia sobre dónde insertar el contenido |
| value | - | valor del elemento a insertar |
| first, last | - | el par de iteradores que define el rango fuente de elementos a insertar |
| ilist | - | lista de inicializadores de la cual insertar los valores |
| nh | - | un manejador de nodo compatible |
| Requisitos de tipo | ||
-
InputIt
debe cumplir con los requisitos de
LegacyInputIterator
.
|
||
Valor de retorno
Excepciones
Complejidad
O(1)
, caso peor
O(size())
.
O(N)
, donde N es el número de elementos a insertar. Caso peor:
O(N * size() + N)
.
O(1)
, caso peor
O(size())
.
Ejemplo
|
Esta sección está incompleta
Motivo: sin ejemplo |
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 2005 | C++11 |
las sobrecargas
(3,6)
solo participarían en la resolución de sobrecarga
si
P
es convertible implícitamente a
value_type
|
solo participa si
value_type
es construible desde
P&&
|
Véase también
|
construye elemento in-situ
(función miembro pública) |
|
|
construye elementos in-situ usando una pista
(función miembro pública) |
|
|
crea un
std::insert_iterator
del tipo inferido del argumento
(plantilla de función) |