std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::insert_range - cppreference.com
De cppreference.com
|
|
(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.
Parámetros
Valor de retorno
(Ninguno)
Complejidad
Caso promedio O(N), donde N es ranges::distance(rg), en el pero caso O(N·(a.size() + 1)).
Notas
| Macro de Prueba de característica | Valor | Estándar | Comentario |
|---|---|---|---|
__cpp_lib_containers_ranges |
202202L |
(C++23) | Construcción e inserción consciente de rangos. |
Ejemplo
#include <iostream> #include <unordered_map> #include <utility> void println(auto, auto const& container) { for (const auto& [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}}; const auto 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}
Véase también
| Inserta elementos o nodos (desde C++17) (función miembro pública) [editar] |