std::map::insert
From cppreference.com
                    
                                        
                    
                    
                                                            
                    
|   std::pair<iterator,bool> insert( const value_type& value );  | 
(1) | |
|   template <class P>  std::pair<iterator,bool> insert( P&& value );  | 
(2) | (since C++11) | 
| (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) | 
|   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, if the container doesn't already contain an element with an equivalent key.
1-2) inserts 
value. 3-4) inserts 
value in the position as close as possible, just prior(since C++11), to hint.5) inserts elements from range 
[first, last).6) inserts elements from initializer list 
ilist.No iterators or references are invalidated.
Contents | 
[edit] Parameters
| hint | - | iterator, used as a suggestion as to where to insert the content | 
| 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.
 | ||
[edit] Return value
1-2) Returns a pair consisting of an iterator to the inserted element (or to the element that prevented the insertion) and a bool denoting whether the insertion took place.
3-4) Returns an iterator to the inserted element, or to the element that prevented the insertion.
5-6) (none)
[edit] Exceptions
1-4) If an exception is thrown by any operation, the insertion has no effect.
| This section is incomplete Reason: cases 5-6  | 
[edit] 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.[edit] See also
|    (C++11)  | 
   constructs element in-place   (public member function)  | 
|    (C++11)  | 
   constructs elements in-place using a hint   (public member function)  |