|
| BSTTuple () noexcept(std::is_nothrow_default_constructible_v< first_type > &&std::is_nothrow_default_constructible_v< second_type >) |
|
| explicit (!std::is_convertible_v< const first_type &, first_type >||!std::is_convertible_v< const second_type &, second_type >) BSTTuple(const first_type &a_first |
|
const second_type &a_second | noexcept (std::is_nothrow_copy_constructible_v< first_type > &&std::is_nothrow_copy_constructible_v< second_type >) |
|
template<class U1 , class U2 > |
| explicit (!std::is_convertible_v< U1 &&, first_type >||!std::is_convertible_v< U2 &&, second_type >) BSTTuple(U1 &&a_first |
|
U2 &&a_second | noexcept (std::is_nothrow_constructible_v< first_type, U1 && > &&std::is_nothrow_constructible_v< second_type, U2 && >) |
|
template<class U1 , class U2 > |
| explicit (!std::is_convertible_v< const U1 &, first_type >||!std::is_convertible_v< const U2 &, second_type >) BSTTuple(const BSTTuple< U1 |
|
U2 &a_rhs | noexcept (std::is_nothrow_constructible_v< first_type, const U1 & > &&std::is_nothrow_constructible_v< second_type, const U2 & >) |
|
template<class U1 , class U2 > |
| explicit (!std::is_convertible_v< U1 &&, first_type >||!std::is_convertible_v< U2 &&, second_type >) BSTTuple(BSTTuple< U1 |
|
U2 &&a_rhs | noexcept (std::is_nothrow_constructible_v< first_type, U1 && > &&std::is_nothrow_constructible_v< second_type, U2 && >) |
|
template<class... Args1, class... Args2> |
| BSTTuple (std::piecewise_construct_t, std::tuple< Args1... > a_firstArgs, std::tuple< Args2... > a_secondArgs) |
|
| BSTTuple (const BSTTuple &)=default |
|
| BSTTuple (BSTTuple &&)=default |
|
| ~BSTTuple ()=default |
|
BSTTuple & | operator= (const BSTTuple &a_rhs) noexcept(std::is_nothrow_copy_assignable_v< first_type > &&std::is_nothrow_copy_assignable_v< second_type >) |
|
template<class U1 , class U2 >
requires (std::is_assignable_v<first_type&, const U1&>&& std::is_assignable_v<second_type&, const U2&>) |
BSTTuple & | operator= (const BSTTuple< U1, U2 > &a_rhs) noexcept(std::is_nothrow_assignable_v< first_type &, const U1 & > &&std::is_nothrow_assignable_v< second_type &, const U2 & >) |
|
BSTTuple & | operator= (BSTTuple &&a_rhs) noexcept(std::is_nothrow_move_assignable_v< first_type > &&std::is_nothrow_move_assignable_v< second_type >) |
|
template<class U1 , class U2 >
requires (std::is_assignable_v<first_type&, U1>&& std::is_assignable_v<second_type&, U2>) |
BSTTuple & | operator= (BSTTuple< U1, U2 > &&a_rhs) noexcept(std::is_nothrow_assignable_v< first_type &, U1 > &&std::is_nothrow_assignable_v< second_type &, U2 >) |
|
| TES_HEAP_REDEFINE_NEW () |
|
void | swap (BSTTuple &a_rhs) noexcept(std::is_nothrow_swappable_v< first_type > &&std::is_nothrow_swappable_v< second_type >) |
|