Range-v3 Range algorithms, views, and actions for the Standard Library
ranges::common_pair< F, S > Struct Template Reference
Inheritance diagram for ranges::common_pair< F, S >:

## Public Member Functions

template<typename F2 , typename S2 >
requires constructible_from<F, F2> && constructible_from<S, S2>
common_pair (F2 &&f2, S2 &&s2) noexcept(std::is_nothrow_constructible< F, F2 >::value &&std::is_nothrow_constructible< S, S2 >::value)

template<typename F2 , typename S2 >
requires constructible_from<F, F2> && constructible_from<S, S2>
common_pair (std::pair< F2, S2 > &&that) noexcept(std::is_nothrow_constructible< F, F2 >::value &&std::is_nothrow_constructible< S, S2 >::value)

template<typename F2 , typename S2 >
requires constructible_from<F, F2 &> && constructible_from<S, S2 &>
common_pair (std::pair< F2, S2 > &that) noexcept(std::is_nothrow_constructible< F, F2 & >::value &&std::is_nothrow_constructible< S, S2 & >::value)

template<typename F2 , typename S2 >
requires constructible_from<F, F2 const &> && constructible_from<S, S2 const &>
common_pair (std::pair< F2, S2 > const &that) noexcept(std::is_nothrow_constructible< F, F2 const & >::value &&std::is_nothrow_constructible< S, S2 const & >::value)

template<typename F2 , typename S2 >
requires constructible_from<F2, F> && constructible_from<S2, S>
operator std::pair< F2, S2 > () &&noexcept(std::is_nothrow_constructible< F2, F >::value &&std::is_nothrow_constructible< S2, S >::value)

template<typename F2 , typename S2 >
requires constructible_from<F2, F &> && constructible_from<S2, S &>
operator std::pair< F2, S2 > () &noexcept(std::is_nothrow_constructible< F2, F & >::value &&std::is_nothrow_constructible< S2, S & >::value)

template<typename F2 , typename S2 >
requires constructible_from<F2, F const &> && constructible_from<S2, S const &>
operator std::pair< F2, S2 > () const &noexcept(std::is_nothrow_constructible< F2, F const & >::value &&std::is_nothrow_constructible< S2, S const & >::value)

template<typename F2 , typename S2 >
requires assignable_from<F const &, F2> && assignable_from<S const &, S2>
common_pair const & operator= (std::pair< F2, S2 > &&that) const noexcept(std::is_nothrow_assignable< F const &, F2 && >::value &&std::is_nothrow_assignable< S const &, S2 && >::value)

template<typename F2 , typename S2 >
requires assignable_from<F &, F2> && assignable_from<S &, S2>
common_pairoperator= (std::pair< F2, S2 > &&that) noexcept(std::is_nothrow_assignable< F &, F2 >::value &&std::is_nothrow_assignable< S &, S2 >::value)

template<typename F2 , typename S2 >
requires assignable_from<F const &, F2 &> && assignable_from<S const &, S2 &>
common_pair const & operator= (std::pair< F2, S2 > &that) const noexcept(std::is_nothrow_assignable< F const &, F2 & >::value &&std::is_nothrow_assignable< S const &, S2 & >::value)

template<typename F2 , typename S2 >
requires assignable_from<F &, F2 &> && assignable_from<S &, S2 &>
common_pairoperator= (std::pair< F2, S2 > &that) noexcept(std::is_nothrow_assignable< F &, F2 & >::value &&std::is_nothrow_assignable< S &, S2 & >::value)

template<typename F2 , typename S2 >
requires assignable_from<F const &, F2 const &> && assignable_from<S const &, S2 const &>
common_pair const & operator= (std::pair< F2, S2 > const &that) const noexcept(std::is_nothrow_assignable< F const &, F2 const & >::value &&std::is_nothrow_assignable< S const &, S2 const & >::value)

template<typename F2 , typename S2 >
requires assignable_from<F &, F2 const &> && assignable_from<S &, S2 const &>
common_pairoperator= (std::pair< F2, S2 > const &that) noexcept(std::is_nothrow_assignable< F &, F2 const & >::value &&std::is_nothrow_assignable< S &, S2 const & >::value)