std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>:: insert
From cppreference.net
<
cpp
|
container
|
flat multimap
|
iterator insert
(
const
value_type
&
value
)
;
|
(1) | (начиная с C++23) |
|
iterator insert
(
value_type
&&
value
)
;
|
(2) | (начиная с C++23) |
|
iterator insert
(
const_iterator pos,
const
value_type
&
value
)
;
|
(3) | (начиная с C++23) |
|
iterator insert
(
const_iterator pos, value_type
&&
value
)
;
|
(4) | (начиная с C++23) |
|
template
<
class
P
>
iterator insert ( P && x ) ; |
(5) | (начиная с C++23) |
|
template
<
class
P
>
iterator insert ( const_iterator pos, P && x ) ; |
(6) | (начиная с C++23) |
|
template
<
class
InputIt
>
void insert ( InputIt first, InputIt last ) ; |
(7) | (начиная с C++23) |
|
template
<
class
InputIt
>
void insert ( std:: sorted_equivalent_t , InputIt first, InputIt last ) ; |
(8) | (начиная с C++23) |
|
void
insert
(
std::
initializer_list
<
key_type
>
ilist
)
;
|
(9) | (начиная с C++23) |
|
void
insert
(
std::
sorted_equivalent_t
s,
std::
initializer_list
<
key_type
>
ilist
)
;
|
(10) | (начиная с C++23) |
Вставляет элемент(ы) в контейнер.
1)
Вставляет
value
. Эквивалентно
return
emplace
(
value
)
;
.
2)
Вставляет
value
. Эквивалентно
return
emplace
(
std
::
move
(
value
)
)
;
.
3)
Вставляет
value
в позицию, максимально близкую к позиции непосредственно перед
pos
. Эквивалентно
return
emplace_hint
(
pos, value
)
;
.
4)
Вставляет
value
в позицию, максимально близкую к позиции непосредственно перед
pos
. Эквивалентно
return
emplace_hint
(
pos, std
::
move
(
value
)
)
;
.
5)
Вставляет
x
в
*
this
как если бы с помощью
emplace
(
std::
forward
<
P
>
(
x
)
)
;
. Эта перегрузка участвует в разрешении перегрузки только если
std::
is_constructible_v
<
pair
<
key_type, mapped_type
>
, P
>
равно
true
.
6)
Вставляет
x
в
*
this
в позицию, максимально близкую к позиции непосредственно перед
pos
. Эквивалентно
return
emplace_hint
(
position,
std::
forward
<
P
>
(
x
)
)
;
. Эта перегрузка участвует в разрешении перегрузки только если
std::
is_constructible_v
<
pair
<
key_type, mapped_type
>
, P
>
равно
true
.
7)
Вставляет элементы из диапазона
[
first
,
last
)
как если бы последовательно выполнялись следующие операции:
-
Добавляет элементы в
cкак если бы с помощью
for ( ; first ! = last ; ++ first )
{
value_type value = * first ;
c. keys . insert ( c. keys . end ( ) , std :: move ( value. first ) ) ;
c. values . insert ( c. values . end ( ) , std :: move ( value. second ) ) ;
} -
Сортирует диапазон вновь вставленных элементов относительно
value_comp. - Объединяет полученный отсортированный диапазон и отсортированный диапазон существующих элементов в единый отсортированный диапазон.
Может выделять память во время операции слияния на месте.
8)
Вставляет элементы из диапазона
[
first
,
last
)
как если бы выполнялись следующие операции последовательно:
-
Добавляет элементы в
cкак если бы с помощью
for ( ; first ! = last ; ++ first )
{
value_type value = * first ;
c. keys . insert ( c. keys . end ( ) , std :: move ( value. first ) ) ;
c. values . insert ( c. values . end ( ) , std :: move ( value. second ) ) ;
} - Объединяет отсортированный диапазон вновь добавленных элементов и отсортированный диапазон существующих элементов в единый отсортированный диапазон.
Может выделять память во время операции слияния на месте.
9)
Вставляет элементы из списка инициализации
ilist
. Эквивалентно
insert
(
ilist.
begin
(
)
, ilist.
end
(
)
)
;
.
10)
Вставляет элементы из списка инициализации
ilist
. Эквивалентно
insert
(
s, ilist.
begin
(
)
, ilist.
end
(
)
)
;
.
| Информация о недействительности итераторов скопирована отсюда |
Содержание |
Параметры
| pos | - | итератор на позицию, перед которой будет вставлен новый элемент |
| value | - | значение элемента для вставки |
| first, last | - | пара итераторов, определяющая исходный диапазон элементов для вставки |
| ilist | - | список инициализации, из которого будут вставлены значения |
| x | - | значение любого типа, которое можно прозрачно сравнивать с ключом |
| s | - |
тег устранения неоднозначности, указывающий, что входная последовательность отсортирована (относительно
value_comp()
)
|
| Требования к типам | ||
-
InputIt
должен удовлетворять требованиям
LegacyInputIterator
.
|
||
Возвращаемое значение
1-6)
Итератор на вставленный элемент.
7-10)
(нет)
Исключения
1-6)
Если при выполнении любой операции возникает исключение, вставка не производится.
7-10)
Гарантия безопасности исключений отсутствует. (?)
|
Этот раздел не завершён
Причина: перепроверьте случаи 7-10 |
Сложность
1-6)
Линейно от
size()
.
8)
Линейно по
size()
.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
создаёт элемент на месте
(public member function) |
|
|
создаёт элементы на месте с использованием подсказки
(public member function) |
|
|
создаёт
std::insert_iterator
типа, выведенного из аргумента
(function template) |