|
template<typename U , typename V > |
requires constructible_from< First, U > &&constexpr constructible_from< Second, V > | compressed_pair (U &&u, V &&v) noexcept(noexcept(First((U &&) u)) &&noexcept(Second((V &&) v))) |
|
constexpr First & | first () & |
|
constexpr First && | first () && |
|
constexpr const First & | first () const & |
|
template<typename F , typename S > |
requires convertible_to< First const &, F > &&constexpr convertible_to< Second const &, S > | operator std::pair< F, S > () const |
|
constexpr Second & | second () & |
|
constexpr Second && | second () && |
|
constexpr const Second & | second () const & |
|
constexpr | box (E &&e) noexcept(std::is_nothrow_constructible< First, E >::value) requires(!defer |
|
constexpr | box (E &&e) noexcept(std::is_nothrow_constructible< First, E >::value) requires(!defer |
|
constexpr First && | get () &&noexcept |
|
constexpr First & | get () &noexcept |
|
constexpr const First && | get () const &&noexcept |
|
constexpr const First & | get () const &noexcept |
|
constexpr | box (E &&e) noexcept(std::is_nothrow_constructible< Second, E >::value) requires(!defer |
|
constexpr | box (E &&e) noexcept(std::is_nothrow_constructible< Second, E >::value) requires(!defer |
|
constexpr Second && | get () &&noexcept |
|
constexpr Second & | get () &noexcept |
|
constexpr const Second && | get () const &&noexcept |
|
constexpr const Second & | get () const &noexcept |
|