Ark Server API (ASE) - Wiki
Loading...
Searching...
No Matches
UnrealTypeTraits.h File Reference
#include "../BasicTypes.h"
#include "IsPointer.h"
#include "AndOrNot.h"
#include "AreTypesEqual.h"
#include "IsArithmetic.h"
#include "IsEnum.h"
#include "RemoveCV.h"
#include "IsPODType.h"
#include "IsTriviallyCopyConstructible.h"
+ 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  TIsSame< A, B >
 
struct  TIsSame< T, T >
 
struct  TIsCharType< T >
 
struct  TIsCharType< ANSICHAR >
 
struct  TIsCharType< UCS2CHAR >
 
struct  TIsCharType< WIDECHAR >
 
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  TIsVoidType< T >
 
struct  TIsVoidType< void >
 
struct  TIsVoidType< void const >
 
struct  TIsVoidType< void volatile >
 
struct  TIsVoidType< void const volatile >
 
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  TContainerTraitsBase< T >
 
struct  TContainerTraits< 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 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

 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 % d % f Expose_TFormatSpecifier (double, "%f") Expose_TFormatSpecifier(long double
 
 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<> \
{ \
FORCEINLINE static const TCHAR (&GetFormatSpecifier())[5] \
{ \
static const TCHAR Spec[5] = TEXT(format); \
return Spec; \
} \
};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition BasicTypes.h:120
static FORCEINLINE TCHAR const * GetFormatSpecifier()
const ASN1_OBJECT int type
Definition x509.h:923

Definition at line 68 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 178 of file UnrealTypeTraits.h.

◆ GENERATE_MEMBER_FUNCTION_CHECK

#define GENERATE_MEMBER_FUNCTION_CHECK ( MemberName,
Result,
ConstModifier,
... )
Value:
template <typename T> \
class THasMemberFunction_##MemberName \
{ \
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 466 of file UnrealTypeTraits.h.

◆ HAS_TRIVIAL_CONSTRUCTOR

#define HAS_TRIVIAL_CONSTRUCTOR ( T)    __has_trivial_constructor(T)

Definition at line 26 of file UnrealTypeTraits.h.

◆ IS_EMPTY

#define IS_EMPTY ( T)    __is_empty(T)

Definition at line 28 of file UnrealTypeTraits.h.

◆ IS_POD

#define IS_POD ( T)    __is_pod(T)

Definition at line 27 of file UnrealTypeTraits.h.

Function Documentation

◆ Expose_TFormatSpecifier() [1/6]

Expose_TFormatSpecifier ( bool ,
"%i"  )

◆ Expose_TFormatSpecifier() [2/6]

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

◆ Expose_TFormatSpecifier() [3/6]

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

◆ Expose_TFormatSpecifier() [4/6]

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

◆ Expose_TFormatSpecifier() [5/6]

% u Expose_TFormatSpecifier ( uint16 ,
"%u"  )

◆ Expose_TFormatSpecifier() [6/6]

% u % u Expose_TFormatSpecifier ( uint64 ,
"%llu"  )

◆ Expose_TNameOf()

Expose_TNameOf ( uint8 )

Call traits helpers