# std::pair< T1, T2 > Struct Template Reference

pair holds two objects of arbitrary type. More...

`#include <stl_pair.h>`

Inheritance diagram for std::pair< T1, T2 >:

[legend]
List of all members.

## Public Types

typedef T1 | first_type
| `first_type` is the first bound type
typedef T2 | second_type
| `second_type` is the second bound type

## Public Member Functions

| pair ()
| pair (const T1 &a, const T2 &__b)
template<class U1, class U2> | pair (const pair< U1, U2 > &__p)

## Public Attributes

T1 | first
| `first` is a copy of the first object
T2 | second
| `second` is a copy of the second object

## Detailed Description

### template<class T1, class T2>
struct std::pair< T1, T2 >

pair holds two objects of arbitrary type.

Definition at line 68 of file stl_pair.h.

## Member Typedef Documentation

template<class T1, class T2>
typedef T1 std::pair< T1, T2 >::first_type

| `first_type` is the first bound type Definition at line 70 of file stl_pair.h.

template<class T1, class T2>
typedef T2 std::pair< T1, T2 >::second_type

| `second_type` is the second bound type Definition at line 71 of file stl_pair.h.

## Constructor & Destructor Documentation

template<class T1, class T2>
std::pair< T1, T2 >::pair | ( |  | ) | `[inline]`

| The default constructor creates `first` and `second` using their respective default constructors. Definition at line 80 of file stl_pair.h.

template<class T1, class T2>
std::pair< T1, T2 >::pair | ( | const T1 & | a,
|  | const T2 & | __b
| ) | `[inline]`

| Two objects may be passed to a `pair` constructor to be copied. Definition at line 84 of file stl_pair.h.

template<class T1, class T2>
template<class U1, class U2>
std::pair< T1, T2 >::pair | ( | const pair< U1, U2 > & | __p | ) | `[inline]`

| There is also a templated copy ctor for the `pair` class itself. Definition at line 89 of file stl_pair.h.

## Member Data Documentation

template<class T1, class T2>
T1 std::pair< T1, T2 >::first

| `first` is a copy of the first object Definition at line 73 of file stl_pair.h. Referenced by std::set< Key, Compare, Allocator >::insert(), and std::operator==().

template<class T1, class T2>
T2 std::pair< T1, T2 >::second

| `second` is a copy of the second object Definition at line 74 of file stl_pair.h. Referenced by std::set< Key, Compare, Allocator >::insert(), and std::operator==().

The documentation for this struct was generated from the following file:

- stl_pair.h