![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include "Misc/Build.h"#include "Misc/LargeWorldCoordinates.h"#include <type_traits>#include "PreprocessorHelpers.h"#include "GenericPlatform/GenericPlatformCompilerPreSetup.h"#include "GenericPlatform/GenericPlatform.h"Go to the source code of this file.
Namespaces | |
| namespace | TypeTests |
| namespace | UE |
| namespace | UE::Core |
| namespace | UE::Core::Private |
| implementation | |
Typedefs | |
| typedef FPlatformTypes::uint8 | uint8 |
| An 8-bit unsigned integer. | |
| typedef FPlatformTypes::uint16 | uint16 |
| A 16-bit unsigned integer. | |
| typedef FPlatformTypes::uint32 | uint32 |
| A 32-bit unsigned integer. | |
| typedef FPlatformTypes::uint64 | uint64 |
| A 64-bit unsigned integer. | |
| typedef FPlatformTypes::int8 | int8 |
| An 8-bit signed integer. | |
| typedef FPlatformTypes::int16 | int16 |
| A 16-bit signed integer. | |
| typedef FPlatformTypes::int32 | int32 |
| A 32-bit signed integer. | |
| typedef FPlatformTypes::int64 | int64 |
| A 64-bit signed integer. | |
| typedef FPlatformTypes::ANSICHAR | ANSICHAR |
| An ANSI character. Normally a signed type. | |
| typedef FPlatformTypes::WIDECHAR | WIDECHAR |
| A wide character. Normally a signed type. | |
| typedef FPlatformTypes::TCHAR | TCHAR |
| Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requirements of the licensee. | |
| typedef FPlatformTypes::UTF8CHAR | UTF8CHAR |
| An 8-bit character containing a UTF8 (Unicode, 8-bit, variable-width) code unit. | |
| typedef FPlatformTypes::CHAR16 | UCS2CHAR |
| A 16-bit character containing a UCS2 (Unicode, 16-bit, fixed-width) code unit, used for compatibility with 'Windows TCHAR' across multiple platforms. | |
| typedef FPlatformTypes::CHAR16 | UTF16CHAR |
| A 16-bit character containing a UTF16 (Unicode, 16-bit, variable-width) code unit. | |
| typedef FPlatformTypes::UTF32CHAR | UTF32CHAR |
| A 32-bit character containing a UTF32 (Unicode, 32-bit, fixed-width) code unit. | |
| typedef FPlatformTypes::UPTRINT | UPTRINT |
| An unsigned integer the same size as a pointer. | |
| typedef FPlatformTypes::PTRINT | PTRINT |
| A signed integer the same size as a pointer. | |
| typedef FPlatformTypes::SIZE_T | SIZE_T |
| An unsigned integer the same size as a pointer, the same as UPTRINT. | |
| typedef FPlatformTypes::SSIZE_T | SSIZE_T |
| An integer the same size as a pointer, the same as PTRINT. | |
| typedef FPlatformTypes::TYPE_OF_NULL | TYPE_OF_NULL |
| The type of the NULL constant. | |
| typedef FPlatformTypes::TYPE_OF_NULLPTR | TYPE_OF_NULLPTR |
| The type of the C++ nullptr keyword. | |
Functions | |
| template<typename CharType > | |
| void | UE::Core::Private::CharTextStaticAssert () |
Variables | |
| template<typename A , typename B > | |
| constexpr bool | TypeTests::TAreTypesEqual_V = false |
| template<typename T > | |
| constexpr bool | TypeTests::TAreTypesEqual_V< T, T > = true |
| #define ABSTRACT |
| #define BEGIN_FUNCTION_BUILD_OPTIMIZATION UE_DISABLE_OPTIMIZATION_SHIP |
| #define BUILD_EMBEDDED_APP 0 |
| #define CHARTEXT | ( | CharType, | |
| x | |||
| ) |
| #define COMPILE_ERROR | ( | x | ) | GCC_DIAGNOSTIC_HELPER(GCC error x) |
| #define COMPILE_WARNING | ( | x | ) | GCC_DIAGNOSTIC_HELPER(GCC warning x) |
| #define CONSOLE (#) |
| #define DISABLE_FUNCTION_OPTIMIZATION |
| #define DLLEXPORT |
| #define DLLIMPORT |
| #define END_FUNCTION_BUILD_OPTIMIZATION UE_ENABLE_OPTIMIZATION_SHIP |
| #define FAST_BOOT_HACKS 0 |
| #define FLUSH_CACHE_LINE | ( | x | ) |
| #define FUNCTION_NON_NULL_RETURN_END |
| #define FUNCTION_NON_NULL_RETURN_START |
| #define GCC_ALIGN | ( | n | ) |
| #define GCC_PACK | ( | n | ) |
| #define IN |
| #define INT32_MAIN_INT32_ARGC_TCHAR_ARGV | ( | ) |
| #define LIKELY | ( | x | ) | (!!(x)) |
Branch prediction hints
| #define LINE_TERMINATOR_ANSI "\n" |
| #define MOBILE (#) |
| #define MS_ALIGN | ( | n | ) |
| #define MSVC_PRAGMA | ( | ... | ) |
| #define OPERATOR_DELETE_THROW_SPEC |
| #define OPERATOR_NEW_INLINE FORCEINLINE |
| #define OPERATOR_NEW_THROW_SPEC |
| #define OUT |
| #define PLATFORM_32BITS (!PLATFORM_64BITS) |
| #define PLATFORM_ALLOW_ALLOCATIONS_IN_FASYNCWRITER_SERIALIZEBUFFERTOARCHIVE 1 |
| #define PLATFORM_ALWAYS_HAS_AESNI 0 |
| #define PLATFORM_ALWAYS_HAS_AVX 0 |
| #define PLATFORM_ALWAYS_HAS_AVX_2 0 |
| #define PLATFORM_ALWAYS_HAS_FMA3 0 |
| #define PLATFORM_ALWAYS_HAS_SHA 0 |
| #define PLATFORM_ALWAYS_HAS_SSE4_1 PLATFORM_CPU_X86_FAMILY |
| #define PLATFORM_ALWAYS_HAS_SSE4_2 PLATFORM_CPU_X86_FAMILY |
| #define PLATFORM_ANDROID 0 |
| #define PLATFORM_ANDROID_ARM 0 |
| #define PLATFORM_ANDROID_ARM64 0 |
| #define PLATFORM_ANDROID_X64 0 |
| #define PLATFORM_ANDROID_X86 0 |
| #define PLATFORM_APPLE 0 |
| #define PLATFORM_BREAK_IS_EXPRESSION 0 |
| #define PLATFORM_BUILTIN_VERTEX_HALF_FLOAT 1 |
| #define PLATFORM_BYPASS_PAK_PRECACHE 0 |
| #define PLATFORM_CACHE_LINE_SIZE 64 |
| #define PLATFORM_CAN_SUPPORT_EDITORONLY_DATA 0 |
| #define PLATFORM_COMPILER_CLANG 0 |
| #define PLATFORM_COMPILER_COMMON_LANGUAGE_RUNTIME_COMPILATION 0 |
| #define PLATFORM_COMPILER_DISTINGUISHES_INT_AND_LONG 0 |
| #define PLATFORM_COMPILER_HAS_GENERATED_COMPARISON_OPERATORS (__cplusplus >= 202002L) |
| #define PLATFORM_COMPILER_HAS_GENERIC_KEYWORD 0 |
| #define PLATFORM_COMPILER_HAS_TCHAR_WMAIN 0 |
| #define PLATFORM_COMPILER_MSVC 0 |
| #define PLATFORM_COMPILER_SUPPORTS_CONSTEXPR_BUILTIN_FILE_AND_LINE 1 UE_DEPRECATED_MACRO(5.7, "PLATFORM_COMPILER_SUPPORTS_CONSTEXPR_BUILTIN_FILE_AND_LINE has been deprecated and should be replaced with 1.") |
| #define PLATFORM_COMPILER_SUPPORTS_CONSTRAINED_DESTRUCTORS 0 |
| #define PLATFORM_CONSOLE (#) |
| #define PLATFORM_CONSOLE_DYNAMIC_LINK 0 |
| #define PLATFORM_CPU_ARM_FAMILY 0 |
| #define PLATFORM_CPU_X86_FAMILY 0 |
| #define PLATFORM_DIRECT_TEXTURE_MEMORY_ACCESS_LOCK_MODE RLM_ReadOnly |
| #define PLATFORM_ENABLE_POPCNT_INTRINSIC 0 |
| #define PLATFORM_ENABLE_VECTORINTRINSICS 0 |
| #define PLATFORM_ENABLE_VECTORINTRINSICS_NEON 0 |
| #define PLATFORM_EXCEPTIONS_DISABLED !PLATFORM_DESKTOP |
| #define PLATFORM_FORCE_SINGLE_SYNC_FILE_HANDLE_PER_GENERIC_ASYNC_FILE_HANDLE 0 |
| #define PLATFORM_FORCE_UE_LOCK_USAGE 0 |
| #define PLATFORM_FREEBSD 0 |
| #define PLATFORM_HAS_128BIT_ATOMICS 0 |
| #define PLATFORM_HAS_ASAN_INCLUDE __has_include(<sanitizer/asan_interface.h>) |
| #define PLATFORM_HAS_BSD_IPV6_SOCKETS 0 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_CLOSE_ON_EXEC 0 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO 1 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME 1 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_GETNAMEINFO 1 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_IOCTL 1 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_MSG_DONTWAIT 0 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_NODELAY 1 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_POLL 0 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_RECVMMSG 0 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_SELECT 1 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_TIMESTAMP 0 |
| #define PLATFORM_HAS_BSD_SOCKET_FEATURE_WINSOCKETS 0 |
| #define PLATFORM_HAS_BSD_SOCKETS 1 |
| #define PLATFORM_HAS_BSD_THREAD_CPUTIME 0 |
| #define PLATFORM_HAS_BSD_TIME 1 |
| #define PLATFORM_HAS_CPUID 0 |
| #define PLATFORM_HAS_DIRECT_TEXTURE_MEMORY_ACCESS 0 |
| #define PLATFORM_HAS_FENV_H 1 |
| #define PLATFORM_HAS_FPlatformVirtualMemoryBlock 1 |
| #define PLATFORM_HAS_MULTITHREADED_PREMAIN 0 |
If true, the platform uses multiple threads in c++ static initialization before main is called, and systems accessible from multiple threads during premain static initialization must handle multithreaded synchronization.
| #define PLATFORM_HAS_NO_EPROCLIM 0 |
| #define PLATFORM_HAS_THREADSAFE_RHIGetRenderQueryResult # |
| #define PLATFORM_HAS_TOUCH_MAIN_SCREEN 0 |
| #define PLATFORM_HAS_UMA 0 |
| #define PLATFORM_IMPLEMENTS_BATCH_FILE_DELETE 0 |
| #define PLATFORM_IMPLEMENTS_BeginNamedEventStatic 0 |
| #define PLATFORM_IOS 0 |
| #define PLATFORM_IS_ANSI_MALLOC_THREADSAFE 0 |
| #define PLATFORM_LIMIT_MOBILE_BONE_MATRICES 0 |
| #define PLATFORM_LINUX 0 |
| #define PLATFORM_LINUXARM64 0 |
| #define PLATFORM_LITTLE_ENDIAN 0 |
| #define PLATFORM_MAC 0 |
| #define PLATFORM_MAC_ARM64 0 |
| #define PLATFORM_MAC_X86 0 |
| #define PLATFORM_MANAGES_HDR_SETTING 0 |
| #define PLATFORM_MAX_CACHED_SYNC_FILE_HANDLES_PER_GENERIC_ASYNC_FILE_HANDLE 4 |
| #define PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED 128 |
| #define PLATFORM_MAX_UNIFORM_BUFFER_RANGE (16u*1024u) |
| #define PLATFORM_MAYBE_HAS_AVX 0 |
| #define PLATFORM_MAYBE_HAS_SSE4_1 PLATFORM_CPU_X86_FAMILY |
| #define PLATFORM_MICROSOFT 0 |
| #define PLATFORM_NEEDS_RHIRESOURCELIST 1 |
| #define PLATFORM_NUM_AUDIODECOMPRESSION_PRECACHE_BUFFERS 2 |
| #define PLATFORM_REQUIRES_FILESERVER 0 |
| #define PLATFORM_REQUIRES_TYPELESS_RESOURCE_DISCARD_WORKAROUND 0 |
| #define PLATFORM_RHI_USES_CONTEXT_OBJECT # |
| #define PLATFORM_SEH_EXCEPTIONS_DISABLED 0 |
| #define PLATFORM_SUPPORTS_ASYMMETRIC_FENCES 0 |
| #define PLATFORM_SUPPORTS_BINDLESS_RENDERING 0 |
| #define PLATFORM_SUPPORTS_BORDERLESS_WINDOW 0 |
| #define PLATFORM_SUPPORTS_COLORIZED_OUTPUT_DEVICE PLATFORM_DESKTOP |
| #define PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK 0 |
| #define PLATFORM_SUPPORTS_FLIP_TRACKING 0 |
| #define PLATFORM_SUPPORTS_GEOMETRY_SHADERS 1 |
| #define PLATFORM_SUPPORTS_JEMALLOC 0 |
| #define PLATFORM_SUPPORTS_MESH_SHADERS 0 |
| #define PLATFORM_SUPPORTS_MIMALLOC 0 |
| #define PLATFORM_SUPPORTS_MULTIPLE_NATIVE_WINDOWS 1 |
| #define PLATFORM_SUPPORTS_MULTITHREADED_GC 1 |
| #define PLATFORM_SUPPORTS_NAMED_PIPES 0 |
| #define PLATFORM_SUPPORTS_OPUS_CODEC 1 |
| #define PLATFORM_SUPPORTS_PARALLEL_RHI_EXECUTE # |
| #define PLATFORM_SUPPORTS_PRAGMA_PACK 0 |
| #define PLATFORM_SUPPORTS_RHI_THREAD # |
| #define PLATFORM_SUPPORTS_STACK_SYMBOLS 0 |
| #define PLATFORM_SUPPORTS_TBB 0 |
| #define PLATFORM_SUPPORTS_TEXTURE_STREAMING 1 |
| #define PLATFORM_SUPPORTS_UDP_MULTICAST_GROUP 1 |
| #define PLATFORM_SUPPORTS_UNALIGNED_LOADS 0 |
| #define PLATFORM_SUPPORTS_VARIABLE_RATE_SHADING 0 |
| #define PLATFORM_SUPPORTS_VECTOR_CONTROL_REGISTERS 1 |
| #define PLATFORM_SUPPORTS_VIRTUAL_TEXTURES 0 |
| #define PLATFORM_SUPPORTS_VORBIS_CODEC 1 |
| #define PLATFORM_SUPPORTS_VORBIS_ENCODE PLATFORM_SUPPORTS_VORBIS_CODEC |
| #define PLATFORM_SUPPORTS_WORKGRAPH_SHADERS 0 |
| #define PLATFORM_SWITCH 0 |
| #define PLATFORM_TCHAR_IS_4_BYTES 0 |
| #define PLATFORM_TCHAR_IS_CHAR16 0 |
| #define PLATFORM_TCHAR_IS_UTF8CHAR USE_UTF8_TCHARS |
| #define PLATFORM_TVOS 0 |
| #define PLATFORM_UCS2CHAR_IS_UTF16CHAR 1 |
| #define PLATFORM_UI_HAS_MOBILE_SCROLLBARS 0 |
| #define PLATFORM_UI_NEEDS_FOCUS_OUTLINES 1 |
| #define PLATFORM_UI_NEEDS_TOOLTIPS 1 |
| #define PLATFORM_UNIX 0 |
| #define PLATFORM_USE_ANSI_MEMALIGN 0 |
| #define PLATFORM_USE_ANSI_POSIX_MALLOC 0 |
| #define PLATFORM_USE_FALLBACK_PSO 0 |
| #define PLATFORM_USE_FULL_TASK_GRAPH 1 |
| #define PLATFORM_USE_GENERIC_LAUNCH_IMPLEMENTATION 0 |
| #define PLATFORM_USE_GENERIC_STRING_IMPLEMENTATION 1 |
| #define PLATFORM_USE_LS_SPEC_FOR_WIDECHAR 1 |
| #define PLATFORM_USE_MINIMAL_HANG_DETECTION 0 |
| #define PLATFORM_USE_PLATFORM_FILE_MANAGED_STORAGE_WRAPPER 0 |
| #define PLATFORM_USE_PTHREADS 1 |
| #define PLATFORM_USE_REPORT_ENSURE PLATFORM_DESKTOP |
| #define PLATFORM_USE_S_SPEC_FOR_NARROWCHAR_IN_VSPRINTF 0 |
| #define PLATFORM_USE_SHOWFLAGS_ALWAYS_BITFIELD 1 |
| #define PLATFORM_USE_SSE2_FOR_THREAD_YIELD PLATFORM_CPU_X86_FAMILY |
| #define PLATFORM_USE_SYSTEM_VSWPRINTF 1 |
| #define PLATFORM_USES__ALIGNED_MALLOC 0 |
| #define PLATFORM_USES_ANSI_STRING_FOR_EXTERNAL_PROFILING 1 |
| #define PLATFORM_USES_FIXED_GMalloc_CLASS 0 |
| #define PLATFORM_USES_FIXED_HDR_SETTING 0 |
| #define PLATFORM_USES_FIXED_RHI_CLASS 0 |
| #define PLATFORM_USES_GLES 0 |
| #define PLATFORM_USES_MICROSOFT_LIBC_FUNCTIONS 0 |
| #define PLATFORM_USES_STACKBASED_MALLOC_CRASH 0 |
| #define PLATFORM_USES_UNFAIR_LOCKS 0 |
| #define PLATFORM_VISIONOS 0 |
| #define PLATFORM_VTABLE_AT_END_OF_CLASS 0 |
| #define PLATFORM_WCHAR_IS_4_BYTES 0 |
| #define PLATFORM_WEAKLY_CONSISTENT_MEMORY PLATFORM_CPU_ARM_FAMILY |
| #define PLATFORM_WIDECHAR_IS_CHAR16 PLATFORM_TCHAR_IS_CHAR16 |
| #define PLATFORM_WINDOWS 0 |
| #define PLATFORM_WINDOWS_ARM64EC 0 |
| #define PLATFORM_WRITES_ARE_SLOW 0 |
| #define PRAGMA_DISABLE_INLINING |
| #define PRAGMA_DISABLE_OPTIMIZATION_ACTUAL |
| #define PRAGMA_ENABLE_INLINING |
| #define PRAGMA_ENABLE_OPTIMIZATION_ACTUAL |
| #define RESTRICT __restrict /* no alias hint */ |
| #define STDCALL /* Standard calling convention */ |
| #define TEXT | ( | x | ) | TEXT_PASTE(x) |
| #define UE_ALLOCATION_FUNCTION | ( | ... | ) |
| #define UE_ASSUME | ( | x | ) |
Promise expression is true. Compiler can optimize accordingly with undefined behavior if wrong. Static analyzers understand this.
| #define UE_COLD |
| #define UE_DEFINE_FORCEINLINE_HINT_TO_INLINE 0 |
| #define UE_FORCE_CRASH | ( | ) | UE_FORCE_CRASH_AT_OFFSET(3) |
| #define UE_FORCEINLINE_HINT FORCEINLINE |
| #define UE_IF_CONSTEVAL if (__builtin_is_constant_evaluated()) |
| #define UE_IF_NOT_CONSTEVAL if (!__builtin_is_constant_evaluated()) |
| #define UE_INTRINSIC_CAST |
Improves the debugging of functions which act as pure reference casts, eliding the call and doing a direct cast from the argument to the return type
| #define UE_LIFETIMEBOUND |
| #define UE_NO_PROFILE_SVE_BUG |
| #define UE_NO_UNIQUE_ADDRESS |
| #define UE_NODEBUG |
| #define UE_NODISCARD_CTOR |
| #define UE_PLATFORM_IOS_ONLY 0 |
| #define UE_REWRITE UE_NODEBUG FORCEINLINE |
| #define UE_SELECT_ANY __attribute__((selectany)) |
| #define UE_UTF8TEXT_IS_CONSTEXPR 1 UE_DEPRECATED_MACRO(5.7, "UE_UTF8TEXT_IS_CONSTEXPR has been deprecated.") |
| #define UE_VALIDATE_FORMAT_STRINGS 0 |
| #define UE_WORKAROUND_CLANG_SVE_LTO_BUGS 0 |
| #define UNLIKELY | ( | x | ) | (!!(x)) |
| #define USING_ADDRESS_SANITISER 0 |
| #define USING_HW_ADDRESS_SANITISER 0 |
| #define UTF16TEXT | ( | x | ) | UTF16TEXT_PASTE(x) |
| #define UTF16TEXT_PASTE | ( | x | ) | u ## x |
| #define UTF8TEXT | ( | x | ) | UTF8TEXT_PASTE(x) |
| #define UTF8TEXT_PASTE | ( | x | ) | u8 ## x |
| #define WIDETEXT | ( | str | ) | WIDETEXT_PASTE(str) |
| #define WIDETEXT_PASTE | ( | x | ) | L ## x |
An ANSI character. Normally a signed type.
A 16-bit signed integer.
| const FString int32 |
A 32-bit signed integer.
A 64-bit signed integer.
An 8-bit signed integer.
A signed integer the same size as a pointer.
An unsigned integer the same size as a pointer, the same as UPTRINT.
An integer the same size as a pointer, the same as PTRINT.
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requirements of the licensee.
The type of the NULL constant.
The type of the C++ nullptr keyword.
A 16-bit character containing a UCS2 (Unicode, 16-bit, fixed-width) code unit, used for compatibility with 'Windows TCHAR' across multiple platforms.
A 16-bit unsigned integer.
A 32-bit unsigned integer.
A 64-bit unsigned integer.
An 8-bit unsigned integer.
An unsigned integer the same size as a pointer.
A 16-bit character containing a UTF16 (Unicode, 16-bit, variable-width) code unit.
A 32-bit character containing a UTF32 (Unicode, 32-bit, fixed-width) code unit.
An 8-bit character containing a UTF8 (Unicode, 8-bit, variable-width) code unit.
A wide character. Normally a signed type.