std::hive<T,Allocator>::insert_range
template< /*container-compatible-range*/<T> R > void insert_range( R&& rg ); | (начиная с C++26) |
Вставляет копии элементов из rg в hive в неуказанные позиции и в неуказанном порядке.
Каждый итератор в диапазоне rg разыменовывается ровно один раз. Для каждого вставленного элемента конструируется ровно один объект типа T.
Если rg и *this пересекаются, поведение не определено.
Если вставляется элемент, итератор end() становится недействительным.
Параметры
| rg | - | диапазон, совместимый с контейнером, то есть input_range, элементы которого можно преобразовать в T |
| Требования к типам | ||
-T должен удовлетворять требованиям EmplaceConstructible для создания в hive из *ranges::begin(rg). В противном случае поведение не определено. |
||
Сложность
Линейная относительно количества вставляемых элементов.
Пример
#include <hive>
#include <print>
#include <vector>
int main()
{
auto hive = std::hive{1, 2, 3, 4};
const auto rg = std::vector{-1, -2, -3};
hive.erase(hive.begin());
std::println("{}", hive);
hive.insert_range(rg);
std::println("{}", hive);
}
Возможный вывод:
[2, 3, 4] [-1, 2, 3, 4, -2, -3]
См. также
| вставляет элементы (открытая функция-член) |
|
| конструирует элемент на месте (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/hive/insert_range