Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::compressed_pair< First, Second > Struct Template Reference
+ Inheritance diagram for ranges::compressed_pair< First, Second >:

Public Types

using first_type = First
 
using second_type = Second
 

Public Member Functions

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 Firstfirst () &
 
constexpr First && first () &&
 
constexpr const Firstfirst () 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 Secondsecond () &
 
constexpr Second && second () &&
 
constexpr const Secondsecond () const &
 
- Public Member Functions inherited from ranges::box< First, meta::size_t< 0 > >
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 Firstget () &noexcept
 
constexpr const First && get () const &&noexcept
 
constexpr const Firstget () const &noexcept
 
- Public Member Functions inherited from ranges::box< Second, meta::size_t< 1 > >
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 Secondget () &noexcept
 
constexpr const Second && get () const &&noexcept
 
constexpr const Secondget () const &noexcept