std::unordered_multiset<Key,Hash,KeyEqual,Allocator>::insert
De cppreference.com
< cpp | container | unordered multiset
iterator insert( const value_type& value ); |
(1) | (desde C++11) |
iterator insert( value_type&& value ); |
(2) | (desde C++11) |
iterator insert( const_iterator hint, const value_type& value ); |
(3) | (desde C++11) |
iterator insert( const_iterator hint, value_type&& value ); |
(4) | (desde C++11) |
template< class InputIt > void insert( InputIt first, InputIt last ); |
(5) | (desde C++11) |
void insert( std::initializer_list<value_type> ilist ); |
(6) | (desde C++11) |
iterator insert( node_type&& nh ); |
(7) | (desde C++17) |
iterator insert( const_iterator hint, node_type&& nh ); |
(8) | (desde C++17) |
Inserta uno o más elementos en el contenedor.
1-2) Inserta
value
.3-4) Inserta
value
, utilizando hint
como una sugerencia no obligatoria de dónde iniciar la búsqueda.5) Inserta elementos del rango
[first, last)
.6) Inserta elementos de la lista de inicializadores
ilist
.7) Si
nh
es un identificador de nodo vacío, no hace nada. De lo contrario, inserta el elemento propiedad de nh
en el contenedory devuelve un iterador que apunta al elemento insertado. El comportamiento no está definido si nh
no está vacío y get_allocator() != nh.get_allocator().8) Si
nh
es un identificador de nodo vacío, no hace nada y devuelve el iterador al final. De lo contrario, inserta el elemento propiedad de nh
en el contenedor, y devuelve el iterador que apunta al elemento con clave equivalente a nh.key() El elemento se inserta lo más cerca posible de hint
. El comportamiento no está definido si nh
no está vacío y get_allocator() != nh.get_allocator().Si ocurre una redispersión (rehashing) debido a la inserción, se invalidan todos los iteradores. De lo contrario, no se afectan los iteradores. Las referencias no se invalidan. La dispersión vuelve a ocurrir solo si el nuevo número de elementos es mayor que max_load_factor()*bucket_count(). Si la inserción tuvo éxito, se invalidan los punteros y referencias al elemento obtenido mientras se alberga en el identificador de nodo (node handle), y los punteros y referencias a ese elemento antes que se extrajera se vuelven válidas. (desde C++17)
Contenido |
[editar] Parámetros
hint | - | Un iterador usado como sugerencia para dónde insertar el contenido. |
value | - | El valor del elemento a insertar. |
first, last | - | El rango de elementos a insertar. |
ilist | - | La lista de inicializadores de la cual insertar los valores. |
nh | - | Un identificador de nodo compatible. |
Requisitos de tipo | ||
-InputIt debe satisfacer los requisitos de InputIterator.
|
[editar] Valor de retorno
1-4) Devuelve un iterador al elemento insertado.
5-6) (Ninguno)
7,8) Un iterador al final si
nh
estaba vacío, un iterador que apunta al elemento insertado de lo contrario.[editar] Excepciones
1-4) Si alguna operación lanza una excepción, la inserción no tiene ningún efecto.
Esta sección está incompleta Razón: casos 5-6 |
[editar] Complejidad
1-4) O(1) en el caso promedio; O(size()) en el peor de los casos.
5-6) O(N) en el caso promedio, donde N es el número de elementos a insertar; O(N*size()+N) en el peor de los casos.
7-8) O(1) en el caso promedio; O(size()) en el peor de los casos.
[editar] Véase también
(C++11) |
Construye el elemento en el sitio. (función miembro pública) |
(C++11) |
Construye elementos en el sitio utilizando una pista. (función miembro pública) |