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_IsFixedArrayOfNoCV< T, E, N >
 
struct  SYS_FixedArrayHasElement< T, E >
 
struct  SYS_FixedArrayHasElementNoCV< T, E >
 
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 , typename E , std::size_t N>
constexpr bool SYS_IsFixedArrayOfNoCV_v = SYS_IsFixedArrayOfNoCV< T, E, N >::value
 
template<typename T , typename E >
constexpr bool SYS_FixedArrayHasElement_v = SYS_FixedArrayHasElement< T, E >::value
 
template<typename T , typename E >
constexpr bool SYS_FixedArrayHasElementNoCV_v = SYS_FixedArrayHasElementNoCV< T, E >::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 199 of file SYS_TypeTraits.h.

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

Definition at line 231 of file SYS_TypeTraits.h.

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

Definition at line 225 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 267 of file SYS_TypeTraits.h.

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

Definition at line 166 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 214 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 152 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 , typename E >
constexpr bool SYS_FixedArrayHasElement_v = SYS_FixedArrayHasElement< T, E >::value

Definition at line 341 of file SYS_TypeTraits.h.

template<typename T , typename E >
constexpr bool SYS_FixedArrayHasElementNoCV_v = SYS_FixedArrayHasElementNoCV< T, E >::value

Definition at line 362 of file SYS_TypeTraits.h.

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

Definition at line 280 of file SYS_TypeTraits.h.

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

Definition at line 182 of file SYS_TypeTraits.h.

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

Definition at line 98 of file SYS_TypeTraits.h.

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

Definition at line 255 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 299 of file SYS_TypeTraits.h.

template<typename T , typename E , std::size_t N>
constexpr bool SYS_IsFixedArrayOfNoCV_v = SYS_IsFixedArrayOfNoCV< T, E, N >::value

Definition at line 322 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 139 of file SYS_TypeTraits.h.

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

Definition at line 119 of file SYS_TypeTraits.h.

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

Definition at line 105 of file SYS_TypeTraits.h.

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

Definition at line 86 of file SYS_TypeTraits.h.