std::hive<T,Allocator>::assign
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++26) |
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.
Each iterator in the range
[first, last) is dereferenced exactly once.
3) Replaces the contents with the elements from
ilist.All iterators, pointers and references to the elements of the container are invalidated.
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 | - | the 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
import std;
int main()
{
std::hive<int> hive;
const std::size_t count{4};
const int value{5};
hive.assign(count, value);
std::println("{}", hive);
const auto list = {1, 2, 3, 4} ;
hive.assign(list.begin(), list.end());
std::println("{}", hive);
hive.assign({5, 6, 7, 8});
std::println("{}", hive);
}
Output:
[5, 5, 5, 5] [1, 2, 3, 4] [5, 6, 7, 8]
See also
| assigns a range of values to the container (public member function) |
|
| assigns values to the container (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/hive/assign