std::multiset<Key,Compare,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 multiset de *ranges::begin(rg). De lo contrario, el comportamiento no está definido.
|
[editar] Valor de retorno
(Ninguno)
[editar] Complejidad
N·log(a.size() + N), donde N
es ranges::distance(rg).
[editar] 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. |
[editar] Ejemplo
Ejecuta este código
#include <iostream> #include <set> void println(auto, auto const& container) { for (const auto& elem : container) std::cout << elem << ' '; std::cout << '\n'; } int main() { auto container = std::multiset{1, 3, 2, 4}; const auto rg = {-1, 3, -2}; #ifdef __cpp_lib_containers_ranges container.insert_range(rg); #else container.insert(rg.begin(), rg.end()); #endif println("{}", container); }
Salida:
-2 -1 1 2 3 3 4
[editar] Véase también
Inserta elementos o nodos (desde C++17) (función miembro pública) |