std::pair(3) | C++ Standard Libary | std::pair(3) |
NAME¶
std::pair - std::pair
Synopsis¶
Defined in header <utility>
template<
class T1,
class T2
> struct pair;
std::pair is a class 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 neither T1 nor T2 is a possibly cv-qualified class type with non-trivial
destructor, or array thereof, the destructor of pair is trivial.
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¶
constructor constructs new pair
(public member function)
operator= assigns the contents
(public member function)
swap swaps the contents
(C++11) (public member function)
Non-member functions¶
make_pair creates a pair object of type, defined by the argument
types
(function template)
operator==
operator!=
operator<
operator<=
operator>
operator>= lexicographically compares the values in the pair
operator<=> (function template)
(removed in C++20)
(removed in C++20)
(removed in C++20)
(removed in C++20)
(removed in C++20)
(C++20)
std::swap(std::pair) specializes the std::swap algorithm
(C++11) (function template)
get(std::pair) accesses an element of a pair
(C++11) (function template)
Helper classes¶
std::tuple_size<std::pair> obtains the size of a pair
(C++11) (class template specialization)
std::tuple_element<std::pair> obtains the type of the elements of pair
(C++11) (class template specialization)
std::basic_common_reference<std::pair> determines the common reference
type of two
(C++23) pairs
(class template specialization)
std::common_type<std::pair> determines the common type of two pairs
(C++23) (class template specialization)
std::formatter<std::pair> formatting support for pair
(C++23) (class template specialization)
Deduction guides(since C++17)
Defect reports
The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.
DR Applied to Behavior as published Correct behavior
LWG 2796 C++98 triviality of the destructor of pair was specified
unspecified
See also¶
tuple implements fixed size container, which holds elements of
possibly different
(C++11) types
(class template)
tie creates a tuple of lvalue references or unpacks a tuple into individual
(C++11) objects
(function template)
2024.06.10 | http://cppreference.com |