std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>::insert
From cppreference.com
< cpp | container | flat multimap
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Containers library
(C++17)
(C++11)
(C++26)
(C++26)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++23)
(C++23)
(C++20)
(C++23)
Tables
std::flat_multimap
flat_multimap::insert
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)
iterator insert( P&& x );
template< class P >
iterator insert( const_iterator pos, P&& x );
(6)
(since C++23)
iterator insert( const_iterator pos, P&& x );
template< class InputIt >
void insert( InputIt first, InputIt last );
(7)
(since C++23)
void insert( InputIt first, InputIt last );
template< class InputIt >
void insert( std::sorted_equivalent_t, InputIt first, InputIt last );
(8)
(since C++23)
void insert( std::sorted_equivalent_t, InputIt first, InputIt last );
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
[edit] Parameters
pos
-
an iterator to the position before which the new element will be inserted
value
-
an element value to insert
first, last
-
the pair of iterators defining the source 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.
[edit] Return value
1-6) An iterator to the inserted element.
7-10) (none)
[edit] 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
Reason: double check cases 7-10
[edit] Complexity
1-6) Linear in
size()
.8) Linear in
size()
.[edit] Example
This section is incomplete
Reason: no example
Reason: no example