| 
| 
constexpr  | pair () | 
|   | Construct from defaults. 
  | 
|   | 
| 
constexpr  | pair (const T1 &value1) | 
|   | Constructs only the first element, default the second. 
  | 
|   | 
| 
constexpr  | pair (const T1 &value1, const T2 &value2) | 
|   | Construct from specified values. 
  | 
|   | 
| 
constexpr  | pair (const pair &rhs) | 
|   | Copy constructor. 
  | 
|   | 
| 
constexpr  | pair (pair &&rhs) | 
|   | Move constructor. 
  | 
|   | 
| 
template<class U1  = T1, class U2  = T2, class  = enable_if_t<is_constructible_v<T1, U1> && is_constructible_v<T2, U2>>>  | 
| constexpr  | pair (U1 &&value1, U2 &&value2) | 
|   | 
| 
template<class P , class  = enable_if_t<conjunction_v<                bool_constant<pair_like<P>>                , bool_constant<!Internal::is_subrange<P>>                , bool_constant<Internal::is_pair_like_constructible_for_t<pair, P>>            >>>  | 
| constexpr  | pair (P &&pairLike) | 
|   | 
| 
template<class U1 , class U2 , class  = enable_if_t<is_constructible_v<T1, const U1&> && is_constructible_v<T2, const U2&>>>  | 
| constexpr  | pair (const pair< U1, U2 > &rhs) | 
|   | 
| 
template<class U1 , class U2 , class  = enable_if_t<is_constructible_v<T1, U1> && is_constructible_v<T2, U2>>>  | 
| constexpr  | pair (pair< U1, U2 > &&rhs) | 
|   | 
| 
template<class U1 , class U2 , class  = enable_if_t<is_constructible_v<T1, U1&> && is_constructible_v<T2, U2&>>>  | 
| constexpr  | pair (pair< U1, U2 > &rhs) | 
|   | 
| 
template<class U1 , class U2 , class  = enable_if_t<is_constructible_v<T1, U1> && is_constructible_v<T2, U2>>>  | 
| constexpr  | pair (const pair< U1, U2 > &&rhs) | 
|   | 
| 
template<template< class... > class TupleType, class... Args1, class... Args2>  | 
| constexpr  | pair (piecewise_construct_t, TupleType< Args1... > firstArgs, TupleType< Args2... > secondArgs) | 
|   | 
| 
template<template< class... > class TupleType, class... Args1, class... Args2, size_t... I1, size_t... I2>  | 
| constexpr  | pair (piecewise_construct_t, TupleType< Args1... > &firstArgs, TupleType< Args2... > &secondArgs, index_sequence< I1... >, index_sequence< I2... >) | 
|   | 
| 
constexpr pair &  | operator= (const pair &rhs) | 
|   | 
| 
constexpr const pair &  | operator= (const pair &rhs) const | 
|   | 
| 
constexpr pair &  | operator= (pair &&rhs) | 
|   | 
| 
constexpr const pair &  | operator= (pair &&rhs) const | 
|   | 
| 
template<class U1 , class U2 >  | 
| constexpr auto  | operator= (const pair< U1, U2 > &rhs) -> enable_if_t< is_assignable_v< T1 &, const U1 & > &&is_assignable_v< T2 &, const U2 & >, pair & > | 
|   | 
| 
template<class U1 , class U2 >  | 
| constexpr auto  | operator= (const pair< U1, U2 > &rhs) const -> enable_if_t< is_assignable_v< const T1 &, const U1 & > &&is_assignable_v< const T2 &, const U2 & >, const pair & > | 
|   | 
| 
template<class U1 , class U2 >  | 
| constexpr auto  | operator= (pair< U1, U2 > &&rhs) -> enable_if_t< is_assignable_v< T1 &, U1 > &&is_assignable_v< T2 &, U2 >, pair & > | 
|   | 
| 
template<class U1 , class U2 >  | 
| constexpr auto  | operator= (pair< U1, U2 > &&rhs) const -> enable_if_t< is_assignable_v< const T1 &, U1 > &&is_assignable_v< const T2 &, U2 >, const pair & > | 
|   | 
| 
template<class P >  | 
| constexpr auto  | operator= (P &&pairLike) -> enable_if_t< conjunction_v< bool_constant< pair_like< P > >, bool_constant<!AZStd::same_as< pair, remove_cvref_t< P > > >, bool_constant<!Internal::is_subrange< P > >, bool_constant< Internal::is_pair_like_assignable_for_t< pair, P > > >, pair & > | 
|   | 
| 
template<class P >  | 
| constexpr auto  | operator= (P &&pairLike) const -> enable_if_t< conjunction_v< bool_constant< pair_like< P > >, bool_constant<!AZStd::same_as< pair, remove_cvref_t< P > > >, bool_constant<!Internal::is_subrange< P > >, bool_constant< Internal::is_pair_like_assignable_for_t< const pair, P > > >, const pair & > | 
|   | 
| 
constexpr auto  | swap (pair &rhs) | 
|   | 
| 
constexpr auto  | swap (const pair &rhs) const | 
|   |