std::pair (3) - Linux Manuals

std::pair: std::pair


std::pair - std::pair


Defined in header <utility>
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)

Non-member functions

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

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

std::swap(std::pair) specializes the std::swap algorithm
                     (function template)

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

Helper classes

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

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

Deduction_guides(since C++17)

See also

tuple 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
tie (function template)