Standard C++ Library
Copyright 1998, Rogue Wave Software, Inc.
NAME
pair
- A template for heterogeneous pairs of values.
SYNOPSIS
#include <utility>
template <class T1, class T2>
struct pair ;
DESCRIPTION
The pair class is a template for encapsulating pairs of
values that may be of different types.
INTERFACE
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&);
TYPES
first_type
Type of the first element in a pair.
second_type
Type of the second element in a pair.
CONSTRUCTORS
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.
DESTRUCTORS
~pair ();
NON-MEMBER OPERATORS
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).
NON-MEMBER FUNCTIONS
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.