Namespaces
Variants

std::hive<T,Allocator>::assign

From cppreference.com
 
 
 
 
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 [firstlast).

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 [firstlast) 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) [edit]
assigns values to the container
(public member function) [edit]