std::pair
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  
<utility>
  | 
||
|   template< 
    class T1,  | 
||
std::pair is a struct template that provides a way to store two heterogeneous objects as a single unit. A pair is a specific case of a std::tuple with two elements.
Contents | 
[edit] Template parameters
| T1, T2 | - | the types of the elements that the pair stores. | 
[edit] Member types
| Member type | Definition | 
  first_type
 | 
  T1
 | 
  second_type
 | 
  T2
 | 
[edit] Member objects
| Member name | Type | 
  first
 | 
  T1
 | 
  second
 | 
  T2
 | 
[edit] Member functions
|   constructs new pair  (public member function)  | 
|
|    assigns the contents  (public member function)  | 
|
|    (C++11) 
 | 
   swaps the contents   (public member function)  | 
[edit] Non-member functions
   creates a pair object of type, defined by the argument types (function template)  | 
|
|    lexicographically compares the values in the pair   (function template)  | 
|
|    (C++11) 
 | 
   specializes the std::swap algorithm   (function template)  | 
|    (C++11) 
 | 
   accesses an element of a pair  (function template)  | 
[edit] Helper classes
|    (C++11) 
 | 
  obtains the size of a pair  (class template specialization)  | 
|    (C++11) 
 | 
   obtains the type of the elements of pair  (class template specialization)  | 
[edit] See also
|    (C++11) 
 | 
   implements fixed size container, which holds elements of possibly different types   (class template)  | 
   creates a tuple of lvalue references or unpacks a tuple into individual objects (function template)  |