LRez  v2.1
Public Types | Public Member Functions | Public Attributes | List of all members
robin_hood::pair< T1, T2 > Struct Template Reference

#include <robin_hood.h>

Public Types

using first_type = T1
 
using second_type = T2
 

Public Member Functions

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))
 

Public Attributes

T1 first
 
T2 second
 

Detailed Description

template<typename T1, typename T2>
struct robin_hood::pair< T1, T2 >

Definition at line 581 of file robin_hood.h.

Member Typedef Documentation

◆ first_type

template<typename T1 , typename T2 >
using robin_hood::pair< T1, T2 >::first_type = T1

Definition at line 582 of file robin_hood.h.

◆ second_type

template<typename T1 , typename T2 >
using robin_hood::pair< T1, T2 >::second_type = T2

Definition at line 583 of file robin_hood.h.

Constructor & Destructor Documentation

◆ pair() [1/7]

template<typename T1 , typename T2 >
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 robin_hood::pair< T1, T2 >::pair ( )
inlineconstexprnoexcept

Definition at line 588 of file robin_hood.h.

◆ pair() [2/7]

template<typename T1 , typename T2 >
constexpr robin_hood::pair< T1, T2 >::pair ( std::pair< T1, T2 > const &  o)
inlineexplicitconstexprnoexcept

Definition at line 593 of file robin_hood.h.

◆ pair() [3/7]

template<typename T1 , typename T2 >
constexpr robin_hood::pair< T1, T2 >::pair ( std::pair< T1, T2 > &&  o)
inlineexplicitconstexprnoexcept

Definition at line 599 of file robin_hood.h.

◆ pair() [4/7]

template<typename T1 , typename T2 >
constexpr robin_hood::pair< T1, T2 >::pair ( T1 &&  a,
T2 &&  b 
)
inlineconstexprnoexcept

Definition at line 604 of file robin_hood.h.

◆ pair() [5/7]

template<typename T1 , typename T2 >
template<typename U1 , typename U2 >
constexpr robin_hood::pair< T1, T2 >::pair ( U1 &&  a,
U2 &&  b 
)
inlineconstexprnoexcept

Definition at line 610 of file robin_hood.h.

◆ pair() [6/7]

template<typename T1 , typename T2 >
template<typename... U1, typename... U2>
constexpr robin_hood::pair< T1, T2 >::pair ( std::piecewise_construct_t  ,
std::tuple< U1... >  a,
std::tuple< U2... >  b 
)
inlineconstexprnoexcept

Definition at line 621 of file robin_hood.h.

◆ pair() [7/7]

template<typename T1 , typename T2 >
template<typename... U1, size_t... I1, typename... U2, size_t... I2>
robin_hood::pair< T1, T2 >::pair ( std::tuple< U1... > &  a,
std::tuple< U2... > &  b,
ROBIN_HOOD_STD::index_sequence< I1... >  ,
ROBIN_HOOD_STD::index_sequence< I2... >   
)
inlinenoexcept

Definition at line 633 of file robin_hood.h.

Member Function Documentation

◆ swap()

template<typename T1 , typename T2 >
void robin_hood::pair< T1, T2 >::swap ( pair< T1, T2 > &  o)
inlinenoexcept

Definition at line 647 of file robin_hood.h.

Member Data Documentation

◆ first

template<typename T1 , typename T2 >
T1 robin_hood::pair< T1, T2 >::first

Definition at line 654 of file robin_hood.h.

◆ second

template<typename T1 , typename T2 >
T2 robin_hood::pair< T1, T2 >::second

Definition at line 655 of file robin_hood.h.


The documentation for this struct was generated from the following file: