|
| common_pair () noexcept(std::is_nothrow_default_constructible< F >::value &&std::is_nothrow_default_constructible< S >::value) |
|
template<typename F2 , typename S2 , requires = (Constructible<F, F2>() && Constructible<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<F, F2 &>() && Constructible<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<F, F2 const &>() && Constructible<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<F, F2>() && Constructible<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<F2, F &>() && Constructible<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<F2, F const &>() && Constructible<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 = (Constructible<F2, F>() && Constructible<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 = (Assignable<F &, F2 &>() && Assignable<S &, S2 &>())> |
common_pair & | operator= (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<F &, F2 const &>() && Assignable<S &, S2 const &>())> |
common_pair & | operator= (std::pair< F2, S2 > const &that) noexcept(std::is_nothrow_assignable< F &, F2 const &>::value &&std::is_nothrow_assignable< S &, S2 const &>::value) |
|
template<typename F2 , typename S2 , requires = (Assignable<F &, F2>() && Assignable<S &, S2>())> |
common_pair & | operator= (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<F const &, F2 &>() && Assignable<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<F const &, F2 const &>() && Assignable<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<F const &, F2 &&>() && Assignable<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) |
|