DASH
0.3.0
|
A trivially-copyable implementation of std::pair to be used as element type of DASH containers. More...
#include <Pair.h>
Public Types | |
typedef T1 | first_type |
typedef T2 | second_type |
first_type is the first bound type More... | |
Public Member Functions | |
constexpr | Pair () |
second is a copy of the second object More... | |
constexpr | Pair (const T1 &__a, const T2 &__b) |
Two objects may be passed to a Pair constructor to be copied. More... | |
template<class U1 , class U2 , class = typename std::enable_if< std::is_convertible<const U1&, T1>::value && std::is_convertible<const U2&, T2>::value>::value> | |
constexpr | Pair (const Pair< U1, U2 > &p) |
A Pair might be constructed from another pair iff first and second are convertible. More... | |
constexpr | Pair (const Pair &)=default |
constexpr | Pair (Pair &&)=default |
template<class U1 , class = typename std::enable_if<std::is_convertible<U1, T1>::value>::type> | |
constexpr | Pair (U1 &&x, const T2 &y) |
template<class U2 , class = typename std::enable_if<std::is_convertible<U2, T2>::value>::type> | |
constexpr | Pair (const T1 &x, U2 &&y) |
template<class U1 , class U2 , class = typename std::enable_if<std::is_convertible<U1, T1>::value && std::is_convertible<U2, T2>::value>::type> | |
constexpr | Pair (U1 &&x, U2 &&y) |
template<class U1 , class U2 , class = typename std::enable_if<std::is_convertible<U1, T1>::value && std::is_convertible<U2, T2>::value>::type> | |
constexpr | Pair (Pair< U1, U2 > &&p) |
Pair & | operator= (const Pair &p)=default |
Pair & | operator= (Pair &&p) noexcept(std::is_nothrow_move_assignable< T1 >::value &&std::is_nothrow_move_assignable< T2 >::value)=default |
template<class U1 , class U2 > | |
Pair & | operator= (const Pair< U1, U2 > &p) |
template<class U1 , class U2 > | |
Pair & | operator= (Pair< U1, U2 > &&p) |
void | swap (Pair &p) noexcept(noexcept(swap(first, p.first)) &&noexcept(swap(second, p.second))) |
Public Attributes | |
T1 | first |
second_type is the second bound type More... | |
T2 | second |
first is a copy of the first object More... | |
A trivially-copyable implementation of std::pair to be used as element type of DASH containers.
The implementation was mainly taken and adapted from std_pair.h.
typedef T2 dash::Pair< T1, T2 >::second_type |
|
inline |
second
is a copy of the second object
The default constructor.
Definition at line 33 of file Pair.h.
Referenced by dash::Pair< T1, T2 >::Pair().
|
inline |
|
inline |
A Pair might be constructed from another pair iff first and second are convertible.
Definition at line 52 of file Pair.h.
References dash::Pair< T1, T2 >::first, dash::Pair< T1, T2 >::Pair(), and dash::Pair< T1, T2 >::second.
T1 dash::Pair< T1, T2 >::first |
second_type
is the second bound type
Definition at line 27 of file Pair.h.
Referenced by dash::make_pair(), dash::operator<(), dash::operator==(), and dash::Pair< T1, T2 >::Pair().
T2 dash::Pair< T1, T2 >::second |
first
is a copy of the first object
Definition at line 28 of file Pair.h.
Referenced by dash::make_pair(), dash::operator==(), and dash::Pair< T1, T2 >::Pair().