std::multimap::insert

iterator insert( const value_type& value );
(1)
template< class P >
iterator insert( P&& value );
(2) (since C++11)
iterator insert( value_type&& value );
(2) (since C++17)
(3)
iterator insert( iterator hint, const value_type& value );
(until C++11)
iterator insert( const_iterator hint, const value_type& value );
(since C++11)
template< class P >
iterator insert( const_iterator hint, P&& value );
(4) (since C++11)
iterator insert( const_iterator hint, value_type&& value );
(4) (since C++17)
template< class InputIt >
void insert( InputIt first, InputIt last );
(5)
void insert( std::initializer_list<value_type> ilist );
(6) (since C++11)

Inserts element(s) into the container.

1-2) inserts value. If the container has elements with equivalent key, inserts at the upper bound of that range.(since C++11) The overload (2) is equivalent to emplace(std::forward<P>(value)) and only participates in overload resolution if std::is_constructible<value_type, P&&>::value == true.
3-4) inserts value in the position as close as possible, just prior(since C++11), to hint. The overload (4) is equivalent to emplace_hint(hint, std::forward<P>(value)) and only participates in overload resolution if std::is_constructible<value_type, P&&>::value == true.
5) inserts elements from range [first, last).
6) inserts elements from initializer list ilist.

No iterators or references are invalidated.

Parameters

hint -
iterator, used as a suggestion as to where to start the search (until C++11)
iterator to the position before which the new element will be inserted (since C++11)
value - element value to insert
first, last - range of elements to insert
ilist - initializer list to insert the values from
Type requirements
- InputIt must meet the requirements of InputIterator.

Return value

1-4) Returns an iterator to the inserted element.
5-6) (none)

Exceptions

1-4) If an exception is thrown by any operation, the insertion has no effect.

Complexity

1-2) Logarithmic in the size of the container, O(log(size())).
3-4) Amortized constant if the insertion happens in the position just after the hint, logarithmic in the size of the container otherwise.
(until C++11)
3-4) Amortized constant if the insertion happens in the position just before the hint, logarithmic in the size of the container otherwise.
(since C++11)
5-6) O(N*log(size() + N)), where N is the number of elements to insert.

See also

(C++11)
constructs element in-place
(public member function)
(C++11)
constructs elements in-place using a hint
(public member function)
doc_CPP
2016-10-11 10:05:00
Comments
Leave a Comment

Please login to continue.