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 | - |
| ||||
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) |
Please login to continue.