Phi
Public Types | Public Member Functions | Public Attributes | List of all members
pair< FirstT, SecondT > Struct Template Reference

Public Types

using this_type = pair< FirstT, SecondT >
 
using first_type = FirstT
 
using second_type = SecondT
 

Public Member Functions

 pair (pair const &)=default
 
 pair (pair &&)=default
 
template<typename enable_if< enable_explicit_constructor< const FirstT &, const SecondT &>>::type * = nullptr>
PHI_CONSTEXPR pair (const FirstT &first_arg, const SecondT &second_arg) PHI_NOEXCEPT_EXPR(enable_nothrow_copy_constructor)
 
template<typename enable_if< enable_implicit_constructor< const FirstT &, const SecondT &>>::type * = nullptr>
PHI_CONSTEXPR pair (const FirstT &first_arg, const SecondT &second_arg) PHI_NOEXCEPT_EXPR(enable_nothrow_copy_constructor)
 
template<typename OtherFirstT = FirstT, typename OtherSecondT = SecondT, typename enable_if< enable_explicit_constructor< OtherFirstT, OtherSecondT >()>::type * = nullptr>
PHI_CONSTEXPR pair (OtherFirstT &&other_first, OtherSecondT &&other_second) PHI_NOEXCEPT_EXPR(is_nothrow_constructible< FirstT
 
pairoperator= (pair &&)=default
 
PHI_CONSTEXPR pairoperator= (typename conditional< is_copy_assignable< FirstT >::value &&is_copy_assignable< SecondT >::value, pair, nat >::type const &other_pair) PHI_NOEXCEPT_EXPR(is_nothrow_copy_assignable< first_type >
 
PHI_CONSTEXPR pairoperator= (typename conditional< is_move_assignable< first_type >::value &&is_move_assignable< second_type >::value, pair, nat >::type &&other_pair) PHI_NOEXCEPT_EXPR(is_nothrow_move_assignable< FirstT >
 
PHI_CONSTEXPR void swap (pair &other_pair) PHI_NOEXCEPT_EXPR(is_nothrow_swappable< FirstT >
 
PHI_CONSTEXPR void flip () PHI_NOEXCEPT_EXPR(is_nothrow_swappable< FirstT >
 
PHI_NODISCARD PHI_CONSTEXPR pair< SecondT, FirstT > as_flipped () PHI_NOEXCEPT_EXPR(enable_nothrow_copy_constructor)
 

Public Attributes

PHI_CONSTEXPR OtherFirstT ::value second
 
FirstT first
 
SecondT second
 

Member Data Documentation

◆ second

template<typename FirstT, typename SecondT>
SecondT pair< FirstT, SecondT >::second
Initial value:
{forward<OtherSecondT>(other_second)}
{}
template <typename OtherFirstT = FirstT, typename OtherSecondT = SecondT,
nullptr>
PHI_CONSTEXPR pair(OtherFirstT&& other_first, OtherSecondT&& other_second)
: first{forward<OtherFirstT>(other_first)}

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