indigoX
quad< _T1, _T2, _T3, _T4 > Struct Template Reference

#include <indigox/utils/quad.hpp>

Public Types

typedef _T1 first_type
 
typedef _T4 fourth_type
 
typedef _T2 second_type
 
typedef _T3 third_type
 

Public Member Functions

 quad (quad const &)=default
 
 quad (quad &&)=default
 
constexpr quad ()
 
constexpr quad (_T1 const &__t1, _T2 const &__t2, _T3 const &__t3, _T4 const &__t4)
 
template<class _U1 , class _U2 , class _U3 , class _U4 >
constexpr quad (_U1 &&__u1, _U2 &&__u2, _U3 &&__u3, _U4 &&__u4)
 
template<class _U1 , class _U2 , class _U3 , class _U4 >
constexpr quad (quad< _U1, _U2, _U3, _U4 > const &__p)
 
template<class _U1 , class _U2 , class _U3 , class _U4 >
constexpr quad (quad< _U1, _U2, _U3, _U4 > &&__p)
 
quadoperator= (typename std::conditional< std::is_copy_assignable< first_type >::value &&std::is_copy_assignable< second_type >::value &&std::is_copy_assignable< third_type >::value &&std::is_copy_assignable< fourth_type >::value, quad, stdx::typeless >::type const &__p) noexcept(std::is_nothrow_copy_assignable< first_type >::value &&std::is_nothrow_copy_assignable< second_type >::value &&std::is_nothrow_copy_assignable< third_type >::value &&std::is_nothrow_copy_assignable< fourth_type >::value)
 
quadoperator= (typename std::conditional< std::is_move_assignable< first_type >::value &&std::is_move_assignable< second_type >::value &&std::is_move_assignable< third_type >::value &&std::is_move_assignable< fourth_type >::value, quad, stdx::typeless >::type &&__p) noexcept(std::is_nothrow_move_assignable< first_type >::value &&std::is_nothrow_move_assignable< second_type >::value &&std::is_nothrow_move_assignable< third_type >::value &&std::is_nothrow_move_assignable< fourth_type >::value)
 
template<typename Archive >
void serialise (Archive &archive, const uint32_t)
 
void swap (quad &__p) noexcept(std::is_nothrow_swappable< first_type >::value &&std::is_nothrow_swappable< second_type >::value &&std::is_nothrow_swappable< third_type >::value &&std::is_nothrow_swappable< fourth_type >::value)
 

Public Attributes

_T1 first
 
_T4 fourth
 
_T2 second
 
_T3 third
 

Member Typedef Documentation

◆ first_type

typedef _T1 first_type

◆ fourth_type

typedef _T4 fourth_type

◆ second_type

typedef _T2 second_type

◆ third_type

typedef _T3 third_type

Constructor & Destructor Documentation

◆ quad() [1/7]

quad ( quad< _T1, _T2, _T3, _T4 > const &  )
default

◆ quad() [2/7]

quad ( quad< _T1, _T2, _T3, _T4 > &&  )
default

◆ quad() [3/7]

constexpr quad ( )
inline

◆ quad() [4/7]

constexpr quad ( _T1 const &  __t1,
_T2 const &  __t2,
_T3 const &  __t3,
_T4 const &  __t4 
)
inline

◆ quad() [5/7]

constexpr quad ( _U1 &&  __u1,
_U2 &&  __u2,
_U3 &&  __u3,
_U4 &&  __u4 
)
inline

◆ quad() [6/7]

constexpr quad ( quad< _U1, _U2, _U3, _U4 > const &  __p)
inline

◆ quad() [7/7]

constexpr quad ( quad< _U1, _U2, _U3, _U4 > &&  __p)
inline

Member Function Documentation

◆ operator=() [1/2]

quad& operator= ( typename std::conditional< std::is_copy_assignable< first_type >::value &&std::is_copy_assignable< second_type >::value &&std::is_copy_assignable< third_type >::value &&std::is_copy_assignable< fourth_type >::value, quad< _T1, _T2, _T3, _T4 >, stdx::typeless >::type const &  __p)
inlinenoexcept

◆ operator=() [2/2]

quad& operator= ( typename std::conditional< std::is_move_assignable< first_type >::value &&std::is_move_assignable< second_type >::value &&std::is_move_assignable< third_type >::value &&std::is_move_assignable< fourth_type >::value, quad< _T1, _T2, _T3, _T4 >, stdx::typeless >::type &&  __p)
inlinenoexcept

◆ serialise()

void serialise ( Archive &  archive,
const uint32_t   
)
inline

◆ swap()

void swap ( quad< _T1, _T2, _T3, _T4 > &  __p)
inlinenoexcept

Member Data Documentation

◆ first

◆ fourth

◆ second

◆ third


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