Spec-Zone.ru › C++

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

void assign( size_type count, const T& value );
(1) (начиная с C++26)
template< class InputIt >
void assign( InputIt first, InputIt last );
(2) (начиная с C++26)
void assign( std::initializer_list<T> ilist );
(3) (начиная с C++26)

Заменяет содержимое контейнера.

1) Заменяет содержимое count копиями значения value.
2) Заменяет содержимое копиями элементов диапазона [first, last).

Если хотя бы один аргумент является итератором в *this, поведение не определено.
Эта перегрузка участвует в разрешении перегрузки, только если InputIt удовлетворяет требованиям LegacyInputIterator.

Каждый итератор в диапазоне [first, last) разыменовывается ровно один раз.
3) Заменяет содержимое элементами из ilist.

Все итераторы, указатели и ссылки на элементы контейнера становятся недействительными.

Параметры

count - новый размер контейнера
value - значение, которым инициализируются элементы контейнера
first, last - пара итераторов, задающая исходный диапазон элементов для копирования
ilist - список инициализации, из которого копируются значения

Сложность

1) Линейная относительно count.
2) Линейная относительно расстояния между first и last.
3) Линейная относительно ilist.size().

Пример

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);
}

Вывод:

[5, 5, 5, 5]
[1, 2, 3, 4]
[5, 6, 7, 8]

См. также

assign_range
присваивает контейнеру значения из диапазона
(открытая функция-член)
operator=
присваивает значения контейнеру
(открытая функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/hive/assign

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API