Utility Class
A template for heterogeneous pairs of values.
Data Types |
first_type second_type |
Member Functions | |
make_pair() operator!=() operator>() operator>=() operator<() operator<=() |
operator==() |
#include <utility> template <class T1, class T2> struct pair ;
The pair class is a template for encapsulating pairs of values that may be of different types.
template <class T1, class T2> struct pair { typedef T1 first_type; typedef T2 second_type; T1 first; T2 second; pair(); pair (const T1&, const T2&); template <class V, class U> pair (const pair <V, U>& p); ~pair(); }; template <class T1, class T2> bool operator== (const pair<T1, T2>&, const pair T1, T2>&); template <class T1, class T2> bool operator!= (const pair<T1, T2>&, const pair T1, T2>&); template <class T1, class T2> bool operator< (const pair<T1, T2>&, const pair T1, T2>&); template <class T1, class T2> bool operator> (const pair<T1, T2>&, const pair T1, T2>&); template <class T1, class T2> bool operator<= (const pair<T1, T2>&, const pair T1, T2>&); template <class T1, class T2> bool operator>= (const pair<T1, T2>&, const pair T1, T2>&); template <class T1, class T2> pair<T1,T2> make_pair (const T1&, const T2&);
first_type
Type of the first element in a pair.
second_type
Type of the second element in a pair.
pair ();
Default constructor. Initializes first and second using their default constructors.
pair (const T1& x, const T2& y);
Creates a pair of types T1 and T2, making the necessary conversions in x and y.
template <class V, class U> pair (const pair <V, U>& p);
Copies first and second from the corresponding elements of p.
~pair ();
template <class T1, class T2> bool operator== (const pair<T1, T2>& x, const pair T1, T2>& y);
Returns true if (x.first == y.first && x.second == y.second) is true. Otherwise it returns false.
template <class T1, class T2> bool operator!= (const pair<T1, T2>& x, const pair T1, T2>& y);
Returns !(x==y).
template <class T1, class T2> bool operator< (const pair<T1, T2>& x, const pair T1, T2>& y);
Returns true if (x.first < y.first || (!(y.first < x.first) && x.second < y.second)) is true. Otherwise it returns false.
template <class T1, class T2> bool operator> (const pair<T1, T2>& x, const pair T1, T2>& y);
Returns y < x.
template <class T1, class T2> bool operator<= (const pair<T1, T2>& x, const pair T1, T2>& y);
Returns !(y < x).
template <class T1, class T2> bool operator>= (const pair<T1, T2>& x, const pair T1, T2>& y);
Returns !(x < y).
template <class T1, class T2> pair<T1,T2> make_pair(x,y);
make_pair(x,y) creates a pair by deducing and returning the types of x and y.