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

List of all members.

## Detailed Description

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

Definition at line 68 of file stl_pair.h.

## Public Types

- typedef _T1 first_type
- typedef _T2 second_type

## Public Member Functions

- template<class _U1, class _U2> pair (const pair< _U1, _U2 > &__p)
- pair (const _T1 &__a, const _T2 &__b)
- pair ()

## Public Attributes

- _T1 first
- _T2 second

## 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::tr1::__pair_get< 0 >::__const_get(), std::tr1::__pair_get< 0 >::__get(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_can_advance(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_valid_range(), std::_Temporary_buffer< _ForwardIterator, _Tp >::_Temporary_buffer(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::count(), std::__debug::set< _Key, _Compare, _Allocator >::equal_range(), std::__debug::multiset< _Key, _Compare, _Allocator >::equal_range(), std::__debug::multimap< _Key, _Tp, _Compare, _Allocator >::equal_range(), std::__debug::map< _Key, _Tp, _Compare, _Allocator >::equal_range(), __gnu_cxx::__debug::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_cxx::__debug::hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_cxx::__debug::hash_multimap< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_cxx::__debug::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::equal_range(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::erase(), std::__debug::multiset< _Key, _Compare, _Allocator >::erase(), std::__debug::multimap< _Key, _Tp, _Compare, _Allocator >::erase(), __gnu_cxx::__debug::hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc >::erase(), __gnu_cxx::__debug::hash_multimap< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::erase(), std::set< _Key, _Compare, _Allocator >::insert(), std::__debug::set< _Key, _Compare, _Allocator >::insert(), std::__debug::map< _Key, _Tp, _Compare, _Allocator >::insert(), std::tr1::_Hashtable< _Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys >::insert(), __gnu_cxx::__debug::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert(), __gnu_cxx::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert(), __gnu_cxx::__debug::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::insert(), __gnu_cxx::__debug::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), __gnu_cxx::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), __gnu_cxx::__debug::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), std::multimap< _Key, _Tp, _Compare, _Alloc >::value_compare::operator()(), std::map< _Key, _Tp, _Compare, _Alloc >::value_compare::operator()(), 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::tr1::__pair_get< 1 >::__const_get(), std::tr1::__pair_get< 1 >::__get(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_can_advance(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_valid_range(), std::_Temporary_buffer< _ForwardIterator, _Tp >::_Temporary_buffer(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::count(), std::__debug::set< _Key, _Compare, _Allocator >::equal_range(), std::__debug::multiset< _Key, _Compare, _Allocator >::equal_range(), std::__debug::multimap< _Key, _Tp, _Compare, _Allocator >::equal_range(), std::__debug::map< _Key, _Tp, _Compare, _Allocator >::equal_range(), __gnu_cxx::__debug::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_cxx::__debug::hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_cxx::__debug::hash_multimap< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::equal_range(), __gnu_cxx::__debug::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::equal_range(), std::_Rb_tree< _Key, _Val, _KeyOfValue, _Compare, _Alloc >::erase(), std::__debug::multiset< _Key, _Compare, _Allocator >::erase(), std::__debug::multimap< _Key, _Tp, _Compare, _Allocator >::erase(), __gnu_cxx::__debug::hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc >::erase(), __gnu_cxx::__debug::hash_multimap< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::erase(), std::set< _Key, _Compare, _Allocator >::insert(), std::__debug::set< _Key, _Compare, _Allocator >::insert(), std::__debug::map< _Key, _Tp, _Compare, _Allocator >::insert(), std::tr1::_Hashtable< _Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys >::insert(), __gnu_cxx::__debug::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert(), __gnu_cxx::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert(), __gnu_cxx::__debug::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::insert(), __gnu_cxx::__debug::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), __gnu_cxx::hash_set< _Value, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), __gnu_cxx::__debug::hash_map< _Value, _Tp, _HashFcn, _EqualKey, _Alloc >::insert_noresize(), and std::operator==().

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

- stl_pair.h