std::pair (3) - Linux Manuals

std::pair: std::pair

NAME

std::pair - std::pair

Synopsis


Defined in header <utility>
template<
class T1,
class T2
> struct pair;


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.


If std::is_trivially_destructible_v<T1> && std::is_trivially_destructible_v<T2> is true, the destructor of pair is trivial. (since C++17)

Template parameters


T1, T2 - the types of the elements that the pair stores.

Member types


Member type Definition
first_type T1
second_type T2

Member objects


Member name Type
first T1
second T2

Member functions


              constructs new pair
constructor (public member function)
              assigns the contents
operator= (public member function)


swap swaps the contents
              (public member function)
(C++11)

Non-member functions


                     creates a pair object of type, defined by the argument types
make_pair (function template)


operator==
operator!= lexicographically compares the values in the pair
operator< (function template)
operator<=
operator>
operator>=


std::swap(std::pair) specializes the std::swap algorithm
                     (function template)
(C++11)


std::get(std::pair) accesses an element of a pair
                     (function template)
(C++11)

Helper classes


std::tuple_size<std::pair> obtains the size of a pair
                              (class template specialization)
(C++11)


std::tuple_element<std::pair> obtains the type of the elements of pair
                              (class template specialization)
(C++11)


Deduction_guides(since C++17)

See also


tuple implements fixed size container, which holds elements of possibly different types
        (class template)
(C++11)
        creates a tuple of lvalue references or unpacks a tuple into individual objects
tie (function template)