std::hive<T,Allocator>::assign
From cppreference.net
void assign( size_type count, const T& value );
|
(1) | (since C++26) |
template< class InputIt >
void assign( InputIt first, InputIt last );
|
(2) | (since C++26) |
void assign( std::initializer_list<T> ilist );
|
(3) | (since C++11) |
Replaces the contents of the container.
1) Replaces the contents with
count copies of value value.2) Replaces the contents with copies of those in the range
[first, last). If either argument is an iterator into
*this, the behavior is undefined.
This overload participates in overload resolution only if InputIt satisfies LegacyInputIterator.3) Replaces the contents with the elements from
ilist.
Parameters
| count | - | the new size of the container |
| value | - | the value to initialize elements of the container with |
| first, last | - | the pair of iterators defining the source range of elements to copy |
| ilist | - | std::initializer_list to copy the values from |
Complexity
1) Linear in
count.2) Linear in distance between
first and last.3) Linear in
ilist.size().Example
The following code uses assign to add several characters to a std::hive<char>:
Run this code
#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();
}
Output:
a a a a a
b b b b b b
C + + 2 6
See also
| assigns a range of values to the container (public member function) | |
| assigns values to the container (public member function) |