std::set<Key,Compare,Allocator>::insert_range - cppreference.com
De cppreference.com
|
|
(desde C++23) | |
Inserta una copia de cada elemento en el rango rg si y solo si no hay ningún elemento con clave equivalente a la clave de ese elemento en *this.
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
N·log(a.size() + N), donde N es ranges::distance(rg).
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 <...> void println(auto, auto const& container) { for (const auto& elem : container) std::cout << elem << ' '; std::cout << '\n'; } int main() { auto container = std::set{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:
Véase también
| Inserta elementos o nodos (desde C++17) (función miembro pública) [editar] |