
Module: Standard C++ Library Library: General utilities
Does not inherit
A template utility class for pairs of values that may be of different types
#include <utility>
namespace std {
template <class T1, class T2>
struct pair;
}
The pair class is a template for encapsulating pairs of values that may be of different types.
namespace std {
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);
Creates a pair by deducing and returning the types of x and y.
ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 20.2.2
Copyright (c) 1994-2006 Rogue Wave Software, a Quovadx Division.
Licensed under the Apache License, Version 2.0.
Contact Rogue Wave about documentation or support issues. You can also seek help from other developers through the Apache stdcxx community (see below).