Espacios de nombres
Variantes
Acciones

std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::insert_range

De cppreference.com
 
 
 
 
template< rango-compatible-con-contenedores<value_type> R >
void insert_range( R&& rg );
(desde C++23)

Inserta una copia de cada elemento en el rango rg.

Cada iterador en el rango rg se desreferencia exactamente una vez. El comportamiento no está definido si rg se superpone con el contenedor.


Contenido

[editar]Parámetros

rg - Un rango compatible con contenedores, es decir, un input_range cuyos elementos son convertibles a T
Requisitos de tipo
-
value_type debe ser ConstruiblePorEmplazamiento en unordered_multimap de *ranges::begin(rg). De lo contrario, el comportamiento no está definido.

[editar]Valor de retorno

(Ninguno)

[editar]Complejidad

Caso promedio O(N), donde N es ranges::distance(rg), en el pero caso O((a.size()+1)).

[editar]Notas

Macro de Prueba de característicaValorEstándarComentario
__cpp_lib_containers_ranges202202L(C++23)Construcción e inserción consciente de rangos.

[editar]Ejemplo

#include <iostream>#include <unordered_map>#include <utility>   void println(auto, autoconst& container){for(constauto&[key, value]: container)std::cout<<'{'<< key <<','<< value <<'}'<<' ';std::cout<<'\n';}   int main(){auto container =std::unordered_multimap{std::pair{1, 11}, {3, 33}, {2, 22}, {4, 44}};constauto rg ={std::pair{-1, -11}, {3, -33}, {-2, -22}};#ifdef __cpp_lib_containers_ranges container.insert_range(rg);#else container.insert(rg.begin(), rg.end());#endif println("{}", container);}

Posible salida:

{1,11} {-2,-22} {3,-33} {3,33} {2,22} {-1,-11} {4,44}

[editar]Véase también

(C++11)
Inserta elementos o nodos(desde C++17)
(función miembro pública)[editar]
close