std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>::insert
From cppreference.com
< cpp | container | flat multimap
iterator insert( const value_type& value ); |
(1) | (since C++23) |
iterator insert( value_type&& value ); |
(2) | (since C++23) |
iterator insert( const_iterator pos, const value_type& value );
|
(3) | (since C++23) |
iterator insert( const_iterator pos, value_type&& value ); |
(4) | (since C++23) |
template
<
class P >
iterator insert( P&& x ) ; |
(5) | (since C++23) |
template
<
class P >
iterator insert( const_iterator pos, P&& x ) ; |
(6) | (since C++23) |
template
<
class InputIt >
void insert( InputIt first, InputIt last ) ; |
(7) | (since C++23) |
template
<
class InputIt >
void insert( std::sorted_equivalent_t, InputIt first, InputIt last ) ; |
(8) | (since C++23) |
void insert(
std::initializer_list
<key_type> ilist )
;
|
(9) | (since C++23) |
void insert(
std::sorted_equivalent_t s, std::initializer_list
<key_type> ilist )
;
|
(10) | (since C++23) |
Inserts element(s) into the container.
1) Inserts value. Equivalent to return emplace(value);
2) Inserts value. Equivalent to
return emplace(std::
move
(value)
)
;
3) Inserts value in the position as close as possible to the position just prior to pos. Equivalent to return emplace_hint(pos, value);
4) Inserts value in the position as close as possible to the position just prior to pos. Equivalent to
return emplace_hint(pos, std::
move
(value)
)
;
5) Inserts
x
into *this as if by
emplace(
std::forward
<P>
(x)
)
;
. This overload participates in overload resolution only if
std::is_constructible_v
<pair<key_type, mapped_type>, P>
is true
6) Inserts
x
into *this in the position as close as possible to the position just prior to pos. Equivalent to
return emplace_hint(position, std::forward
<P>
(x)
)
;
. This overload participates in overload resolution only if
std::is_constructible_v
<pair<key_type, mapped_type>, P>
is true
7) Inserts elements from range
[
first
,
last
)
as if performing the following operations sequentially:
- Adds elements to
c
as if by
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 ) ) ;
} - Sorts the range of newly inserted elements with respect to
value_comp
. - Merges the resulting sorted range and the sorted range of pre-existing elements into a single sorted range.
May allocate memory during the in-place merge operation.
8) Inserts elements from range
[
first
,
last
)
as if performing the following operations sequentially:
- Adds elements to
c
as if by
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 ) ) ;
} - Merges the sorted range of newly added elements and the sorted range of pre-existing elements into a single sorted range.
May allocate memory during the in-place merge operation.
9) Inserts elements from initializer list ilist. Equivalent to
insert(ilist.begin
(
), ilist.end
(
)
)
;
10) Inserts elements from initializer list ilist. Equivalent to
insert(s, ilist.begin
(
), ilist.end
(
)
)
;
Information on iterator invalidation is copied from here |
Parameters
pos | - | an iterator to the position before which the new element will be inserted |
value | - | an element value to insert |
first, last | - | a range of elements to insert |
ilist | - | an initializer list to insert the values from |
x | - | a value of any type that can be transparently compared with a key |
s | - | a disambiguation tag indicating that the input sequence is sorted (with respect to value_comp() )
|
Type requirements | ||
-
InputIt must meet the requirements of LegacyInputIterator
|
Return value
1-6) An iterator to the inserted element.
7-10) (none)
Exceptions
1-6) If an exception is thrown by any operation, the insertion has no effect.
7-10) No exception safety guarantee. (?)
This section is incomplete Reason: double check cases 7-10 |
Complexity
1-6) Linear in
size()
.8) Linear in
size()
.Example
This section is incomplete Reason: no example |
See also
constructs element in-place (public member function) |
|
constructs elements in-place using a hint (public member function) |
|
creates a std::insert_iterator of type inferred from the argument (function template) |