Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
UnrealTypeTraits.h File Reference
+ Include dependency graph for UnrealTypeTraits.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TIsDerivedFrom< DerivedType, BaseType >
 
struct  TNthTypeFromParameterPack< N, T, OtherTypes... >
 
struct  TNthTypeFromParameterPack< 0, T, OtherTypes... >
 
struct  TFormatSpecifier< T >
 
struct  TIsReferenceType< T >
 
struct  TIsReferenceType< T & >
 
struct  TIsReferenceType< T && >
 
struct  TIsLValueReferenceType< T >
 
struct  TIsLValueReferenceType< T & >
 
struct  TIsRValueReferenceType< T >
 
struct  TIsRValueReferenceType< T && >
 
struct  TIsFundamentalType< T >
 
struct  TIsFunction< T >
 
struct  TIsFunction< RetType(Params...)>
 
struct  TIsZeroConstructType< T >
 
struct  TIsWeakPointerType< T >
 
struct  TNameOf< T >
 
struct  TCallTraitsParamTypeHelper
 
struct  TCallTraitsParamTypeHelper< T, true >
 
struct  TCallTraitsParamTypeHelper< T *, true >
 
struct  TRemoveConst< T >
 
struct  TRemoveConst< const T >
 
struct  TCallTraitsBase< T >
 
struct  TCallTraits< T >
 
struct  TCallTraits< T & >
 
struct  TCallTraits< T[N]>
 
struct  TCallTraits< const T[N]>
 
struct  TTypeTraitsBase< T >
 
struct  TTypeTraits< T >
 
struct  FVirtualDestructor
 
struct  TMoveSupportTraitsBase< T, U >
 
struct  TMoveSupportTraitsBase< T, const T & >
 
struct  TMoveSupportTraits< T >
 
struct  TIsBitwiseConstructible< T, Arg >
 
struct  TIsBitwiseConstructible< T, T >
 
struct  TIsBitwiseConstructible< const T, U >
 
struct  TIsBitwiseConstructible< const T *, T * >
 
struct  TIsBitwiseConstructible< uint8, int8 >
 
struct  TIsBitwiseConstructible< int8, uint8 >
 
struct  TIsBitwiseConstructible< uint16, int16 >
 
struct  TIsBitwiseConstructible< int16, uint16 >
 
struct  TIsBitwiseConstructible< uint32, int32 >
 
struct  TIsBitwiseConstructible< int32, uint32 >
 
struct  TIsBitwiseConstructible< uint64, int64 >
 
struct  TIsBitwiseConstructible< int64, uint64 >
 

Macros

#define UE_CONSTRAINTS_BEGIN   , std::enable_if_t<
 
#define UE_CONSTRAINT(...)   (__VA_ARGS__) &&
 
#define UE_CONSTRAINTS_END   true, int> = 0
 
#define TEMPLATE_REQUIRES(...)   typename TEnableIf<__VA_ARGS__, int>::type = 0
 
#define HAS_TRIVIAL_CONSTRUCTOR(T)   __has_trivial_constructor(T)
 
#define IS_POD(T)   __is_pod(T)
 
#define IS_EMPTY(T)   __is_empty(T)
 
#define Expose_TFormatSpecifier(type, format)
 
#define Expose_TNameOf(type)
 
#define GENERATE_MEMBER_FUNCTION_CHECK(MemberName, Result, ConstModifier, ...)
 

Functions

template<typename A , typename B >
struct UE_DEPRECATED (5.2, "TIsSame has been deprecated, please use std::is_same instead.") TIsSame
 
 Expose_TFormatSpecifier (bool, "%i") Expose_TFormatSpecifier(uint8
 
u Expose_TFormatSpecifier (uint16, "%u") Expose_TFormatSpecifier(uint32
 
u u Expose_TFormatSpecifier (uint64, "%llu") Expose_TFormatSpecifier(int8
 
u u d Expose_TFormatSpecifier (int16, "%d") Expose_TFormatSpecifier(int32
 
u u d d Expose_TFormatSpecifier (int64, "%lld") Expose_TFormatSpecifier(float
 
u u d dExpose_TFormatSpecifier (double, "%f") Expose_TFormatSpecifier(long double
 
u u d d f f Expose_TFormatSpecifier (long, "%ld") Expose_TFormatSpecifier(unsigned long
 
 Expose_TNameOf (uint8) Expose_TNameOf(uint16) Expose_TNameOf(uint32) Expose_TNameOf(uint64) Expose_TNameOf(int8) Expose_TNameOf(int16) Expose_TNameOf(int32) Expose_TNameOf(int64) Expose_TNameOf(float) Expose_TNameOf(double) template< typename T
 

Macro Definition Documentation

◆ Expose_TFormatSpecifier

#define Expose_TFormatSpecifier ( type,
format )
Value:
template<> \
struct TFormatSpecifier<type> \
{ \
FORCEINLINE static decltype(auto) GetFormatSpecifier() \
{ \
return TEXT(format); \
} \
};
#define TEXT(x)
Definition Platform.h:1108
#define FORCEINLINE
Definition Platform.h:644
static FORCEINLINE TCHAR const * GetFormatSpecifier()

Definition at line 139 of file UnrealTypeTraits.h.

◆ Expose_TNameOf

#define Expose_TNameOf ( type)
Value:
template<> \
struct TNameOf<type> \
{ \
FORCEINLINE static TCHAR const* GetName() \
{ \
return TEXT(#type); \
} \
};
static FORCEINLINE TCHAR const * GetName()

Definition at line 242 of file UnrealTypeTraits.h.

◆ GENERATE_MEMBER_FUNCTION_CHECK

#define GENERATE_MEMBER_FUNCTION_CHECK ( MemberName,
Result,
ConstModifier,
... )
Value:
template <typename T> \
{ \
template <typename U, Result(U::*)(__VA_ARGS__) ConstModifier> struct Check; \
template <typename U> static char MemberTest(Check<U, &U::MemberName> *); \
template <typename U> static int MemberTest(...); \
public: \
enum { Value = sizeof(MemberTest<T>(nullptr)) == sizeof(char) }; \
};

Definition at line 520 of file UnrealTypeTraits.h.

◆ HAS_TRIVIAL_CONSTRUCTOR

#define HAS_TRIVIAL_CONSTRUCTOR ( T)    __has_trivial_constructor(T)

Definition at line 61 of file UnrealTypeTraits.h.

◆ IS_EMPTY

#define IS_EMPTY ( T)    __is_empty(T)

Definition at line 63 of file UnrealTypeTraits.h.

◆ IS_POD

#define IS_POD ( T)    __is_pod(T)

Definition at line 62 of file UnrealTypeTraits.h.

◆ TEMPLATE_REQUIRES

#define TEMPLATE_REQUIRES ( ...)    typename TEnableIf<__VA_ARGS__, int>::type = 0

Definition at line 56 of file UnrealTypeTraits.h.

◆ UE_CONSTRAINT

#define UE_CONSTRAINT ( ...)    (__VA_ARGS__) &&

Definition at line 41 of file UnrealTypeTraits.h.

◆ UE_CONSTRAINTS_BEGIN

#define UE_CONSTRAINTS_BEGIN   , std::enable_if_t<

Definition at line 40 of file UnrealTypeTraits.h.

◆ UE_CONSTRAINTS_END

#define UE_CONSTRAINTS_END   true, int> = 0

Definition at line 42 of file UnrealTypeTraits.h.

Function Documentation

◆ Expose_TFormatSpecifier() [1/7]

Expose_TFormatSpecifier ( bool ,
"%i"  )

◆ Expose_TFormatSpecifier() [2/7]

u u d d f Expose_TFormatSpecifier ( double ,
"%f"  )

◆ Expose_TFormatSpecifier() [3/7]

u u d Expose_TFormatSpecifier ( int16 ,
"%d"  )

◆ Expose_TFormatSpecifier() [4/7]

u u d d Expose_TFormatSpecifier ( int64 ,
"%lld"  )

◆ Expose_TFormatSpecifier() [5/7]

u u d d f f Expose_TFormatSpecifier ( long ,
"%ld"  )

◆ Expose_TFormatSpecifier() [6/7]

u Expose_TFormatSpecifier ( uint16 ,
"%u"  )

◆ Expose_TFormatSpecifier() [7/7]

u u Expose_TFormatSpecifier ( uint64 ,
"%llu"  )

◆ Expose_TNameOf()

Expose_TNameOf ( uint8 )

Call traits helpers

◆ UE_DEPRECATED()

template<typename A , typename B >
struct UE_DEPRECATED ( 5. 2,
"TIsSame has been deprecated,
please use std::is_same instead."  )

TIsSame

Unreal implementation of std::is_same trait.

Definition at line 1 of file UnrealTypeTraits.h.