|
template<typename U1 = T1, typename U2 = T2, typename = typename std::enable_if<std::is_default_constructible<U1>::value && std::is_default_constructible<U2>::value>::type> |
constexpr | pair () noexcept(noexcept(U1()) &&noexcept(U2())) |
|
constexpr | pair (std::pair< T1, T2 > const &o) noexcept(noexcept(T1(std::declval< T1 const & >())) &&noexcept(T2(std::declval< T2 const & >()))) |
|
constexpr | pair (std::pair< T1, T2 > &&o) noexcept(noexcept(T1(std::move(std::declval< T1 && >()))) &&noexcept(T2(std::move(std::declval< T2 && >())))) |
|
constexpr | pair (T1 &&a, T2 &&b) noexcept(noexcept(T1(std::move(std::declval< T1 && >()))) &&noexcept(T2(std::move(std::declval< T2 && >())))) |
|
template<typename U1 , typename U2 > |
constexpr | pair (U1 &&a, U2 &&b) noexcept(noexcept(T1(std::forward< U1 >(std::declval< U1 && >()))) &&noexcept(T2(std::forward< U2 >(std::declval< U2 && >())))) |
|
template<typename... U1, typename... U2> |
constexpr | pair (std::piecewise_construct_t, std::tuple< U1... > a, std::tuple< U2... > b) noexcept(noexcept(pair(std::declval< std::tuple< U1... > & >(), std::declval< std::tuple< U2... > & >(), ROBIN_HOOD_STD::index_sequence_for< U1... >(), ROBIN_HOOD_STD::index_sequence_for< U2... >()))) |
|
template<typename... U1, size_t... I1, typename... U2, size_t... I2> |
| pair (std::tuple< U1... > &a, std::tuple< U2... > &b, ROBIN_HOOD_STD::index_sequence< I1... >, ROBIN_HOOD_STD::index_sequence< I2... >) noexcept(noexcept(T1(std::forward< U1 >(std::get< I1 >(std::declval< std::tuple< U1... > & >()))...)) &&noexcept(T2(std::forward< U2 >(std::get< I2 >(std::declval< std::tuple< U2... > & >()))...))) |
|
void | swap (pair< T1, T2 > &o) noexcept((detail::swappable::nothrow< T1 >::value) &&(detail::swappable::nothrow< T2 >::value)) |
|
template<typename T1, typename T2>
struct robin_hood::pair< T1, T2 >
Definition at line 582 of file robin_hood.h.