description: Unregisters a feature that was registered earlier on. After unregistering a feature, other systems will no longer be able to gain access to it through this interface.

code: void UnregisterModularFeature ( const [FName](API\Runtime\Core\UObject\FName) Type, class [IModularFeature](API\Runtime\Core\Features\IModularFeature) * ModularFeature )


description: Virtual destructor, to make polymorphism happy.

module: Core

code: virtual ~IModularFeatures()


className: IModularFeatures

description: Public interface to all known modular features

code: class IModularFeatures


code: FEngineTrackedActivityScope ( const [FString](API\Runtime\Core\Containers\FString) & Str )


code: FEngineTrackedActivityScope ( const TCHAR * Fmt, ... )


className: FEngineTrackedActivityScope

code: struct FEngineTrackedActivityScope


code: FFileCachePreloadEntry ( int64 InOffset, int64 InSize )


className: FFileCachePreloadEntry

code: struct FFileCachePreloadEntry


description:
Create aIFileCacheHandlefrom a filename.
AIFileCacheHandlethat can be used to make read requests. This will be a nullptr if the target file can not be accessed for any given reason.

code: static [IFileCacheHandle](API\Runtime\Core\FileCache\IFileCacheHandle) * CreateFileCacheHandle ( const TCHAR * InFileName, int64 InBaseOffset )


description:
Create aIFileCacheHandlefrom aIAsyncReadFileHandle.
AIFileCacheHandlethat can be used to make read requests. This will be a nullptr if the FileHandle was not valid.

code: static [IFileCacheHandle](API\Runtime\Core\FileCache\IFileCacheHandle) * CreateFileCacheHandle ( [IAsyncReadFileHandle](API\Runtime\Core\Async\IAsyncReadFileHandle) * FileHandle, int64 InBaseOffset )


description: Return size of underlying file cache in bytes.

code: static int64 GetFileCacheSize()


code: FGraphEventRef PreloadData ( const [FFileCachePreloadEntry](API\Runtime\Core\FileCache\FFileCachePreloadEntry) * PreloadEntries, int32 NumEntries, EAsyncIOPriorityAndFlags Priority )


description:
Read a byte range form the file. This can be a high-throughput operation and done lots of times for small reads. The system will handle this efficiently.
Memory stream that contains the requested range. May return nullptr in rare cases if the request could not be serviced Data read from this stream will not be valid until all events returned in OutCompletionEvents are complete

code: IMemoryReadStreamRef ReadData ( FGraphEventArray & OutCompletionEvents, int64 Offset, int64 BytesToRead, EAsyncIOPriorityAndFlags Priority )


description: Wait until all outstanding read requests complete.

code: void WaitAll()


className: IFileCacheHandle

description: Also note, if you create severalIFileCacheHandle's to the same file on separate threads these will be considered as individual separate files from the cache point of view and thus each will have their own cache data allocated.

code: class IFileCacheHandle


code: [FIsDuplicatingClassForReinstancing](API\Runtime\Core\FIsDuplicatingClassForReinstanci-) & operator= ( bool bOther )


code: FOptionalTaskTagScope ( ETaskTag InTag )


className: FOptionalTaskTagScope

description: This class can be used to Tag an execution context but only in case it has not already been tagged It is usually used for the IsInRendering/GamethreadFunctions.

code: class FOptionalTaskTagScope : public [FTaskTagScope](API\Runtime\Core\FTaskTagScope)


description: Get 2D/3D image/texture size in bytes. This is for storage of the encoded image data, and does not adjust for any GPU alignment/padding constraints. It is also not valid for tiled or packed mip tails (i.e. cooked mips for consoles). Only use these when you know you're working with bog standard textures/images in block based pixel formats.

code: uint64 Get2DImageSizeInBytes ( uint32 InWidth, uint32 InHeight ) const


code: uint64 Get2DTextureMipSizeInBytes ( uint32 InTextureWidth, uint32 InTextureHeight, uint32 InMipIndex ) const


code: uint64 Get2DTextureSizeInBytes ( uint32 InTextureWidth, uint32 InTextureHeight, uint32 InMipCount ) const


code: uint64 Get3DImageSizeInBytes ( uint32 InWidth, uint32 InHeight, uint32 InDepth ) const


code: uint64 Get3DTextureMipSizeInBytes ( uint32 InTextureWidth, uint32 InTextureHeight, uint32 InTextureDepth, uint32 InMipIndex ) const


code: uint64 Get3DTextureSizeInBytes ( uint32 InTextureWidth, uint32 InTextureHeight, uint32 InTextureDepth, uint32 InMipCount ) const


code: uint64 GetBlockCountForHeight ( uint32 InHeight ) const


description: Get the number of compressed blocks necessary to hold the given dimensions.

code: uint64 GetBlockCountForWidth ( uint32 InWidth ) const


code: FPixelFormatInfo ( EPixelFormat InUnrealFormat, const TCHAR * InName, int32 InBlockSizeX, int32 InBlockSizeY, int32 InBlockSizeZ, int32 InBlockBytes, int32 InNumComponents, bool InSupported )


code: [FPlayInEditorID](API\Runtime\Core\FPlayInEditorID) & operator= ( int32 InOther )


className: FPlayInEditorID::operator int32

code: operator int32() const


className: FPlayInEditorID

code: class FPlayInEditorID


className: FPixelFormatInfo

description: Information about a pixel format. The majority of this structure is valid after static init, however RHI does keep some state in here that is initialized by that module and should not be used by general use programs that don't have RHI (so noted in comments).

code: struct FPixelFormatInfo

type: uint8:  1

description: If false, 32 bit float is assumed (initialized by RHI module - invalid otherwise)

Capabilities

type: EPixelFormatCap...

description: Per platform cabilities for the format (initialized by RHI module - invalid otherwise)

Name

type: const TCHAR ...

PlatformFormat

description: Platform specific converted format (initialized by RHI module - invalid otherwise)

Supported

description: Whether the texture format is supported on the current platform/ rendering combination

UnrealFormat

type: EPixelFormat


code: bool Contains ( const T & value ) const


code: const T & operator[] ( int index ) const


code: void SetAllocator ( [Allocator](API\Runtime\Core\FramePro\Allocator) * p_allocator )


className: Array

code: template<typename T> class Array


code: ConditionalBoolTimerScope ( const char * p_name_and_source_info, bool b )


className: ConditionalBoolTimerScope

code: class ConditionalBoolTimerScope


code: ConditionalBoolTimerScopeId ( [StringId](API\Runtime\Core\FramePro\StringId) name, const char * p_source_info, bool b )


className: ConditionalBoolTimerScopeId

code: class ConditionalBoolTimerScopeId


code: ConditionalBoolTimerScopeW ( const wchar_t * p_name_and_source_info, bool b )


className: ConditionalBoolTimerScopeW

code: class ConditionalBoolTimerScopeW


code: ConditionalParentTimerScope ( const char * p_name, const char * p_source_info, [ConditionalParentScopeCallback](API\Runtime\Core\FramePro\ConditionalParentScopeCallback) p_callback, [int64](API\Runtime\Core\FramePro\int64) pre_duration, [int64](API\Runtime\Core\FramePro\int64) post_duration )


className: ConditionalParentTimerScope

code: class ConditionalParentTimerScope


code: ConditionalTimerScope ( const char * p_name_and_source_info )


className: ConditionalTimerScope

code: class ConditionalTimerScope


code: ConditionalTimerScopeId ( [StringId](API\Runtime\Core\FramePro\StringId) name, const char * p_source_info )


className: ConditionalTimerScopeId

code: class ConditionalTimerScopeId


code: ConditionalTimerScopeW ( const wchar_t * p_name_and_source_info )


className: ConditionalTimerScopeW

code: class ConditionalTimerScopeW


className: ConnectionChangedCallback

description: Callbacks


className: ContextSwitch

code: struct ContextSwitch

type: int

type: ThreadWaitReaso...


code: void Add ( [uint](API\Runtime\Core\FramePro\uint) value )


code: void GetAndClear ( [uint64](API\Runtime\Core\FramePro\uint64) & value, [uint](API\Runtime\Core\FramePro\uint) & count )


code: [CustomStatTimer](API\Runtime\Core\FramePro\CustomStatTimer) * GetNext() const


code: CustomStatTimer ( const char * p_name )


code: void SetNext ( [CustomStatTimer](API\Runtime\Core\FramePro\CustomStatTimer) * p_next )


className: CustomStatTimer

code: class CustomStatTimer


code: CustomStatTimerScope ( [CustomStatTimer](API\Runtime\Core\FramePro\CustomStatTimer) & timer )


code: CustomStatTimerScope &40; const CustomStatTimerScope & &41;


className: CustomStatTimerScope

code: class CustomStatTimerScope


description: Called to mark the start of each frame

code: static void FrameStart()


description: End currently active named event

code: static void PopEvent()


description: End currently active named event

code: static void PopEvent ( const TCHAR * Override )


description: End currently active named event

code: static void PopEvent ( const ANSICHAR * Override )


description: Begin a named event

code: static void PushEvent()


code: static void PushEvent ( const TCHAR * Text )


description: Begin a named event

code: static void PushEvent ( const ANSICHAR * Text )


code: static void StartFrameProRecordingFromCommand ( const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Args )


code: static [FString](API\Runtime\Core\Containers\FString) StartFrameProRecording ( const [FString](API\Runtime\Core\Containers\FString) & FilenameRoot, int32 MinScopeTime, bool bAppendDateTime )


className: FFrameProProfiler

description: Wrapper for FramePro

code: class FFrameProProfiler


code: namespace FramePro { void FramePro::AddCustomStat ( const char * p_name, int value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, [int64](API\Runtime\Core\FramePro\int64) value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, float value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, double value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, int value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, [int64](API\Runtime\Core\FramePro\int64) value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, float value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, double value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, int value, [StringId](API\Runtime\Core\FramePro\StringId) graph, [StringId](API\Runtime\Core\FramePro\StringId) unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, [int64](API\Runtime\Core\FramePro\int64) value, [StringId](API\Runtime\Core\FramePro\StringId) graph, [StringId](API\Runtime\Core\FramePro\StringId) unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, float value, [StringId](API\Runtime\Core\FramePro\StringId) graph, [StringId](API\Runtime\Core\FramePro\StringId) unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( const char * p_name, [int64](API\Runtime\Core\FramePro\int64) value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, double value, [StringId](API\Runtime\Core\FramePro\StringId) graph, [StringId](API\Runtime\Core\FramePro\StringId) unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( const char * p_name, float value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( const char * p_name, double value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( const wchar_t * p_name, [int64](API\Runtime\Core\FramePro\int64) value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( const wchar_t * p_name, int value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( const wchar_t * p_name, float value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, int value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStat ( const wchar_t * p_name, double value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddCustomStatTimer ( class [CustomStatTimer](API\Runtime\Core\FramePro\CustomStatTimer) * p_timer ) }


code: namespace FramePro { void FramePro::AddEvent ( const char * p_name, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::AddTimeSpan ( const char * p_name_file_and_line, [int64](API\Runtime\Core\FramePro\int64) start_time, [int64](API\Runtime\Core\FramePro\int64) end_time ) }


code: namespace FramePro { void FramePro::AddTimeSpan ( const wchar_t * p_name_file_and_line, [int64](API\Runtime\Core\FramePro\int64) start_time, [int64](API\Runtime\Core\FramePro\int64) end_time ) }


code: namespace FramePro { void FramePro::AddTimeSpan ( const char * p_name, const char * p_file_and_line, [int64](API\Runtime\Core\FramePro\int64) start_time, [int64](API\Runtime\Core\FramePro\int64) end_time ) }


code: namespace FramePro { void FramePro::AddTimeSpan ( [StringId](API\Runtime\Core\FramePro\StringId) name_id, const char * p_file_and_line, [int64](API\Runtime\Core\FramePro\int64) start_time, [int64](API\Runtime\Core\FramePro\int64) end_time ) }


code: namespace FramePro { void FramePro::AddTimeSpan ( [StringId](API\Runtime\Core\FramePro\StringId) name_id, const char * p_file_and_line, [int64](API\Runtime\Core\FramePro\int64) start_time, [int64](API\Runtime\Core\FramePro\int64) end_time, int thread_id, int core ) }


code: namespace FramePro { void FramePro::AddWaitEvent ( [int64](API\Runtime\Core\FramePro\int64) event_id, [int64](API\Runtime\Core\FramePro\int64) start_time, int start_core, [int64](API\Runtime\Core\FramePro\int64) end_time, int end_core ) }


code: namespace FramePro { void FramePro::BlockSockets() }


code: namespace FramePro { bool FramePro::CallConditionalParentScopeCallback ( [ConditionalParentScopeCallback](API\Runtime\Core\FramePro\ConditionalParentScopeCallback) p_callback, const char * p_name, [int64](API\Runtime\Core\FramePro\int64) start_time, [int64](API\Runtime\Core\FramePro\int64) end_time ) }


code: namespace FramePro { void FramePro::CleanupThread() }


code: namespace FramePro { void FramePro::DebugBreak() }


code: namespace FramePro { unsigned int FramePro::GetConditionalScopeMinTime() }


code: namespace FramePro { void FramePro::FrameStart() }


code: namespace FramePro { int FramePro::GetCore() }


code: namespace FramePro { void FramePro::Log ( const char * p_message ) }


code: namespace FramePro { unsigned int FramePro::GetHashAndStackSize ( void ** p_stack, int & stack_size ) }


code: namespace FramePro { namespace PacketType { enum Enum { Connect = 0xaabb, FrameStart, TimeSpan, TimeSpanW, NamedTimeSpan, StringLiteralNamedTimeSpan, ThreadName, ThreadOrder, StringPacket, WStringPacket, NameAndSourceInfoPacket, NameAndSourceInfoPacketW, SourceInfoPacket, MainThreadPacket, RequestStringLiteralPacket, SetConditionalScopeMinTimePacket, ConnectResponsePacket, SessionStatsPacket, RequestRecordedDataPacket, legacy_SessionDetailsPacket, ContextSwitchPacket, ContextSwitchRecordingStartedPacket, ProcessNamePacket, CustomStatPacket_Depreciated, StringLiteralTimerNamePacket, HiResTimerScopePacket, LogPacket, EventPacket, StartWaitEventPacket, StopWaitEventPacket, TriggerWaitEventPacket, TimeSpanCustomStatPacket_Depreciated, TimeSpanWithCallstack, TimeSpanWWithCallstack, NamedTimeSpanWithCallstack, StringLiteralNamedTimeSpanWithCallstack, ModulePacket, SetCallstackRecordingEnabledPacket, CustomStatPacketW_Depreciated2, TimeSpanCustomStatPacketW, CustomStatPacket_Depreciated2, TimeSpanCustomStatPacket, ScopeColourPacket, CustomStatColourPacket, CustomStatGraphPacket, CustomStatUnitPacket, CallstackPacket, SessionInfoPacket, CustomStatPacket, CustomStatPacketW, } } }


code: namespace FramePro { bool FramePro::IsConnected() }


code: namespace FramePro { namespace Platform { [uint](API\Runtime\Core\FramePro\uint) FramePro::Platform::AllocateTLSSlot() } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::AcceptSocket ( void * p_source_os_socket_mem, void * p_target_os_socket_mem ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::BindSocket ( void * p_os_socket_mem, const char * p_port ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::CloseFile ( void * p_os_file_mem ) } }


code: namespace FramePro { namespace Platform { void * FramePro::Platform::CreateContextSwitchRecorder ( [Allocator](API\Runtime\Core\FramePro\Allocator) * p_allocator ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::CreateEventX ( void * p_os_event_mem, int os_event_mem_size, bool initial_state, bool auto_reset ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::CreateLock ( void * p_os_lock_mem, int os_lock_mem_size ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::CreateSocket ( void * p_os_socket_mem, int os_socket_mem_size ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::CreateThread ( void * p_os_thread_mem, int os_thread_mem_size, [ThreadMain](API\Runtime\Core\FramePro\ThreadMain) p_thread_main, void * p_context, [Allocator](API\Runtime\Core\FramePro\Allocator) * p_allocator ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::DebugBreak() } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::DebugWrite ( const char * p_string ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::DestroyContextSwitchRecorder ( void * p_context_switch_recorder, [Allocator](API\Runtime\Core\FramePro\Allocator) * p_allocator ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::DestroyEvent ( void * p_os_event_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::DestroyLock ( void * p_os_lock_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::DestroySocket ( void * p_os_socket_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::DisconnectSocket ( void * p_os_socket_mem, bool stop_listening ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::DestroyThread ( void * p_os_thread_mem ) } }


code: namespace FramePro { namespace Platform { enum Enum { Windows = 0, Windows_UWP, XBoxOne, Unused, Linux, PS4, Android, Mac, iOS, Switch, } } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::EnumerateModules ( [Array](API\Runtime\Core\FramePro\Array)< [ModulePacket](API\Runtime\Core\FramePro\ModulePacket) * > & module_packets, [Allocator](API\Runtime\Core\FramePro\Allocator) * p_allocator ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::FlushContextSwitches ( void * p_context_switch_recorder ) } }


code: namespace FramePro { namespace Platform { int FramePro::Platform::GetCore() } }


code: namespace FramePro { namespace Platform { int FramePro::Platform::GetCurrentProcessId() } }


code: namespace FramePro { namespace Platform { int FramePro::Platform::GetCurrentThreadId() } }


code: namespace FramePro { namespace Platform { int FramePro::Platform::GetFileSize ( const void * p_os_file_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::GetLocalTime ( tm * p_tm, const time_t * p_time ) } }


code: namespace FramePro { namespace Platform { [Platform::Enum](API\Runtime\Core\FramePro\FramePro__Platform__Enum) FramePro::Platform::GetPlatformEnum() } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::GetProcessName ( int process_id, char * p_name, int max_name_length ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::GetRecordingFolder ( char * p_path, int max_path_length ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::GetStackTrace ( void ** stack, int & stack_size, unsigned int & hash ) } }


code: namespace FramePro { namespace Platform { [int64](API\Runtime\Core\FramePro\int64) FramePro::Platform::GetTimerFrequency() } }


code: namespace FramePro { namespace Platform { void * FramePro::Platform::GetTLSValue ( [uint](API\Runtime\Core\FramePro\uint) slot ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::HandleSocketError() } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::InitialiseSocketSystem() } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::OpenFileForRead ( void * p_os_file_mem, int os_file_mem_size, const char * p_filename ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::IsSocketValid ( const void * p_os_socket_mem ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::OpenFileForRead ( void * p_os_file_mem, int os_file_mem_size, const wchar_t * p_filename ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::OpenFileForWrite ( void * p_os_file_mem, int os_file_mem_size, const char * p_filename ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::OpenFileForWrite ( void * p_os_file_mem, int os_file_mem_size, const wchar_t * p_filename ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::ReadFromFile ( void * p_os_file_mem, void * p_data, size_t size ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::ResetEvent ( void * p_os_event_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::ReleaseLock ( void * p_os_lock_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::SetEvent ( void * p_os_event_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::SetThreadAffinity ( void * p_os_thread_mem, int affinity ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::SetThreadPriority ( void * p_os_thread_mem, int priority ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::SetTLSValue ( [uint](API\Runtime\Core\FramePro\uint) slot, void * p_value ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::SocketReceive ( void * p_os_socket_mem, const void * p_buffer, int size, int & bytes_received ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::SocketSend ( void * p_os_socket_mem, const void * p_buffer, int size, int & bytes_sent ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::StartRecordingContextSitches ( void * p_context_switch_recorder, [ContextSwitchCallbackFunction](API\Runtime\Core\FramePro\ContextSwitchCallbackFunction) p_callback, void * p_context, DynamicString & error, [Allocator](API\Runtime\Core\FramePro\Allocator) * p_allocator ) } }


code: namespace FramePro { namespace Platform { bool FramePro::Platform::StartSocketListening ( void * p_os_socket_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::StopRecordingContextSitches ( void * p_context_switch_recorder ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::TakeLock ( void * p_os_lock_mem ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::ToString ( int value, char * p_dest, int dest_size ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::UninitialiseSocketSystem() } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::VSPrintf ( char * p_buffer, size_t const buffer_size, const char * p_format, va_list arg_list ) } }


code: namespace FramePro { namespace Platform { int FramePro::Platform::WaitEvent ( void * p_os_event_mem, int timeout ) } }


code: namespace FramePro { namespace Platform { void FramePro::Platform::WriteToFile ( void * p_os_file_mem, const void * p_data, size_t size ) } }


code: namespace FramePro { void FramePro::PopConditionalParentScope ( bool add_children ) }


code: namespace FramePro { void FramePro::RegisterConnectionChangedCallback ( [ConnectionChangedCallback](API\Runtime\Core\FramePro\ConnectionChangedCallback) p_callback, void * p_context ) }


code: namespace FramePro { void FramePro::PushConditionalParentScope ( const char * p_name, [int64](API\Runtime\Core\FramePro\int64) pre_duration, [int64](API\Runtime\Core\FramePro\int64) post_duration ) }


code: namespace FramePro { [StringId](API\Runtime\Core\FramePro\StringId) FramePro::RegisterString ( const char * p_str ) }


code: namespace FramePro { [StringId](API\Runtime\Core\FramePro\StringId) FramePro::RegisterString ( const wchar_t * p_str ) }


code: namespace FramePro { void FramePro::SendScopeCallstack() }


code: namespace FramePro { void FramePro::SendSessionInfo ( const char * p_name, const char * p_value ) }


code: namespace FramePro { void FramePro::SendSessionInfo ( const wchar_t * p_name, const wchar_t * p_value ) }


code: namespace FramePro { void FramePro::SetAllocator ( class [Allocator](API\Runtime\Core\FramePro\Allocator) * p_allocator ) }


code: namespace FramePro { void FramePro::SetConditionalScopeMinTimeInMicroseconds ( [int64](API\Runtime\Core\FramePro\int64) value ) }


code: namespace FramePro { void FramePro::SetCustomStatColour ( [StringId](API\Runtime\Core\FramePro\StringId) name, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetCustomStatGraph ( [StringId](API\Runtime\Core\FramePro\StringId) name, [StringId](API\Runtime\Core\FramePro\StringId) graph ) }


code: namespace FramePro { void FramePro::SetCustomStatUnit ( [StringId](API\Runtime\Core\FramePro\StringId) name, [StringId](API\Runtime\Core\FramePro\StringId) unit ) }


code: namespace FramePro { void FramePro::SetPort ( int port ) }


code: namespace FramePro { void FramePro::SetScopeColour ( [StringId](API\Runtime\Core\FramePro\StringId) name, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( const char * p_name, int value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( const char * p_name, double value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( const wchar_t * p_name, double value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, double value, [StringId](API\Runtime\Core\FramePro\StringId) graph, [StringId](API\Runtime\Core\FramePro\StringId) unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( const wchar_t * p_name, int value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, int value, [StringId](API\Runtime\Core\FramePro\StringId) graph, [StringId](API\Runtime\Core\FramePro\StringId) unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( const char * p_name, [int64](API\Runtime\Core\FramePro\int64) value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( const wchar_t * p_name, [int64](API\Runtime\Core\FramePro\int64) value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, [int64](API\Runtime\Core\FramePro\int64) value, [StringId](API\Runtime\Core\FramePro\StringId) graph, [StringId](API\Runtime\Core\FramePro\StringId) unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( const char * p_name, float value, const char * p_graph, const char * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( const wchar_t * p_name, float value, const wchar_t * p_graph, const wchar_t * p_unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetScopeCustomStat ( [StringId](API\Runtime\Core\FramePro\StringId) name, float value, [StringId](API\Runtime\Core\FramePro\StringId) graph, [StringId](API\Runtime\Core\FramePro\StringId) unit, [uint](API\Runtime\Core\FramePro\uint) colour ) }


code: namespace FramePro { void FramePro::SetThreadAffinity ( int affinity ) }


code: namespace FramePro { void FramePro::SetThreadName ( int thread_id, const char * p_name ) }


code: namespace FramePro { void FramePro::SetThreadName ( const char * p_name ) }


code: namespace FramePro { void FramePro::SetThreadOrder ( [StringId](API\Runtime\Core\FramePro\StringId) thread_name ) }


description: Shuts down core services.

code: namespace FramePro { void FramePro::Shutdown() }


code: namespace FramePro { void FramePro::StartHiResTimer ( const char * p_name ) }


code: namespace FramePro { void FramePro::SetThreadPriority ( int priority ) }


code: namespace FramePro { void FramePro::StartRecording ( const char * p_filename, bool context_switches, bool callstacks, [int64](API\Runtime\Core\FramePro\int64) max_file_size ) }


code: namespace FramePro { void FramePro::StartRecording ( const wchar_t * p_filename, bool context_switches, bool callstacks, [int64](API\Runtime\Core\FramePro\int64) max_file_size ) }


code: namespace FramePro { void FramePro::StartScope() }


code: namespace FramePro { void FramePro::StopHiResTimer() }


code: namespace FramePro { void FramePro::StopRecording() }


code: namespace FramePro { void FramePro::StopScope() }


code: namespace FramePro { namespace ThreadState { enum Enum { Initialized = 0, Ready, Running, Standby, Terminated, Waiting, Transition, DeferredReady, Reserved1, Reserved2, Reserved3, Reserved4, Reserved5, Reserved6, Reserved7, Reserved8, Reserved9, Reserved10, Reserved11, Reserved12, } } }


code: namespace FramePro { namespace ThreadWaitReason { enum Enum { Executive = 0, FreePage, PageIn, PoolAllocation, DelayExecution, Suspended, UserRequest, WrExecutive, WrFreePage, WrPageIn, WrPoolAllocation, WrDelayExecution, WrSuspended, WrUserRequest, WrEventPair, WrQueue, WrLpcReceive, WrLpcReply, WrVirtualMemory, WrPageOut, WrRendezvous, WrKeyedEvent, WrTerminated, WrProcessInSwap, WrCpuRateControl, WrCalloutStack, WrKernel, WrResource, WrPushLock, WrMutex, WrQuantumEnd, WrDispatchInt, WrPreempted, WrYieldExecution, WrFastMutex, WrGuardedMutex, WrRundown, MaximumWaitReason, } } }


code: namespace FramePro { void FramePro::TriggerWaitEvent ( [int64](API\Runtime\Core\FramePro\int64) event_id ) }


code: namespace FramePro { void FramePro::UnblockSockets() }


code: namespace FramePro { void FramePro::UnregisterConnectionChangedcallback ( [ConnectionChangedCallback](API\Runtime\Core\FramePro\ConnectionChangedCallback) p_callback ) }


code: HiResTimerScope ( const char * p_name )


className: HiResTimerScope

code: class HiResTimerScope


code: IdTimerScope ( [StringId](API\Runtime\Core\FramePro\StringId) name, const char * p_source_info )


className: ModulePacket

code: struct ModulePacket


className: RelaxedAtomic::operator T

code: operator T() const


className: RelaxedAtomic

description: Assume aligned reads/writes < 8 bytes are atomic on all platforms

code: template<typename T> class RelaxedAtomic


code: StringLiteralNamedConditionalTimerScope ( const char * p_name, const char * p_source_info )


className: StringLiteralNamedConditionalTimerScope


description: P_name must be a string literal

code: StringLiteralNamedTimerScope ( const char * p_name, const char * p_source_info )


className: StringLiteralNamedTimerScope

code: class StringLiteralNamedTimerScope


code: ThreadScope ( const char * p_thread_name )


code: TimerScope ( const char * p_name_and_source_info )


code: TimerScopeW ( const wchar_t * p_name_and_source_info )


code: WaitEventScope ( [int64](API\Runtime\Core\FramePro\int64) event_id )


code: FScopedBootTiming ( const ANSICHAR * InMessage, [FName](API\Runtime\Core\UObject\FName) Suffix )


code: FScopedBootTiming ( const ANSICHAR * InMessage )


className: FScopedBootTiming

code: struct FScopedBootTiming

Message

type: FString

StartTime

type: double


code: FScopedLoadingState ( const TCHAR * InMessage )


className: FScopedLoadingState

code: struct FScopedLoadingState


className: ActiveTaskTag

code: static thread_local ETaskTag ActiveTaskTag = ETaskTag::EStaticInit;


code: static bool IsCurrentTag ( ETaskTag InTag )


code: static bool IsRunningDuringStaticInit()


description: Clear the ETaskTag::StaticInit tag so that the Main OS Thread has no active tag. This will allow functions such as IsInGameThread() to function properly when called from the Main Thread.

code: static void SetTagNone()


description: Restore the ETaskTag::StaticInit tag so that the destructors of global (or local static) C++ objects function properly when checking thread state (from functions like IsInGameThread()).

code: static void SetTagStaticInit()


description: Swap the Tag this is only used when Thread contexts move between different threads.

code: static ETaskTag SwapTag ( ETaskTag Tag )


code: FTaskTagScope ( bool InTagOnlyIfNone, ETaskTag InTag )


className: FUELibraryOverrideSettings

description: The settings used by the UE-as-a-library feature.

code: struct FUELibraryOverrideSettings

bIsEmbedded

type: bool

description: True if we were initialized via the UELibrary.

WindowHandle

type: void *

description: The window handle to embed the engine into

WindowHeight

description: The overridden height of the embedded viewport

WindowWidth

description: The overridden width of the embedded viewport


className: FTaskTagScope

description: This class can be used to Tag an execution context aka Thead or Job and allows us to later querry the state when we are in the callstack It is usually used for the IsInRendering/GamethreadFunctions.

code: class FTaskTagScope


description: Enumerates supported message dialog button types.

code: namespace EAppMsgType { enum Type { Ok, YesNo, OkCancel, YesNoCancel, CancelRetryContinue, YesNoYesAllNoAll, YesNoYesAllNoAllCancel, YesNoYesAll, } }


description: Enumerates message dialog return types.

code: namespace EAppReturnType { enum Type { No, Yes, YesAll, NoAll, Cancel, Ok, Retry, Continue, } }


code: namespace EBuildConfigurations { static EBuildConfigurations::Debug = EBuildConfiguration::Debug; }


code: namespace EBuildConfigurations { static EBuildConfigurations::Development = EBuildConfiguration::Development; }


code: namespace EBuildConfigurations { static EBuildConfigurations::DebugGame = EBuildConfiguration::DebugGame; }


code: namespace EBuildConfigurations { static EBuildConfigurations::Shipping = EBuildConfiguration::Shipping; }


code: namespace EBuildConfigurations { static EBuildConfigurations::Test = EBuildConfiguration::Test; }


code: namespace EBuildConfigurations { static EBuildConfigurations::Unknown = EBuildConfiguration::Unknown; }


code: namespace EBuildTargets { static EBuildTargets::Editor = EBuildTargetType::Editor; }


description:
Returns the string representation of the specified EBuildConfiguration value.
the correspondent enum for the stringified version passed in

code: namespace EBuildTargets { EBuildTargetType EBuildTargets::FromString ( const [FString](API\Runtime\Core\Containers\FString) & Target ) }


code: namespace EBuildTargets { static EBuildTargets::Game = EBuildTargetType::Game; }


description: Deprecated*EBuildTargets::FromStringis deprecated. Use LexFromString() instead.

code: namespace EBuildTargets { const TCHAR * EBuildTargets::ToString ( EBuildTargetType Target ) }


code: namespace EBuildTargets { static EBuildTargets::Server = EBuildTargetType::Server; }


code: namespace EBuildTargets { static EBuildTargets::Unknown = EBuildTargetType::Unknown; }


code: namespace EChunkLocation { enum Type { DoesNotExist, NotAvailable, LocalSlow, LocalFast, BestLocation =LocalFast, } }


code: namespace EChunkInstallSpeed { enum Type { Paused, Slow, Fast, } }


code: namespace EChunkPriority { enum Type { Immediate, High, Low, } }


code: namespace EChunkProgressReportingType { enum Type { ETA, PercentageComplete, } }


description: Enumerates supported error reporting modes.

code: namespace EErrorReportMode { enum Type { Interactive, Unattended, Balloon, } }


description: Not all platforms have different opening semantics, but Windows allows you to specify a specific verb when opening a file.

code: namespace ELaunchVerb { enum Type { Open, Edit, } }


code: namespace EProcessResource { enum Type { VirtualMemory, } }


className: FContextSwitchStats

description: Different types of Context Switch stats

code: struct FContextSwitchStats

InvoluntaryContextSwitches

description: Context switches that were involuntary (e.g. quantum reached/exceeded - platform dependent)

TotalContextSwitches

description: All context switch types

VoluntaryContextSwitches

description: Context switches that occurred voluntarily (e.g. yield - platform dependent)


description: Initialization constructor.

code: FCPUTime ( float InCPUTimePct, float InCPUTimePctRelative )


code: [FCPUTime](API\Runtime\Core\GenericPlatform\FCPUTime) & operator+= ( const [FCPUTime](API\Runtime\Core\GenericPlatform\FCPUTime) & Other )


className: FCPUTime

description: Contains CPU utilization data.

code: struct FCPUTime

CPUTimePct

type: float

description: Percentage CPU utilization for the last interval.

CPUTimePctRelative

description: Percentage CPU utilization for the last interval relative to one core, so if CPUTimePct is 8.0% and you have 6 core this value will be 48.0%.


code: FCrashStackFrame ( [FString](API\Runtime\Core\Containers\FString) ModuleNameIn, uint64 BaseAddressIn, uint64 OffsetIn )


className: FCrashStackFrame

description: Portable stack frame

code: struct FCrashStackFrame


code: FCustomChunk ( [FString](API\Runtime\Core\Containers\FString) InTag, uint32 InID, ECustomChunkType InChunkType, [FString](API\Runtime\Core\Containers\FString) InTag2 )


className: FCustomChunk

code: struct FCustomChunk

ChunkType

type: ECustomChunkTyp...


className: CustomChunkMappingType

code: enum CustomChunkMappingType { Main, Optional, }


code: FCustomChunkMapping ( [FString](API\Runtime\Core\Containers\FString) InPattern, uint32 InChunkID, [CustomChunkMappingType](API\Runtime\Core\GenericPlatform\FCustomChunkMapping\CustomChunkMappingType) InMappingType )


className: FCustomChunkMapping

code: struct FCustomChunkMapping

MappingType

type: CustomChunkMapp...


code: void LoadFromINIString ( const TCHAR * In )


description:
Test if the given driver version is mentioned in the this entry
true:yes, inform used, false otherwise

code: bool Test ( const [FGPUDriverInfo](API\Runtime\Core\GenericPlatform\FGPUDriverInfo) & Info ) const


className: FDriverDenyListEntry

description: One entry in the Hardware.ini file

code: struct FDriverDenyListEntry

DriverDateString

description: Optional, e.g. "<=MM-DD-YYYY"

DriverVersionString

description: Optional, e.g. "<=223.112.21.1", might includes comparison operators, later even things multiple ">12.22 <=12.44"

Reason

description: Required

RHIName

description: Optional, e.g. "D3D11", "D3D12"


className: FFileStatData

description: Contains the information that's returned from stat'ing a file or directory

code: struct FFileStatData

AccessTime

type: FDateTime

description: The time that the file or directory was last accessed, orFDateTime::MinValueif the access time is unknown

bIsDirectory

type: bool:  1

description: True if this data is for a directory, false if it's for a file

bIsReadOnly

description: True if this file is read-only

bIsValid

description: True if file or directory was found, false otherwise.

CreationTime

description: The time that the file or directory was originally created, orFDateTime::MinValueif the creation time is unknown

FileSize

description: Size of the file (in bytes), or -1 if the file size is unknown

ModificationTime

description: The time the the file or directory was last modified, orFDateTime::MinValueif the modification time is unknown


code: template<typename Type> void AddCrashProperty ( const TCHAR * PropertyName, const Type & Value ) const


description: Serializes platform specific properties to the buffer.

code: virtual void AddPlatformSpecificProperties&40;&41; const


description: Adds a plugin descriptor string to the enabled plugins list in the crash context

code: static void AddPlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginDesc )


description: Escapes and appends specified text to XML string

code: static void AppendEscapedXMLString ( [FString](API\Runtime\Core\Containers\FString) & OutBuffer, FStringView Text )


code: static void AppendEscapedXMLString ( FStringBuilderBase & OutBuffer, FStringView Text )


code: FFileStatData ( [FDateTime](API\Runtime\Core\Misc\FDateTime) InCreationTime, [FDateTime](API\Runtime\Core\Misc\FDateTime) InAccessTime, [FDateTime](API\Runtime\Core\Misc\FDateTime) InModificationTime, const int64 InFileSize, const bool InIsDirectory, const bool InIsReadOnly )


code: static void AppendPortableCallstack ( [FString](API\Runtime\Core\Containers\FString) & OutBuffer, TConstArrayView< [FCrashStackFrame](API\Runtime\Core\GenericPlatform\FCrashStackFrame) > StackFrames )


className: bIsInitialized

description: Whether theInitialize()has been called

code: static bool bIsInitialized = false;


description: Store info about loaded modules

code: virtual void CaptureModules()


description: Generate raw call stack for crash report (image base + offset) for the calling thread

code: void CapturePortableCallStack ( void * ErrorProgramCounter, void * Context )


code: void CapturePortableCallStack ( int32 NumStackFramesToIgnore, void * Context )


description: Adds a portable callstack for a thread

code: virtual void AddPortableThreadCallStack ( uint32 ThreadId, const TCHAR * ThreadName, const uint64 * StackFrames, int32 NumStackFrames )


description: Generate raw call stack for crash report (image base + offset) for a different thread

code: void CaptureThreadPortableCallStack ( const uint64 ThreadId, void * Context )


description: Clean up expired context files that were left-over on the user disks (because the consumer crashed and/or failed to delete it).

code: static void CleanupTempSessionContextFiles ( const [FTimespan](API\Runtime\Core\Misc\FTimespan) & ExpirationAge )


className: ConfigSectionName

code: static const TCHAR *const ConfigSectionName = TEXT("CrashReportClient");


description: Allows platform implementations to copy files to report directory.

code: virtual void CopyPlatformSpecificFiles ( const TCHAR * OutputDirectory, void * Context )


description: Initializes a shared crash context from current state. Will not set all fields in Dst.

code: static void CopySharedCrashContext ( [FSharedCrashContext](API\Runtime\Core\GenericPlatform\FSharedCrashContext) & Dst )


className: CrashConfigExtension

code: static const TCHAR *const CrashConfigExtension = TEXT(".ini");


className: CrashConfigFileNameA

code: static const ANSICHAR *const CrashConfigFileNameA = "CrashReportClient.ini";


description: Implement platform specific static cleanup function


className: CrashConfigFileNameW

code: static const TCHAR *const CrashConfigFileNameW = TEXT("CrashReportClient.ini");


className: CrashConfigPurgeDays

code: static const TCHAR *const CrashConfigPurgeDays = TEXT("CrashConfigPurgeDays");


className: CrashContextExtension

code: static const TCHAR *const CrashContextExtension = TEXT(".runtime-xml");


className: CrashContextRuntimeXMLNameA

code: static const ANSICHAR *const CrashContextRuntimeXMLNameA = "CrashContext.runtime-xml";


className: CrashGUIDLength

code: static constexpr int32 CrashGUIDLength = 128;


className: CrashContextRuntimeXMLNameW

code: static const TCHAR *const CrashContextRuntimeXMLNameW = TEXT( "CrashContext.runtime-xml" );


className: CrashGUIDRootPrefix

code: static const TCHAR *const CrashGUIDRootPrefix = TEXT("UECC-");


className: CrashTypeAbnormalShutdown

code: static const TCHAR *const CrashTypeAbnormalShutdown = TEXT("AbnormalShutdown");


className: CrashTypeCrash

code: static const TCHAR *const CrashTypeCrash = TEXT("Crash");


className: CrashTypeEnsure

code: static const TCHAR *const CrashTypeEnsure = TEXT("Ensure");


className: CrashTypeGPU

code: static const TCHAR *const CrashTypeGPU = TEXT("GPUCrash");


className: CrashTypeHang

code: static const TCHAR *const CrashTypeHang = TEXT("Hang");


className: CrashTypeOutOfMemory

code: static const TCHAR *const CrashTypeOutOfMemory = TEXT("OutOfMemory");


className: CrashTypeStall

code: static const TCHAR *const CrashTypeStall = TEXT("Stall");


className: CrashTypeAssert

code: static const TCHAR *const CrashTypeAssert = TEXT("Assert");


description: Attempts to create the output report directory.

code: static bool CreateCrashReportDirectory ( const TCHAR * CrashGUIDRoot, int32 CrashIndex, [FString](API\Runtime\Core\Containers\FString) & OutCrashDirectoryAbsolute )


description: Collects additional crash context providers. See FAdditionalCrashContextStack.

code: static void DumpAdditionalContext ( const TCHAR * CrashFolderAbsolute )


description: Flushes the logs. In the case of in memory logs is used on this configuration, dumps them to file. Returns the name of the file

code: static [FString](API\Runtime\Core\Containers\FString) DumpLog ( const [FString](API\Runtime\Core\Containers\FString) & CrashFolderAbsolute )


className: EnabledPluginsTag

code: static const TCHAR *const EnabledPluginsTag = TEXT("EnabledPlugins");


className: EngineModeExDirty

code: static const TCHAR *const EngineModeExDirty = TEXT("Dirty");


className: EngineDataTag

code: static const TCHAR *const EngineDataTag = TEXT( "EngineData" );


className: EngineModeExUnknown

code: static const TCHAR *const EngineModeExUnknown = TEXT("Unset");


className: EngineModeExVanilla

code: static const TCHAR *const EngineModeExVanilla = TEXT("Vanilla");


className: ExecutionGuid

description: A guid that identifies this particular execution. Allows multiple crash reports from the same run of the project to be tied together.

code: static const [FGuid](API\Runtime\Core\Misc\FGuid) ExecutionGuid = FGuid::NewGuid();


className: GameDataTag

code: static const TCHAR *const GameDataTag = TEXT( "GameData" );


description: the buffer containing serialized data.

code: const [FString](API\Runtime\Core\Containers\FString) & GetBuffer() const


description: Allow platform implementations to provide a callstack property. Primarily used when non-native code triggers a crash.

code: virtual const TCHAR * GetCallstackProperty() const


description: Helper to get the crash report client config folder used byGetCrashConfigFilePath().

code: static const TCHAR * GetCrashConfigFolder()


description: Helper to get the crash report client config filepath saved by this instance and copied to each crash report folder.

code: static const TCHAR * GetCrashConfigFilePath()


description: Get the Game Name of the crash


description: Helper to get the standard string for the crash type based on crash event bool values.

code: static const TCHAR * GetCrashTypeString ( ECrashContextType Type )


description: Get arbitrary engine data from the crash context

code: static const [FString](API\Runtime\Core\Containers\FString) * GetEngineData ( const [FString](API\Runtime\Core\Containers\FString) & Key )


description: Get the game data dictionary

code: static const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FString](API\Runtime\Core\Containers\FString) > & GetGameData()


description: Get the engine data dictionary

code: static const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FString](API\Runtime\Core\Containers\FString) > & GetEngineData()


description: Get arbitrary game data from the crash context

code: static const [FString](API\Runtime\Core\Containers\FString) * GetGameData ( const [FString](API\Runtime\Core\Containers\FString) & Key )


description: Gets info about loaded modules and stores it in the given array

code: virtual void GetModules ( [TArray](API\Runtime\Core\Containers\TArray)< [FStackWalkModuleInfo](API\Runtime\Core\GenericPlatform\FStackWalkModuleInfo) > & OutModules ) const


description: a non-zero value if crash reporter process is used to monitor the session, capture the call stack and write the minidump, otherwise, this is done inside the crashing process.


description: This function is useful to try diagnose why the crash reporter died (crashed/killed/asserted) and gather data for the analytics.

code: static [TOptional](API\Runtime\Core\IO\TOptional)< int32 > GetOutOfProcessCrashReporterExitCode()


code: virtual bool GetPlatformAllThreadContextsString ( [FString](API\Runtime\Core\Containers\FString) & OutStr ) const


description: Gets the portable callstack to a specified stack and puts it into OutCallStack

code: virtual void GetPortableCallStack ( const uint64 * StackFrames, int32 NumStackFrames, [TArray](API\Runtime\Core\Containers\TArray)< [FCrashStackFrame](API\Runtime\Core\GenericPlatform\FCrashStackFrame) > & OutCallStack ) const


description: Get the file path to the temporary session context file that we create for the given process.

code: static [FString](API\Runtime\Core\Containers\FString) GetTempSessionContextFilePath ( uint64 ProcessID )


description: the type of this crash

code: ECrashContextType GetType() const


description: a globally unique crash name.

code: void GetUniqueCrashName ( TCHAR * GUIDBuffer, int32 BufferSize ) const


description: Initializes crash context related platform specific data that can be impossible to obtain after a crash.

code: static void Initialize()


description: Initialized crash context, using a crash context (e.g. shared from another process).

code: static void InitializeFromContext ( const [FSessionContext](API\Runtime\Core\GenericPlatform\FSessionContext) & Context, const TCHAR * EnabledPlugins, const TCHAR * EngineData, const TCHAR * GameData )


description: whether this crash is a full memory minidump

code: const bool IsFullCrashDump() const


description: true, if the generic crash context has been initialized.

code: static bool IsInitalized()


description:
The reporting itself (showing the crash UI and sending the report is always done out of process)
true if walking the crashed call stack and writing the minidump is being handled out-of-process.


description: whether a crash context type is continable

code: static bool IsTypeContinuable ( ECrashContextType Type )


className: NewLineTag

code: static const TCHAR *const NewLineTag = TEXT( "&nl;" );


className: OnEngineDataReset

description: Engine and game data set / reset delegates


description: Accessor for engine data reset callback delegate

code: static FEngineDataResetDelegate & OnEngineDataResetDelegate()


description: Accessor for engine data change callback delegate

code: static FEngineDataSetDelegate & OnEngineDataSetDelegate()


description: Accessor for game data reset callback delegate

code: static FGameDataResetDelegate & OnGameDataResetDelegate()


description: Accessor for game data change callback delegate

code: static FGameDataSetDelegate & OnGameDataSetDelegate()


className: OutOfProcessCrashReporterExitCode

description: The out of process crash reporter exit code, if available. The 32 MSB indicates if the exit code is set and the 32 LSB contains the exit code. The value can be read/write from different threads.

code: static int64 OutOfProcessCrashReporterExitCode = 0;


className: OutOfProcessCrashReporterPid

description: The ID of the external process reporting crashes if the platform supports it and was configured to use it, zero otherwise (0 is a reserved system process ID, invalid for the out of process reporter).

code: static uint32 OutOfProcessCrashReporterPid = 0;


className: PlatformPropertiesTag

code: static const TCHAR *const PlatformPropertiesTag = TEXT( "PlatformProperties" );


description: Helper to clean out old files in the crash report client config folder.

code: static void PurgeOldCrashConfig()


description: Clears the engine data dictionary

code: static void ResetEngineData()


description: Clears the game data dictionary

code: static void ResetGameData()


className: RuntimePropertiesTag

code: static const TCHAR *const RuntimePropertiesTag = TEXT( "RuntimeProperties" );


description: Serializes crash's informations to the specified filename. Should be overridden for platforms where usingFFileHelperis not safe, all POSIX platforms.

code: virtual void SerializeAsXML ( const TCHAR * Filename ) const


description: Serializes all data to the buffer.

code: void SerializeContentToBuffer() const


description: Serializes session context to the given buffer. NOTE: Assumes that the buffer already has a header and section open.

code: static void SerializeSessionContext ( [FString](API\Runtime\Core\Containers\FString) & Buffer )


description: Sets the process id to that has crashed. On supported platforms this will analyze the given process rather than current. Default is current process.

code: void SetCrashedProcess ( const [FProcHandle](API\Runtime\Core\Unix\FProcHandle) & Process )


description: Stores crashing thread id.

code: void SetCrashedThreadId ( uint32 InId )


description: Sets the type of crash triggered. Used to distinguish crashes caused for debugging purposes.

code: static void SetCrashTrigger ( ECrashTrigger Type )


description: Set the current deployment name (ie. EpicApp)

code: static void SetDeploymentName ( const [FString](API\Runtime\Core\Containers\FString) & EpicApp )


description: Updates (or adds if not already present) arbitrary engine data to the crash context (will remove the key if passed an empty string)

code: static void SetEngineData ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value )


description: Notify the crash context exit has been requested.

code: static void SetEngineExit ( bool bIsRequestExit )


description: Set or change the epic account id associated with the crash session. Will override the epic account id stored in the registry for reporting when present.

code: static void SetEpicAccountId ( const [FString](API\Runtime\Core\Containers\FString) & EpicAccountId )


description: Updates (or adds if not already present) arbitrary game data to the crash context (will remove the key if passed an empty string)

code: static void SetGameData ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value )


description: We can't gather memory stats in crash handling function, so we gather them just before raising exception and use in crash reporting.

code: static void SetMemoryStats ( const [FPlatformMemoryStats](API\Runtime\Core\Unix\FPlatformMemoryStats) & MemoryStats )


description: Sets the number of stack frames to ignore when symbolicating from a minidump

code: void SetNumMinidumpFramesToIgnore ( int32 InNumMinidumpFramesToIgnore )


description: CrashReportClient (CrashReportClientEditor for the Editor) can be configured to wait for crash, capture the crashed process callstack, write the minidump, collect all crash artifacts and send them (out-of-process reporting) or just collect and send them (in-process reporting because the crashing process creates all crash artifacts itself).

code: static void SetOutOfProcessCrashReporterPid ( uint32 ProcessId )


description: GetOutOfProcessCrashReporterExitCode

code: static void SetOutOfProcessCrashReporterExitCode ( int32 ExitCode )


description: Sets the portable callstack to a specified stack

code: virtual void SetPortableCallStack ( const uint64 * StackFrames, int32 NumStackFrames )


className: StaticCrashContextIndex

description: Static counter records how many crash contexts have been constructed

code: static int32 StaticCrashContextIndex = 0;


className: UEMinidumpName

code: static const TCHAR *const UEMinidumpName = TEXT( "UEMinidump.dmp" );


description: Unescapes a specified XML string, naive implementation.

code: static [FString](API\Runtime\Core\Containers\FString) UnescapeXMLString ( const [FString](API\Runtime\Core\Containers\FString) & Text )


description: FNoncopyable.

code: FGenericCrashContext &40; const FGenericCrashContext & &41;


description: Default constructor. Optionally pass a process handle if building a crash context for a process other then current.

code: FGenericCrashContext ( ECrashContextType InType, const TCHAR * ErrorMessage )


className: FGenericCrashContext

description: Contains a runtime crash's properties that are common for all platforms. This may change in the future.

code: struct FGenericCrashContext

CallStack

type: TArray<FCrashS...

ModulesInfo

type: TArray<FStackW...

ProcessHandle

type: FProcHandle

ThreadCallStacks

type: TArray<FThread...

Type

type: ECrashContextTy...


className: FGenericMemoryWarningContext

code: struct FGenericMemoryWarningContext


description: Deprecated* Call InstallNamedChunks instead

code: virtual bool InstallChunks ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCustomChunk](API\Runtime\Core\GenericPlatform\FCustomChunk) > & ChunkTagsID )


description: Deprecated* Call IsNamedChunkInProgress instead

code: virtual bool IsChunkInstallationPending ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCustomChunk](API\Runtime\Core\GenericPlatform\FCustomChunk) > & ChunkTagsID )


description: Deprecated* Call SupportsNamedChunkInstall instead


description: Deprecated* Call UninstallNamedChunks instead

code: virtual bool UninstallChunks ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCustomChunk](API\Runtime\Core\GenericPlatform\FCustomChunk) > & ChunkTagsID )


description: Temporary helper base class for platform chunk installers that have implemented named chunk support to provideFCustomChunkemulation


code: static const uint64 GetAsyncLoadingThreadMask()


code: static const uint64 GetAudioRenderThreadMask()


code: static const uint64 GetIoDispatcherThreadMask()


code: static const uint64 GetMainGameMask()


code: static const uint64 GetNoAffinityMask()


code: static const uint64 GetPoolThreadMask()


code: static const uint64 GetRenderingThreadMask()


code: static const uint64 GetRHIFrameOffsetThreadMask()


code: static const uint64 GetRHIThreadMask()


code: static const uint64 GetRTHeartBeatMask()


code: static const uint64 GetTaskGraphBackgroundTaskMask()


code: static const uint64 GetTaskGraphHighPriorityTaskMask()


code: static const uint64 GetTaskGraphThreadMask()


code: static const uint64 GetTraceThreadMask()


className: FGenericPlatformAffinity

code: class FGenericPlatformAffinity


description: early AMD64 processors don't supportthisoperation.

code: static bool CanUseCompareExchange128()


description:
Checks if a pointer is aligned and can be used with atomic functions.
true if the pointer is aligned, false otherwise.

code: static bool IsAligned ( const volatile void * Ptr, const uint32 Alignment )


className: FGenericPlatformAtomics

description: Generic implementation...you are required to implement at leastFPlatformAtomics::InterlockedCompareExchangebut they are listed here to provide a base implementation in terms ofFPlatformAtomics::InterlockedCompareExchangeand easy copy-paste

code: struct FGenericPlatformAtomics


description:
Request a delegate callback on chunk install completion or failure. Request may not be respected.
Handle to the bound delegate

code: virtual [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) AddChunkInstallDelegate ( FPlatformChunkInstallDelegate Delegate )


description:
Request a delegate callback on named chunk install completion or failure. Request may not be respected.
Handle to the bound delegate

code: virtual [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) AddNamedChunkInstallDelegate ( FPlatformNamedChunkInstallDelegate Delegate )


description:
For platforms that support emulation of the Chunk install. Starts transfer of the next chunk. Does nothing in a shipping build.
true if the operation succeeds.

code: virtual bool DebugStartNextChunk()


description: Allow an external system to notify that a particular chunk ID has become available Initial use-case is for dynamically encrypted pak files to signal to the outside world that it has become available.

code: virtual void ExternalNotifyChunkAvailable ( uint32 InChunkID )


description:
Get the current location of a chunk. Pakchunk index and platform chunk id are not always the same. Call GetPakchunkLocation instead of calling from outside.
Enum specifying whether the chunk is available to use, waiting to install, or does not exist.

code: virtual [EChunkLocation::Type](API\Runtime\Core\GenericPlatform\EChunkLocation__Type) GetChunkLocation ( uint32 ChunkID )


description:
Get the current install progress of a chunk. Let the user specify report type for platforms that support more than one.
A value whose meaning is dependent on the ReportType param.

code: virtual float GetChunkProgress ( uint32 ChunkID, [EChunkProgressReportingType::Type](API\Runtime\Core\GenericPlatform\EChunkProgressReportingType__Typ-) ReportType )


description: Deprecated* Call GetNamedChunksByType instead

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FCustomChunk](API\Runtime\Core\GenericPlatform\FCustomChunk) > GetCustomChunksByType ( ECustomChunkType DesiredChunkType )


description:
Inquire about the priority of chunk installation vs. game IO.
Paused, low or high priority.


description:
Get the current location of the given named chunk
Enum specifying whether the chunk is available to use, waiting to install, or does not exist.

code: virtual [EChunkLocation::Type](API\Runtime\Core\GenericPlatform\EChunkLocation__Type) GetNamedChunkLocation ( const [FName](API\Runtime\Core\UObject\FName) NamedChunk )


description:
Get the current install progress of the given named chunk. Let the user specify report type for platforms that support more than one.
A value whose meaning is dependent on the ReportType param.

code: virtual float GetNamedChunkProgress ( const [FName](API\Runtime\Core\UObject\FName) NamedChunk, [EChunkProgressReportingType::Type](API\Runtime\Core\GenericPlatform\EChunkProgressReportingType__Typ-) ReportType )


description:
Get a list of all the named chunks of the given type
Array containing all named chunks of the given type

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > GetNamedChunksByType ( ENamedChunkType NamedChunkType ) const


description:
Query the type of the given named chunk
Enum indicating the type of chunk, if any

code: virtual ENamedChunkType GetNamedChunkType ( const [FName](API\Runtime\Core\UObject\FName) NamedChunk ) const


description:
Get the current location of a chunk with pakchunk index.
Enum specifying whether the chunk is available to use, waiting to install, or does not exist.

code: virtual [EChunkLocation::Type](API\Runtime\Core\GenericPlatform\EChunkLocation__Type) GetPakchunkLocation ( int32 PakchunkIndex )


description: Deprecated* Call InstallNamedChunks instead

code: virtual bool InstallChunks ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCustomChunk](API\Runtime\Core\GenericPlatform\FCustomChunk) > & ChunkTagsID )


description:
Check if a given reporting type is supported.
true if reporting type is supported on the current platform.

code: virtual bool GetProgressReportingTypeSupported ( [EChunkProgressReportingType::Type](API\Runtime\Core\GenericPlatform\EChunkProgressReportingType__Typ-) ReportType )


description:
Install the given named chunk
whether installation task has been kicked

code: virtual bool InstallNamedChunk ( const [FName](API\Runtime\Core\UObject\FName) NamedChunk )


description:
Install the given set of named chunks
whether installation task has been kicked

code: virtual bool InstallNamedChunks ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FName](API\Runtime\Core\UObject\FName) > & NamedChunks )


description:
Check whether the give chunk is being installed
whether installation task has been kicked

code: virtual bool IsNamedChunkInProgress ( const [FName](API\Runtime\Core\UObject\FName) NamedChunk )


description: Deprecated* Call IsNamedChunkInProgress instead

code: virtual bool IsChunkInstallationPending ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCustomChunk](API\Runtime\Core\GenericPlatform\FCustomChunk) > & ChunkTagsID )


description:
Hint to the installer that we would like to prioritize a specific chunk
false if the operation is not allowed or the chunk doesn't exist, otherwise true.

code: virtual bool PrioritizeChunk ( uint32 ChunkID, [EChunkPriority::Type](API\Runtime\Core\GenericPlatform\EChunkPriority__Type) Priority )


code: virtual bool PrioritizeNamedChunk ( const [FName](API\Runtime\Core\UObject\FName) NamedChunk, [EChunkPriority::Type](API\Runtime\Core\GenericPlatform\EChunkPriority__Type) Priority )


code: virtual bool PrioritizePakchunk ( int32 PakchunkIndex, [EChunkPriority::Type](API\Runtime\Core\GenericPlatform\EChunkPriority__Type) Priority )


description: Remove a delegate callback on chunk install completion.

code: virtual void RemoveChunkInstallDelegate ( [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) Delegate )


description: Remove a delegate callback on named chunk install completion.

code: virtual void RemoveNamedChunkInstallDelegate ( [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) Delegate )


description:
Specify the priority of chunk installation vs. game IO.
false if the operation is not allowed, otherwise true.

code: virtual bool SetInstallSpeed ( [EChunkInstallSpeed::Type](API\Runtime\Core\GenericPlatform\EChunkInstallSpeed__Type) InstallSpeed )


description: Deprecated* Call SupportsNamedChunkInstall instead


description:
Check whether current platform supports chunk installation by name
whether Intelligent Install is supported

code: virtual bool SupportsNamedChunkInstall() const


description: Deprecated* Call UninstallNamedChunks instead

code: virtual bool UninstallChunks ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCustomChunk](API\Runtime\Core\GenericPlatform\FCustomChunk) > & ChunkTagsID )


description:
Uninstall the given set of named chunks
whether uninstallation task has been kicked

code: virtual bool UninstallNamedChunks ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FName](API\Runtime\Core\UObject\FName) > & NamedChunks )


className: FGenericPlatformChunkInstall

description: Generic implementation of chunk based install

code: class FGenericPlatformChunkInstall : public [IPlatformChunkInstall](API\Runtime\Core\GenericPlatform\IPlatformChunkInstall)

InstallDelegate

type: FPlatformChunkI...

description: Delegates called when installation succeeds or fails

NamedChunkInstallDelegate

type: FPlatformNamedC...


description:
Check if the host communication system is available and can be used.
True is available, false otherwise.

code: virtual bool Available() const


description: Close a communication channel previously opened using OpenConnection.

code: virtual void CloseConnection ( IPlatformHostSocketPtr Socket )


description:
Launch an executable on the connected host PC.
True on success, otherwise false (e.g. no permissions or incorrect executable path).

code: virtual bool LaunchOnHost ( const char * BinaryPath, const char * CmdLine )


description: Initialize the host communication system (done byIPlatformFeaturesModule).

code: virtual void Initialize()


description: IPlatformHostSocket::GetState

code: virtual IPlatformHostSocketPtr OpenConnection ( uint32 ProtocolIndex, const [FString](API\Runtime\Core\Containers\FString) & DebugName, uint32 Version, uint32 MinVersion )


description: Shutdown the host communication system (done byIPlatformFeaturesModule).

code: virtual void Shutdown()


code: uint8 * AllocateFromBookkeeping ( uint32 AllocationSize )


description:
Uninstall the given named chunk
whether uninstallation task has been kicked

code: virtual bool UninstallNamedChunk ( const [FName](API\Runtime\Core\UObject\FName) NamedChunk )


className: FGenericPlatformHostCommunication

description: Generic implementation ofIPlatformHostCommunication.

code: class FGenericPlatformHostCommunication : public [IPlatformHostCommunication](API\Runtime\Core\GenericPlatform\IPlatformHostCommunication)


code: uint8 * AllocateFromSmallPool ( uint32 AllocationSize )


description: Choose a pool to make a new allocation from of the given size - may use a larger pool than necessary if small pools are exhausted.

code: FMallocCrashPool * ChoosePoolForSize ( uint32 AllocationSize ) const


description: Find the pool that an allocation was made from if any.

code: FMallocCrashPool * FindPoolForAlloc ( void * Ptr ) const


description: Free

code: virtual void Free ( void * Original )


description: Creates a new instance.

code: static [FGenericPlatformMallocCrash](API\Runtime\Core\GenericPlatform\FGenericPlatformMallocCrash) & Get ( [FMalloc](API\Runtime\Core\HAL\FMalloc) * MainMalloc )


description:
If possible determine the size of the memory allocated at the given address
true if succeeded

code: virtual bool GetAllocationSize ( void * Original, SIZE_T & SizeOut )


code: uint64 GetAllocationSize ( void * Original )


description:
Gets descriptive name for logging purposes.
pointer to human-readable malloc name

code: virtual const TCHAR * GetDescriptiveName()


description: Generated by theFGenericPlatformMallocCrash::PrintPoolsUsage.

code: const FPoolDesc & GetPoolDesc ( uint32 Index ) const


description: Returns if the allocator is guaranteed to be thread-safe and therefore doesn't need a unnecessary thread-safety wrapper around it.

code: virtual bool IsInternallyThreadSafe() const


description: Whether it is safe to call crash malloc's methods.

code: bool IsOnCrashedThread() const


code: bool IsPtrInSmallPool ( void * Ptr ) const


code: bool IsPtrInLargePool ( void * Ptr ) const


code: enum { LARGE_MEMORYPOOL_SIZE = 2 * 1024 * 1024 }


description: Malloc

code: virtual void * Malloc ( SIZE_T Count, uint32 Alignment )


code: enum { MAX_NUM_ALLOCS_IN_POOL = 2048 }


description: page size, if page size is not initialized, returns 64k.

code: static uint32 SafePageSize()


description: This is not super safe, may interfere with other allocations, ie. replacing vtable during running the code from the previous malloc will probably crash other threads.

code: void SetAsGMalloc()


description: Validates the allocator's heap

code: virtual bool ValidateHeap()


code: FGenericPlatformMallocCrash ( [FMalloc](API\Runtime\Core\HAL\FMalloc) * MainMalloc )


code: virtual ~FGenericPlatformMallocCrash()


description: Realloc

code: virtual void * Realloc ( void * Original, SIZE_T Count, uint32 Alignment )


className: FGenericPlatformMallocCrash

description: Simple pooled memory allocator that uses preallocated memory. Instance of this class replaces GMalloc after a crash, so we can use dynamic memory allocation even if the app crashes due to OOM.

code: struct FGenericPlatformMallocCrash : public [FMalloc](API\Runtime\Core\HAL\FMalloc)

BookkeepingPool

type: uint8 *

description: Preallocated memory pool for bookkeeping.

BookkeepingPoolOffset

description: Current position in the bookkeeping pool.

CrashedThreadId

description: The id of the thread that crashed.

InternalLock

type: FCriticalSectio...

description: Used to lock crash malloc to one thread.

LargeMemoryPool

description: Preallocated memory pool for large allocations.

LargeMemoryPoolOffset

description: Current position in the large memory pool.

PreviousMalloc

type: FMalloc*

description: Previously used malloc.

SmallMemoryPool

description: Preallocated memory pool for small allocations.

SmallMemoryPoolOffset

description: Current position in the small memory pool.


description: Computes absolute value in a generic way

code: template<class T> static constexpr T Abs ( const T A )


description: Float specialization

code: template<> float Abs ( const float A )


code: template<> double Abs ( const double A )


description:
Performs a bit cast of the given unsigned int to float of the same bit width.
A bitwise copy of the 32-bit float in a 32-bit unsigned integer value.

code: static float AsFloat ( uint32 U )


description:
Performs a bit cast of the given unsigned int to float of the same bit width.
A bitwise copy of the 64-bit float in a 64-bit unsigned integer value.

code: static double AsFloat ( uint64 U )


description:
Performs a bit cast of the given float to an unsigned int of the same bit width.
A bitwise copy of the float in a 32-bit unsigned integer value.

code: static uint32 AsUInt ( float F )


description:
Performs a bit cast of the given double to an unsigned int of the same bit width.
A bitwise copy of the double in a 64-bit unsigned integer value.

code: static uint64 AsUInt ( double F )


code: static float Atan2 ( float Y, float X )


code: static double Atan2 ( double Y, double X )


code: template<typename Arg1, typename Arg2 UE_REQUIRES> static auto Atan2 ( Arg1 X, Arg2 Y )


description: Returns smallest N such that (1<=Arg. Note: CeilLogTwo(0)=0

code: static constexpr uint32 CeilLogTwo ( uint32 Arg )


code: static constexpr uint64 CeilLogTwo64 ( uint64 Arg )


description:
Converts a double to the nearest greater or equal integer.
An integer greater or equal to 'F'.

code: static double CeilToDouble ( double F )


description:
Converts a float to the nearest greater or equal integer.
An integer greater or equal to 'F'.

code: static float CeilToFloat ( float F )


code: static double CeilToFloat ( double F )


code: static int32 CeilToInt32 ( float F )


code: static int32 CeilToInt32 ( double F )


code: static int64 CeilToInt64 ( double F )


description: Returns the smallest N such that (1<=Arg. This is a less efficient version of CeilLogTwo, but written in a way that can be evaluated at compile-time.

code: static constexpr uint8 ConstExprCeilLogTwo ( SIZE_T Arg )


code: static constexpr int32 CountBits ( uint64 Bits )


description:
Counts the number of leading zeros in the bit representation of the 32-bit value
the number of zeros before the first "on" bit

code: static constexpr uint32 CountLeadingZeros ( uint32 Value )


description:
Counts the number of leading zeros in the bit representation of the 64-bit value
the number of zeros before the first "on" bit

code: static constexpr uint64 CountLeadingZeros64 ( uint64 Value )


description:
Counts the number of leading zeros in the bit representation of the 8-bit value
the number of zeros before the first "on" bit

code: static constexpr uint8 CountLeadingZeros8 ( uint8 Value )


description:
Counts the number of trailing zeros in the bit representation of the value
the number of zeros after the last "on" bit

code: static constexpr uint32 CountTrailingZeros ( uint32 Value )


code: static constexpr uint64 CountTrailingZeros64 ( uint64 Value )


description: Returns e^Value.

code: static float Exp ( float Value )


description: Returns 2^Value.

code: static float Exp2 ( float Value )


description:
Please note that we don't define what happens in the case of NaNs as there might be platform specific differences.
ValueGEZero if Comparand >= 0, ValueLTZero otherwise

code: static constexpr float FloatSelect ( float Comparand, float ValueGEZero, float ValueLTZero )


code: static constexpr double FloatSelect ( double Comparand, double ValueGEZero, double ValueLTZero )


description:
Computes the base 2 logarithm for an integer value. The result is rounded down to the nearest integer.
Log2 of Value. 0 if Value is 0.

code: static constexpr uint32 FloorLog2 ( uint32 Value )


description:
Computes the base 2 logarithm for a 64-bit value. The result is rounded down to the nearest integer.
Log2 of Value. 0 if Value is 0.

code: static constexpr uint64 FloorLog2_64 ( uint64 Value )


description:
Converts a double to a less or equal integer.
The nearest integer value to 'F'.

code: static double FloorToDouble ( double F )


description:
Converts a float to the nearest less or equal integer.
An integer less or equal to 'F'.

code: static float FloorToFloat ( float F )


code: static double FloorToFloat ( double F )


code: static int64 FloorToInt ( double F )


description:
Converts a float to a nearest less or equal integer.
An integer less or equal to 'F'.

code: static int32 FloorToInt32 ( float F )


code: static int32 FloorToInt32 ( double F )


code: static int64 FloorToInt64 ( double F )


description: This is forced toNOTinline so that divisions by constant Y does not get optimized in to an inverse scalar multiply, which is not consistent with the intent nor with the vectorized version.

code: static float Fmod ( float X, float Y )


code: static double Fmod ( double X, double Y )


code: template<typename Arg1, typename Arg2 UE_REQUIRES> static auto Fmod ( Arg1 X, Arg2 Y )


description:
Returns the fractional part of a float.
A float between >=0 and < 1.

code: static float Frac ( float Value )


description:
Returns signed fractional part of a float.
A float between >=0 and < 1 for nonnegative input. A float between >= -1 and < 0 for negative input.

code: static float Fractional ( float Value )


code: static double Fractional ( double Value )


description: Returns a random float between 0 and 1, inclusive.

code: static float FRand()


description: Returns the current seed forSRand().

code: static int32 GetRandSeed()


description: Computes a fully accurate inverse square root

code: static float InvSqrt ( float F )


description: Computes a faster but less accurate inverse square root

code: static float InvSqrtEst ( float F )


code: static double InvSqrtEst ( double F )


description: Return true if value is finite (not NaN and not Infinity).

code: static bool IsFinite ( float A )


description: Return true if value is NaN (not a number).

code: static bool IsNaN ( float A )


description: Deprecated* IsNegative has been deprecated in favor of IsNegativeOrNegativeZero or simply A < 0.

code: static bool IsNegative ( float A )


code: static bool IsNegative ( double A )


description: Deprecated* IsNegativeFloat has been deprecated in favor of IsNegativeOrNegativeZero or simply A < 0.

code: static bool IsNegativeFloat ( float A )


description: Deprecated* IsNegativeDouble has been deprecated in favor of IsNegativeOrNegativeZero or simply A < 0.

code: static bool IsNegativeDouble ( double A )


code: static bool IsNegativeOrNegativeZero ( float A )


code: static bool IsNegativeOrNegativeZero ( double A )


description: 1.0 / Loge(2) = 1.4426950f

code: static float Log2 ( float Value )


description: 1.0 / Loge(2) = 1.442695040888963387

code: static double Log2 ( double Value )


code: static float LogX ( float Base, float Value )


code: static double LogX ( double Base, double Value )


description: Load half (F16) to floathttps://gist.github.com/rygorous/2156668

code: static constexpr float LoadHalf ( const uint16 * Ptr )


code: template<typename Arg1, typename Arg2 UE_REQUIRES> static auto LogX ( Arg1 X, Arg2 Y )


description: Allow mixing of float types to promote to highest precision type.

code: template<typename Arg1, typename Arg2 UE_REQUIRES> static auto Max ( Arg1 X, Arg2 Y )


description: Returns higher value in a generic way

code: template<class T> static constexpr T Max ( const T A, const T B )


description: Allow mixing of signed integral types.

code: template<typename Arg1, typename Arg2 UE_REQUIRES> static constexpr auto Max ( Arg1 X, Arg2 Y )


description:
Max of Array
The max value found in the array or default value if the array was empty

code: template<class T> static T Max ( const [TArray](API\Runtime\Core\Containers\TArray)< T > & Values, int32 * MaxIndex )


description: Returns the larger of the two values (operates on each component individually)

code: template<> [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) Max ( const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) A, const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) B )


code: template<> [VectorRegister4Double](API\Runtime\Core\Math\VectorRegister4Double) Max ( const [VectorRegister4Double](API\Runtime\Core\Math\VectorRegister4Double) A, const [VectorRegister4Double](API\Runtime\Core\Math\VectorRegister4Double) B )


description: Returns lower value in a generic way

code: template<class T> static constexpr T Min ( const T A, const T B )


code: template<typename Arg1, typename Arg2 UE_REQUIRES> static auto Min ( Arg1 X, Arg2 Y )


code: template<typename Arg1, typename Arg2 UE_REQUIRES> static constexpr auto Min ( Arg1 X, Arg2 Y )


description:
Min of Array
The min value found in the array or default value if the array was empty

code: template<class T> static T Min ( const [TArray](API\Runtime\Core\Containers\TArray)< T > & Values, int32 * MinIndex )


description: Returns the smaller of the two values (operates on each component individually)

code: template<> [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) Min ( const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) A, const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) B )


code: template<> [VectorRegister4Double](API\Runtime\Core\Math\VectorRegister4Double) Min ( const [VectorRegister4Double](API\Runtime\Core\Math\VectorRegister4Double) A, const [VectorRegister4Double](API\Runtime\Core\Math\VectorRegister4Double) B )


description:
Breaks the given value into an integral and a fractional part.
The fractional part of the number.

code: static float Modf ( const float InValue, float * OutIntPart )


description: Spreads bits to every other.

code: static constexpr uint32 MortonCode2 ( uint32 x )


code: static constexpr uint64 MortonCode2_64 ( uint64 x )


description: Spreads bits to every 3rd.

code: static constexpr uint32 MortonCode3 ( uint32 x )


code: static float Pow ( float A, float B )


code: static double Pow ( double A, double B )


code: template<typename Arg1, typename Arg2 UE_REQUIRES> static auto Pow ( Arg1 X, Arg2 Y )


code: static double Modf ( const double InValue, double * OutIntPart )


description: Returns a random integer between 0 and RAND_MAX, inclusive

code: static int32 Rand()


code: static constexpr uint64 ReverseMortonCode2_64 ( uint64 x )


description: Seeds global random number functionsRand()andFRand()

code: static void RandInit ( int32 Seed )


description: Reverses MortonCode2. Compacts every other bit to the right.

code: static constexpr uint32 ReverseMortonCode2 ( uint32 x )


description: Reverses MortonCode3. Compacts every 3rd bit to the right.

code: static constexpr uint32 ReverseMortonCode3 ( uint32 x )


description:
Converts a double to the nearest integer. Rounds up when the fraction is .5
The nearest integer to 'F'.

code: static double RoundToDouble ( double F )


description:
Converts a float to the nearest integer. Rounds up when the fraction is .5
The nearest integer to 'F'.

code: static float RoundToFloat ( float F )


code: static double RoundToFloat ( double F )


code: static int64 RoundToInt ( double F )


code: static int32 RoundToInt32 ( float F )


code: static int32 RoundToInt32 ( double F )


code: static int64 RoundToInt64 ( double F )


description:
Converts a double to nearest int64 with ties rounding to nearest even May incur a performance penalty. Asserts on platforms that do not support this mode.
The 64-bit integer closest to 'F', with ties going to the nearest even number

code: static int64 RoundToNearestTiesToEven ( double F )


description: Rounds the given number up to the next highest power of two.

code: static constexpr uint32 RoundUpToPowerOfTwo ( uint32 Arg )


code: static constexpr uint64 RoundUpToPowerOfTwo64 ( uint64 V )


description: Returns 1, 0, or -1 depending on relation of T to 0

code: template<class T> static constexpr T Sign ( const T A )


description: Returns a seeded random float in the range [0,1), using the seed fromSRandInit().

code: static float SRand()


description: Seeds future calls toSRand()

code: static void SRandInit ( int32 Seed )


description: Store float to half (F16) converts with RTNE = round to nearest even values too large for F16 are stored as +-Infhttps://gist.github.com/rygorous/2156668float_to_half_fast3_rtne

code: static constexpr void StoreHalf ( uint16 * Ptr, float Value )


description:
Converts a double to an integer value with truncation towards zero.
Truncated integer value.

code: static double TruncToDouble ( double F )


description:
Converts a float to an integer value with truncation towards zero.
Truncated integer value.

code: static float TruncToFloat ( float F )


code: static double TruncToFloat ( double F )


code: static constexpr int32 TruncToInt ( float F )


code: static constexpr int64 TruncToInt ( double F )


description:
Converts a float to an integer with truncation towards zero.
Truncated integer.

code: static constexpr int32 TruncToInt32 ( float F )


code: static constexpr int32 TruncToInt32 ( double F )


code: static constexpr int64 TruncToInt64 ( double F )


code: static constexpr void VectorLoadHalf ( float *__restrict Dst, const uint16 *__restrict Src )


code: static constexpr void WideVectorLoadHalf ( float *__restrict Dst, const uint16 *__restrict Src )


className: FGenericPlatformMath

description: Generic implementation for most platforms

code: struct FGenericPlatformMath


code: static constexpr void VectorStoreHalf ( uint16 *__restrict Dst, const float *__restrict Src )


code: static constexpr void WideVectorStoreHalf ( uint16 *__restrict Dst, const float *__restrict Src )


className: AllocatorToUse

description: Current allocator

code: static [EMemoryAllocatorToUse](API\Runtime\Core\GenericPlatform\FGenericPlatformMemory\EMemoryAllocatorToUse) AllocatorToUse = Platform;


className: BackupOOMMemoryPool

description: Preallocated buffer to delete on out of memory. Used by OOM handling and crash reporting.

code: static void * BackupOOMMemoryPool = nullptr;


description: the default allocator.

code: static [FMalloc](API\Runtime\Core\HAL\FMalloc) * BaseAllocator()


description: Memcpy optimized for big blocks.

code: static void * BigBlockMemcpy ( void * Dest, const void * Src, SIZE_T Count )


description:
Allocates pages from the OS.
OS allocated pointer for use by binned allocator

code: static void * BinnedAllocFromOS ( SIZE_T Size )


className: BackupOOMMemoryPoolSize

description: Size of BackupOOMMemoryPool in bytes.

code: static uint32 BackupOOMMemoryPoolSize;


description: Returns pages allocated by BinnedAllocFromOS to the OS.

code: static void BinnedFreeToOS ( void * Ptr, SIZE_T Size )


description: Some platforms may pool allocations of this size to reduce OS calls. This function serves as a hint for BinnedMalloc's CachedOSPageAllocator so it does not cache these allocations additionally

code: static bool BinnedPlatformHasMemoryPoolForThisSize ( SIZE_T Size )


className: bIsOOM

description: Set to true if we encounters out of memory.

code: static bool bIsOOM = false;


description: Dumps basic platform memory statistics and allocator specific statistics into the specified output device.

code: static void DumpPlatformAndAllocatorStats ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


className: EMemoryAllocatorToUse

description: Which allocator is being used

code: enum EMemoryAllocatorToUse { Ansi, Stomp, TBB, Jemalloc, Binned, Binned2, Binned3, Platform, Mimalloc, }


description: Dumps basic platform memory statistics into the specified output device.

code: static void DumpStats ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


className: EMemoryCounterRegion

description: Various memory regions that can be used with memory stats. The exact meaning of the enums are relatively platform-dependent, although the general ones (Physical, GPU) are straightforward. A platform can add more of these, and it won't affect other platforms, other than a minuscule amount of memory for the StatManager to track the max available memory for each region (uses an arrayFPlatformMemory::MCR_MAXbig)

code: enum EMemoryCounterRegion { MCR_Invalid, MCR_Physical, MCR_GPU, MCR_GPUSystem, MCR_TexturePool, MCR_StreamingPool, MCR_UsedStreamingPool, MCR_GPUDefragPool, MCR_PhysicalLLM, MCR_MAX, }


className: ESharedMemoryAccess

description: Flags used for shared memory creation/open

code: enum ESharedMemoryAccess { Read = (1 << 1), Write = (1 << 2), }


code: void &42; GetVirtualPointer&40;&41; const


code: FBasicVirtualMemoryBlock & operator&61; &40; const FBasicVirtualMemoryBlock & Other &41;


code: FBasicVirtualMemoryBlock &40; const FBasicVirtualMemoryBlock & Other &41;


code: FBasicVirtualMemoryBlock &40; void &42; InPtr, uint32 InVMSizeDivVirtualSizeAlignment &41;


className: FBasicVirtualMemoryBlock

code: class FBasicVirtualMemoryBlock


description: Returns the beginning of the region in process address space

code: void &42; GetAddress&40;&41;


code: const void &42; GetAddress&40;&41; const


description: Returns the name of the region

code: const TCHAR &42; GetName&40;&41; const


className: Limits

code: enum Limits { MaxSharedMemoryName = 128, }


description: Returns size of the region in bytes

code: SIZE_T GetSize&40;&41; const


code: FSharedMemoryRegion &40; const FString & InName, uint32 InAccessMode, void &42; InAddress, SIZE_T InSize &41;


className: FSharedMemoryRegion

description: Generic representation of a shared memory region

code: struct FSharedMemoryRegion

AccessMode

description: Access mode for the region

Address

description: The actual buffer

Name

type: TCHAR[MaxShared...

description: Name of the region

Size

description: Size of the buffer


description: how much memory the platform should pre-allocate for crash handling (this will be allocated ahead of time, and freed when system runs out of memory).

code: static uint32 GetBackMemoryPoolSize()


description: platform specific memory constants.

code: static const FPlatformMemoryConstants & GetConstants()


description: This function sets AllocFunction and FreeFunction and returns true, or just returns false. These functions are the platform dependant low low low level functions that LLM uses to allocate memory.

code: static bool GetLLMAllocFunctions ( void *(*&)(size_t) OutAllocFunction, void(*&)(void *, size_t) OutFreeFunction, int32 & OutAlignment )


description: Return which "high level", per platform, memory bucket we are in


description: memory used for platforms that can do it quickly (without affecting stat unit much)

code: static uint64 GetMemoryUsedFast()


description: approximate physical RAM in GB.

code: static uint32 GetPhysicalGBRam()


description: platform specific current memory statistics.


description: Writes all platform specific current memory statistics in the format usable by the malloc profiler.

code: static void GetStatsForMallocProfiler ( [FGenericMemoryStats](API\Runtime\Core\HAL\FGenericMemoryStats) & out_Stats )


description: Initializes platform memory specific constants.

code: static void Init()


description: Returns true if Protecting the parent processes pages has been enabled Only supported on platforms that support forking


description: Updates platform specific stats. This method is called through FGenericStatsUpdater from the task graph thread.

code: static void InternalUpdateStats ( const [FPlatformMemoryStats](API\Runtime\Core\Unix\FPlatformMemoryStats) & MemoryStats )


description: Returns true if debug memory has been assigned to the title for general use. Only applies to platforms with fixed memory and no paging.


description:
Nano Malloc is Apple's tiny block allocator. Does the Nano malloc zone exist?
True if Nano malloc is enabled and available.

code: static bool IsNanoMallocAvailable()


description:
Maps a named shared memory region into process address space (creates or opens it)
pointer toFSharedMemoryRegion(or its descendants) if successful, NULL if not.

code: static [FSharedMemoryRegion](API\Runtime\Core\GenericPlatform\FGenericPlatformMemory\FSharedMemoryRegion) * MapNamedSharedMemoryRegion ( const [FString](API\Runtime\Core\Containers\FString) & Name, bool bCreate, uint32 AccessMode, SIZE_T Size )


code: static int32 Memcmp ( const void * Buf1, const void * Buf2, SIZE_T Count )


code: static void * Memcpy ( void * Dest, const void * Src, SIZE_T Count )


description: Copies count bytes of characters from Src to Dest. If some regions of the source area and the destination overlap, memmove ensures that the original source bytes in the overlapping region are copied before being overwritten. NOTE: make sure that the destination buffer is the same size or larger than the source buffer!

code: static void * Memmove ( void * Dest, const void * Src, SIZE_T Count )


code: static void * Memset ( void * Dest, uint8 Char, SIZE_T Count )


code: static void Memswap ( void * Ptr1, void * Ptr2, SIZE_T Size )


code: static void * Memzero ( void * Dest, SIZE_T Count )


description: Performs initial setup for MiMalloc. This is a noop on platforms that do not support MiMalloc, or when MIMALLOC_ENABLED is not defined.

code: static void MiMallocInit()


description: Performs initial setup for Nano malloc. This is a noop on non-apple platforms

code: static void NanoMallocInit()


description: Called for all default tracker LLM allocations and frees, when LLM is enabled. Provides a single alloc/free hook that platforms can implement to support platform specific memory analysis tools.

code: static void OnLowLevelMemory_Alloc ( void const * Pointer, uint64 Size, uint64 Tag )


code: static void OnLowLevelMemory_Free ( void const * Pointer, uint64 Size, uint64 Tag )


code: static void OnOutOfMemory ( uint64 Size, uint32 Alignment )


className: OOMAllocationAlignment

description: Set to alignment of allocation that triggered out of memory, zero otherwise.

code: static uint32 OOMAllocationAlignment = 0;


className: OOMAllocationSize

description: Set to size of allocation that triggered out of memory, zero otherwise.

code: static uint64 OOMAllocationSize = 0;


description:
Changes the protection on a region of committed pages in the virtual address space.
True if the specified pages' protection mode was changed.

code: static bool PageProtect ( void *const Ptr, const SIZE_T Size, const bool bCanRead, const bool bCanWrite )


description: On some platforms memcpy can be distributed over multiple threads for throughput.

code: static void * ParallelMemcpy ( void * Dest, const void * Src, SIZE_T Count, EMemcpyCachePolicy Policy )


description:
Was this pointer allocated by in the Nano Malloc Zone? Currently only Apple platforms implement this to detect small block allocations.
True if this pointer is in the Nano Malloc Region

code: static bool PtrIsFromNanoMalloc ( void * Ptr )


description:
Was this pointer allocated by the OS malloc? Currently only Apple platforms implement this to detect small block allocations.
True if this pointer was allocated by the OS.

code: static bool PtrIsOSMalloc ( void * Ptr )


description:
Loads a simple POD type from unaligned memory.
Value at Ptr

code: template<typename T> static T ReadUnaligned ( const void * Ptr )


description: Called once at LLM initialization time to let the platform add any custom tags

code: static void RegisterCustomLLMTags()


description: Initializes the memory pools, should be called by the init function.

code: static void SetupMemoryPools()


description: On some platforms memcpy optimized for big blocks that avoid L2 cache pollution are available

code: static void * StreamingMemcpy ( void * Dest, const void * Src, SIZE_T Count )


description:
Gets whether this platform supports Fast VRAM memory Ie, whether TexCreate_FastVRAM flags actually mean something or not
bool true if supported, false if not

code: static bool SupportsFastVRAMMemory()


description: GetLLMAllocFunctions

code: static bool TracksLLMAllocations()


description:
Unmaps a name shared memory region
true if successful

code: static bool UnmapNamedSharedMemoryRegion ( [FSharedMemoryRegion](API\Runtime\Core\GenericPlatform\FGenericPlatformMemory\FSharedMemoryRegion) * MemoryRegion )


description: Called once per frame when LLM is collating the data for the current frame. Can be used to set platform-specific calculated tag data via SetTagAmountForTracker

code: static void UpdateCustomLLMTags()