std::hive<T,Allocator>::assign
De es.cppreference.net
void assign( size_type count, const T& value );
|
(1) | (desde C++26) |
template< class InputIt >
void assign( InputIt first, InputIt last );
|
(2) | (desde C++26) |
void assign( std::initializer_list<T> ilist );
|
(3) | (desde C++11) |
Reemplaza el contenido del contenedor.
1) Reemplaza el contenido con
count copias del valor value.2) Reemplaza el contenido con copias de aquellos en el rango
[first, last). Si algún argumento es un iterador dentro de
*this, el comportamiento no está definido.
Esta sobrecarga participa en la resolución de sobrecarga solo si InputIt satisface LegacyInputIterator.3) Reemplaza el contenido con los elementos de
ilist.
Parámetros
| count | - | el nuevo tamaño del contenedor |
| value | - | el valor con el que inicializar los elementos del contenedor |
| first, last | - | el par de iteradores que definen el rango fuente de elementos a copiar |
| ilist | - | std::initializer_list del que copiar los valores |
Complejidad
1) Lineal en
count.2) Lineal en la distancia entre
first y last.3) Lineal en
ilist.size().Ejemplo
El siguiente código utiliza assign para agregar varios caracteres a un std::hive<char>:
Ejecutar este código
#include <hive>
#include <iostream>
#include <string>
int main()
{
std::hive<char> characters;
auto print_hive = [&]()
{
for (char c : characters)
std::cout << c << ' ';
std::cout << '\n';
};
characters.assign(5, 'a');
print_hive();
const std::string extra(6, 'b');
characters.assign(extra.begin(), extra.end());
print_hive();
characters.assign({'C', '+', '+', '2', '6'});
print_hive();
}
Salida:
a a a a a
b b b b b b
C + + 2 6
Véase también
| asigna un rango de valores al contenedor (función miembro pública) | |
| asigna valores al contenedor (función miembro pública) |