# std::pair< _T1, _T2 > Struct Template Reference

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

Inheritance diagram for std::pair< _T1, _T2 >:

List of all members.

## Public Types

- typedef _T1 first_type
- typedef _T2 second_type

## Public Member Functions

- template<class _U1 , class _U2 > pair & operator= (pair< _U1, _U2 > &&__p)
- pair & operator= (pair &&__p)
- template<class _U1 , class _Arg0 , class... _Args> pair (_U1 &&__x, _Arg0 &&__arg0, _Args &&...__args)
- template<class _U1 , class _U2 > pair (pair< _U1, _U2 > &&__p)
- template<class _U1 , class _U2 > pair (const pair< _U1, _U2 > &__p)
- pair (pair &&__p)
- template<class _U1 , class _U2 > pair (_U1 &&__x, _U2 &&__y)
- pair (const _T1 &__a, const _T2 &__b)
- pair ()
- void swap (pair &&__p)

## Public Attributes

- _T1 first
- _T2 second

## Detailed Description

### template<class _T1, class _T2>
struct std::pair< _T1, _T2 >

pair holds two objects of arbitrary type.

Definition at line 67 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 69 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 70 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 79 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 83 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 99 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 72 of file stl_pair.h.

Referenced by std::_Temporary_buffer< _ForwardIterator, _Tp >::_Temporary_buffer(), std::set< _Key, _Compare, _Alloc >::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 73 of file stl_pair.h.

Referenced by std::_Temporary_buffer< _ForwardIterator, _Tp >::_Temporary_buffer(), std::set< _Key, _Compare, _Alloc >::insert(), and std::operator==().

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

- stl_pair.h