HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SYS_TypeTraits.h File Reference
#include "SYS_TypeDecorate.h"
#include "SYS_Inline.h"
#include <type_traits>
+ Include dependency graph for SYS_TypeTraits.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SYS_BoolConstant< v >
 
struct  SYS_IsIntegral< T >
 
struct  SYS_IsFloatingPoint< T >
 
struct  SYS_IsPod< T >
 
struct  SYS_IsTriviallyRelocatable< T >
 
struct  SYS_IsArithmetic< T >
 
struct  SYS_IsSigned< T >
 Check whether an arithmetic type is signed. More...
 
struct  SYS_IsSame< T, U >
 
struct  SYS_IsSame< T, T >
 
struct  SYS_IsPointer< T >
 
struct  SYS_IsPointer< U * >
 
struct  SYS_TypeIdentity< T >
 
struct  SYS_RemoveCVRef< T >
 
struct  SYS_HasNoCVRef< T >
 
struct  SYS_ConstType< T, MAKE_CONST >
 
struct  SYS_ConstType< T, true >
 
struct  SYS_SelectType< T0, T1, IST1 >
 
struct  SYS_SelectType< T0, T1, true >
 
struct  SYS_EnableIf< B, T >
 
struct  SYS_DisableIf< B, T >
 
struct  SYS_IsFixedArray< T >
 
struct  SYS_FixedArrayElement< T >
 
struct  SYS_FixedArraySize< T >
 
struct  SYS_IsFixedArrayOf< T, E, N >
 
struct  SYS_IsFixedArrayNoCVRef< T[N] >
 
struct  SYS_FixedArrayElementNoCVRef< T[N] >
 
struct  SYS_FixedArraySizeNoCVRef< T[N] >
 

Typedefs

using SYS_FalseType = SYS_BoolConstant< false >
 
using SYS_TrueType = SYS_BoolConstant< true >
 
template<typename... >
using SYS_Void_t = void
 Alternative for C++17's std::void that can be used in C++14: More...
 
template<bool B, typename T = void>
using SYS_EnableIf_t = typename SYS_EnableIf< B, T >::type
 
template<bool B, typename T = void>
using SYS_DisableIf_t = typename SYS_DisableIf< B, T >::type
 
template<typename T >
using SYS_FixedArrayElement_t = typename SYS_FixedArrayElement< T >::type
 
template<typename T >
using SYS_TypeIdentity_t = typename SYS_TypeIdentity< T >::type
 
template<typename T >
using SYS_RemoveCVRef_t = typename SYS_RemoveCVRef< T >::type
 
template<typename T , bool MAKE_CONST>
using SYS_ConstType_t = typename SYS_ConstType< T, MAKE_CONST >::type
 
template<typename T0 , typename T1 , bool IST1>
using SYS_SelectType_t = typename SYS_SelectType< T0, T1, IST1 >::type
 

Variables

template<typename T >
constexpr auto SYS_IsIntegral_v = SYS_IsIntegral< T >::value
 
template<typename T >
constexpr auto SYS_IsFloatingPoint_v = SYS_IsFloatingPoint< T >::value
 
template<typename T >
constexpr auto SYS_IsPod_v = SYS_IsPod< T >::value
 
template<typename T >
constexpr auto SYS_IsTriviallyRelocatable_v = SYS_IsTriviallyRelocatable< T >::value
 
template<typename T >
constexpr auto SYS_IsArithmetic_v = SYS_IsArithmetic< T >::value
 
template<typename T >
constexpr auto SYS_IsSigned_v = SYS_IsSigned< T >::value
 
template<typename T >
constexpr bool SYS_IsFixedArray_v = SYS_IsFixedArray< T >::value
 
template<typename T >
constexpr std::size_t SYS_FixedArraySize_v = SYS_FixedArraySize< T >::value
 
template<typename T , typename E , std::size_t N>
constexpr bool SYS_IsFixedArrayOf_v = SYS_IsFixedArrayOf< T, E, N >::value
 
template<typename T >
constexpr auto SYS_IsPointer_v = SYS_IsPointer< T >::value
 
template<typename T >
constexpr auto SYS_HasNoCVRef_v = SYS_HasNoCVRef< T >::value
 
template<typename T , typename U >
constexpr auto SYS_IsSame_v = SYS_IsSame< T, U >::value
 

Typedef Documentation

template<typename T , bool MAKE_CONST>
using SYS_ConstType_t = typename SYS_ConstType< T, MAKE_CONST >::type

Definition at line 196 of file SYS_TypeTraits.h.

template<bool B, typename T = void>
using SYS_DisableIf_t = typename SYS_DisableIf<B, T>::type

Definition at line 228 of file SYS_TypeTraits.h.

template<bool B, typename T = void>
using SYS_EnableIf_t = typename SYS_EnableIf<B, T>::type

Definition at line 222 of file SYS_TypeTraits.h.

using SYS_FalseType = SYS_BoolConstant< false >

Definition at line 24 of file SYS_TypeTraits.h.

template<typename T >
using SYS_FixedArrayElement_t = typename SYS_FixedArrayElement< T >::type

Definition at line 264 of file SYS_TypeTraits.h.

template<typename T >
using SYS_RemoveCVRef_t = typename SYS_RemoveCVRef< T >::type

Definition at line 163 of file SYS_TypeTraits.h.

template<typename T0 , typename T1 , bool IST1>
using SYS_SelectType_t = typename SYS_SelectType< T0, T1, IST1 >::type

Definition at line 211 of file SYS_TypeTraits.h.

using SYS_TrueType = SYS_BoolConstant< true >

Definition at line 25 of file SYS_TypeTraits.h.

template<typename T >
using SYS_TypeIdentity_t = typename SYS_TypeIdentity< T >::type

Definition at line 149 of file SYS_TypeTraits.h.

template<typename... >
using SYS_Void_t = void

Alternative for C++17's std::void that can be used in C++14:

Definition at line 29 of file SYS_TypeTraits.h.

Variable Documentation

template<typename T >
constexpr std::size_t SYS_FixedArraySize_v = SYS_FixedArraySize< T >::value

Definition at line 277 of file SYS_TypeTraits.h.

template<typename T >
constexpr auto SYS_HasNoCVRef_v = SYS_HasNoCVRef< T >::value

Definition at line 179 of file SYS_TypeTraits.h.

template<typename T >
constexpr auto SYS_IsArithmetic_v = SYS_IsArithmetic< T >::value

Definition at line 95 of file SYS_TypeTraits.h.

template<typename T >
constexpr bool SYS_IsFixedArray_v = SYS_IsFixedArray< T >::value

Definition at line 252 of file SYS_TypeTraits.h.

template<typename T , typename E , std::size_t N>
constexpr bool SYS_IsFixedArrayOf_v = SYS_IsFixedArrayOf< T, E, N >::value

Definition at line 295 of file SYS_TypeTraits.h.

template<typename T >
constexpr auto SYS_IsFloatingPoint_v = SYS_IsFloatingPoint< T >::value

Definition at line 53 of file SYS_TypeTraits.h.

template<typename T >
constexpr auto SYS_IsIntegral_v = SYS_IsIntegral< T >::value

Definition at line 41 of file SYS_TypeTraits.h.

template<typename T >
constexpr auto SYS_IsPod_v = SYS_IsPod< T >::value

Definition at line 65 of file SYS_TypeTraits.h.

template<typename T >
constexpr auto SYS_IsPointer_v = SYS_IsPointer< T >::value

Definition at line 136 of file SYS_TypeTraits.h.

template<typename T , typename U >
constexpr auto SYS_IsSame_v = SYS_IsSame< T, U >::value

Definition at line 116 of file SYS_TypeTraits.h.

template<typename T >
constexpr auto SYS_IsSigned_v = SYS_IsSigned< T >::value

Definition at line 102 of file SYS_TypeTraits.h.

template<typename T >
constexpr auto SYS_IsTriviallyRelocatable_v = SYS_IsTriviallyRelocatable< T >::value

Definition at line 83 of file SYS_TypeTraits.h.