UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UnrealTypeTraits.h File Reference

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  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 >
 
struct  TIsBitwiseConstructible< int8, ANSICHAR >
 
struct  TIsBitwiseConstructible< uint8, ANSICHAR >
 
struct  TIsBitwiseConstructible< UTF8CHAR, ANSICHAR >
 
struct  TIsBitwiseConstructible< int8, UTF8CHAR >
 
struct  TIsBitwiseConstructible< uint8, UTF8CHAR >
 

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
 
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
 
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> \
{ \
template <typename CharType = TCHAR> \
UE_FORCEINLINE_HINT static constexpr decltype(auto) GetFormatSpecifier() \
{ \
return CHARTEXT(CharType, format); \
} \
};
#define CHARTEXT(CharType, x)
Definition Platform.h:1291
#define UE_FORCEINLINE_HINT
Definition Platform.h:723
Definition UnrealTypeTraits.h:83
static constexpr decltype(auto) GetFormatSpecifier()
Definition UnrealTypeTraits.h:85

◆ Expose_TNameOf

#define Expose_TNameOf (   type)
Value:
template<> \
struct TNameOf<type> \
{ \
UE_FORCEINLINE_HINT static TCHAR const* GetName() \
{ \
return TEXT(#type); \
} \
};
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
Definition UnrealTypeTraits.h:191
static TCHAR const * GetName()
Definition UnrealTypeTraits.h:192

◆ 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) }; \
};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127

◆ HAS_TRIVIAL_CONSTRUCTOR

#define HAS_TRIVIAL_CONSTRUCTOR (   T)    __has_trivial_constructor(T)

◆ IS_EMPTY

#define IS_EMPTY (   T)    __is_empty(T)

◆ IS_POD

#define IS_POD (   T)    __is_pod(T)

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