description:
For case insensitive filesystems, returns the full path of the file with the same case as in the filesystem.
Filename with the same case as in the filesystem.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetFilenameOnDisk ( const TCHAR * Filename )


description: Return the stat data for the given file or directory. Check theFFileStatData::bIsValidmember before using the returned data

module: Core

code: virtual [FFileStatData](API\Runtime\Core\GenericPlatform\FFileStatData) GetStatData ( const TCHAR * FilenameOrDirectory )


description: the modification time of the given file (orFDateTime::MinValue()on failure)

code: virtual [FDateTime](API\Runtime\Core\Misc\FDateTime) GetTimeStamp ( const TCHAR * Path )


code: virtual void GetTimeStampPair ( const TCHAR * PathA, const TCHAR * PathB, [FDateTime](API\Runtime\Core\Misc\FDateTime) & OutTimeStampA, [FDateTime](API\Runtime\Core\Misc\FDateTime) & OutTimeStampB )


description: Checks if a file is read-only.

code: virtual bool IsReadOnly ( const TCHAR * Filename )


description: Returns whether the sandbox is enabled or not

code: virtual bool IsSandboxEnabled() const


description:
Call the Visit function of the visitor once for each file or directory in a single directory. This function does not explore subdirectories.
false if the directory did not exist or if the visitor returned false.

code: virtual bool IterateDirectory ( const TCHAR * Directory, [IPlatformFile::FDirectoryVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitor) & Visitor )


description:
Call the visitor once for each file or directory in a single directory. This function does not explore subdirectories.
false if the directory did not exist or if the visitor returned false.

code: virtual bool IterateDirectory ( const TCHAR * Directory, [IPlatformFile::FDirectoryVisitorFunc](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitorFunc) Visitor )


description:
Call the Visit function of the visitor once for each file or directory in a directory tree. This function explores subdirectories.
false if the directory did not exist or if the visitor returned false.

code: virtual bool IterateDirectoryRecursively ( const TCHAR * Directory, [IPlatformFile::FDirectoryVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitor) & Visitor )


code: virtual bool IterateDirectoryRecursively ( const TCHAR * Directory, [IPlatformFile::FDirectoryVisitorFunc](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitorFunc) Visitor )


code: virtual bool IterateDirectoryStat ( const TCHAR * Directory, [IPlatformFile::FDirectoryStatVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitor) & Visitor )


code: virtual bool IterateDirectoryStat ( const TCHAR * Directory, [IPlatformFile::FDirectoryStatVisitorFunc](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitorFunc) Visitor )


code: virtual bool IterateDirectoryStatRecursively ( const TCHAR * Directory, [IPlatformFile::FDirectoryStatVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitor) & Visitor )


code: virtual bool IterateDirectoryStatRecursively ( const TCHAR * Directory, [IPlatformFile::FDirectoryStatVisitorFunc](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitorFunc) Visitor )


description: Creates a directory.

code: virtual bool MakeDirectory ( const TCHAR * Path, bool Tree )


description: Moves/renames a file.

code: virtual bool Move ( const TCHAR * Dest, const TCHAR * Src, bool Replace, bool EvenIfReadOnly, bool Attributes, bool bDoNotRetryOrError )


description: Allow the file manager to handle the commandline


description:
Sends a message to the file server, and will block until it's complete. Will return immediately if the file manager doesn't support talking to a server.
true if the message was sent to server and it returned success, or false if there is no server, or the command failed

code: virtual bool SendMessageToServer ( const TCHAR * Message, [IPlatformFile::IFileServerMessageHandler](API\Runtime\Core\GenericPlatform\IPlatformFile\IFileServerMessageHandler) * Handler )


description: Enables/disables the sandbox, if it is being used

code: virtual void SetSandboxEnabled ( bool bInEnabled )


description: Default constructor.

code: FFileManagerGeneric()


description: Sets the modification time of the given file

code: virtual bool SetTimeStamp ( const TCHAR * Path, [FDateTime](API\Runtime\Core\Misc\FDateTime) TimeStamp )


description: Virtual destructor.

code: virtual ~FFileManagerGeneric()


className: FFileManagerGeneric

description: This base class simplifiesIFileManagerimplementations by providing simple, unoptimized implementations of functions whose implementations can be derived from other functions.

code: class FFileManagerGeneric : public [IFileManager](API\Runtime\Core\HAL\IFileManager)


className: FFunctionHeartBeatScope

description: Simple scope object to put at the top of a function to monitor it completes in a timely fashion

code: struct FFunctionHeartBeatScope


className: EConstants

code: enum EConstants { InvalidThreadId = (uint32)-1, }


description: Called at the start of a frame to register the time we are looking to detect a hitch

code: void FrameStart ( bool bSkipThisFrame )


description: Gets the heartbeat singleton

code: static [FGameThreadHitchHeartBeatThreaded](API\Runtime\Core\HAL\FGameThreadHitchHeartBeatThreade-) & Get()


description: Gets the heartbeat singleton

code: static [FGameThreadHitchHeartBeatThreaded](API\Runtime\Core\HAL\FGameThreadHitchHeartBeatThreade-) * GetNoInit()


description: No-op, used inFUnixSignalGameHitchHeartBeat.

code: void Restart()


description: Resume heartbeat hitch detection. Call only after first calling SuspendHeartBeat.

code: void ResumeHeartBeat()


description: Exit

code: virtual uint32 Run()


className: Singleton

code: static [FGameThreadHitchHeartBeatThreaded](API\Runtime\Core\HAL\FGameThreadHitchHeartBeatThreade-) * Singleton = nullptr;


description: Exit

code: virtual void Stop()


description: Suspend heartbeat hitch detection. Must call ResumeHeartBeat later to resume.

code: void SuspendHeartBeat()


className: FGameThreadHitchHeartBeatThreaded

description: No destructors are accessible with public or protected access.

code: class FGameThreadHitchHeartBeatThreaded : public [FRunnable](API\Runtime\Core\HAL\FRunnable)


code: void Add ( const TCHAR * StatDescription, const SIZE_T StatValue )


description: Exit

code: virtual bool Init()


className: FGenericMemoryStats

description: Holds generic memory stats, internally implemented as a map.

code: struct FGenericMemoryStats

Data

type: TMap<FString, ...


description:
Flushes file handle to disk.
true if operation completed successfully.

code: virtual bool Flush ( const bool bFullFlush )


description:
Read bytes from the file.
true if the operation completed successfully.

code: virtual bool Read ( uint8 * Destination, int64 BytesToRead )


description:
Change the current write or read position.
true if the operation completed successfully.

code: virtual bool Seek ( int64 NewPosition )


description:
Change the current write or read position, relative to the end of the file.
true if the operation completed successfully.

code: virtual bool SeekFromEnd ( int64 NewPositionRelativeToEnd )


description: Minimizes optional system or process cache kept for the file.

code: virtual void ShrinkBuffers()


description: Return the total size of the file

code: virtual int64 Size()


description: Return the current write or read position.

code: virtual int64 Tell()


description:
Truncate the file to the given size (in bytes).
true if the operation completed successfully.

code: virtual bool Truncate ( int64 NewSize )


description:
Write bytes to the file.
true if the operation completed successfully.

code: virtual bool Write ( const uint8 * Source, int64 BytesToWrite )


code: FLoggedFileHandle ( [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle) * InFileHandle, const TCHAR * InFilename, [FLoggedPlatformFile](API\Runtime\Core\HAL\FLoggedPlatformFile) & InOwner )


className: FLoggedFileHandle

code: class FLoggedFileHandle : public [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle)


description:
Copy a file. This will fail if the destination file already exists.
true if the file was copied sucessfully.

code: virtual bool CopyFile ( const TCHAR * To, const TCHAR * From, EPlatformFileRead ReadFlags, EPlatformFileWrite WriteFlags )


description: Create a directory and return true if the directory was created or already existed.

code: virtual bool CreateDirectory ( const TCHAR * Directory )


description:
Delete all files and subdirectories in a directory, then delete the directory itself
true if the directory was deleted or did not exist.

code: virtual bool DeleteDirectoryRecursively ( const TCHAR * Directory )


description: Delete a directory and return true if the directory was deleted or otherwise does not exist.

code: virtual bool DeleteDirectory ( const TCHAR * Directory )


description: Delete a file and return true if the file exists. Will not delete read only files.

code: virtual bool DeleteFile ( const TCHAR * Filename )


description: Return true if the directory exists.

code: virtual bool DirectoryExists ( const TCHAR * Directory )


description: Return the size of the file, or -1 if it doesn't exist.

code: virtual int64 FileSize ( const TCHAR * Filename )


description: Return true if the file exists.

code: virtual bool FileExists ( const TCHAR * Filename )


description:
Callback for a single file or a directory in a directory iteration.
true if the iteration should continue.

code: virtual bool Visit &40; const TCHAR &42; FilenameOrDirectory, const FFileStatData & StatData &41;


code: FLogStatVisitor &40; FDirectoryStatVisitor & InVisitor &41;


className: FLogStatVisitor

code: class FLogStatVisitor : public [IPlatformFile::FDirectoryStatVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitor)

Visitor

type: FDirectoryStatV...


code: virtual bool Visit &40; const TCHAR &42; FilenameOrDirectory, bool bIsDirectory &41;


code: FLogVisitor &40; FDirectoryVisitor & InVisitor &41;


className: FLogVisitor

code: class FLogVisitor : public [IPlatformFile::FDirectoryVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitor)

type: FDirectoryVisit...


description: Return the last access time of a file. ReturnsFDateTime::MinValue()on failure

code: virtual [FDateTime](API\Runtime\Core\Misc\FDateTime) GetAccessTimeStamp ( const TCHAR * Filename )


description: Gets the platform file wrapped by this file.

code: virtual [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * GetLowerLevel()


description: For case insensitive filesystems, returns the full path of the file with the same case as in the filesystem

code: virtual [FString](API\Runtime\Core\Containers\FString) GetFilenameOnDisk ( const TCHAR * Filename )


description: Gets this platform file type name.

code: virtual const TCHAR * GetName() const


description: Return the stat data for the given file or directory. Check theFFileStatData::bIsValidmember before using the returned data

code: virtual [FFileStatData](API\Runtime\Core\GenericPlatform\FFileStatData) GetStatData ( const TCHAR * FilenameOrDirectory )


description: Return the modification time of a file. ReturnsFDateTime::MinValue()on failure

code: virtual [FDateTime](API\Runtime\Core\Misc\FDateTime) GetTimeStamp ( const TCHAR * Filename )


description:
Initializes platform file.
true if the initialization was successful, false otherise.

code: virtual bool Initialize ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * Inner, const TCHAR * CmdLine )


code: void HandleDumpCommand ( const TCHAR * Cmd, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


description: Return true if the file is read only.

code: virtual bool IsReadOnly ( const TCHAR * Filename )


description:
Call the Visit function of the visitor once for each file or directory in a single directory. This function does not explore subdirectories.
false if the directory did not exist or if the visitor returned false.

code: virtual bool IterateDirectory ( const TCHAR * Directory, [IPlatformFile::FDirectoryVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitor) & Visitor )


description:
Call the Visit function of the visitor once for each file or directory in a directory tree. This function explores subdirectories.
false if the directory did not exist or if the visitor returned false.

code: virtual bool IterateDirectoryRecursively ( const TCHAR * Directory, [IPlatformFile::FDirectoryVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitor) & Visitor )


code: virtual bool IterateDirectoryStat ( const TCHAR * Directory, [IPlatformFile::FDirectoryStatVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitor) & Visitor )


code: virtual bool IterateDirectoryStatRecursively ( const TCHAR * Directory, [IPlatformFile::FDirectoryStatVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitor) & Visitor )


description: Attempt to move a file. Return true if successful. Will not overwrite existing files.

code: virtual bool MoveFile ( const TCHAR * To, const TCHAR * From )


code: void OnHandleClosed ( const [FString](API\Runtime\Core\Containers\FString) & Filename )


code: void OnHandleOpen ( const [FString](API\Runtime\Core\Containers\FString) & Filename )


description:
Open a file for async reading. This call does not hit the disk or block.
Close the file by delete'ing the handle. A non-null return value does not mean the file exists, since that may not be determined yet.

code: virtual [IAsyncReadFileHandle](API\Runtime\Core\Async\IAsyncReadFileHandle) * OpenAsyncRead ( const TCHAR * Filename )


description:
Open a file for async reading. This call does hit the disk; it is synchronous open.
Close the file by delete'ing the handle. A non-null return value does mean the file exists. Null can be returned for many reasons even if the file exists. Perhaps this platform does not support mapped files, or this file is compressed in a pak file. Generally you attempt to open mapped, and if that fails, then use other file operations instead.

code: virtual [IMappedFileHandle](API\Runtime\Core\Async\IMappedFileHandle) * OpenMapped ( const TCHAR * Filename )


description:
Attempt to open a file for reading.
If successful will return a non-nullptr pointer. Close the file by delete'ing the handle.

code: virtual [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle) * OpenRead ( const TCHAR * Filename, bool bAllowWrite )


description: Attempt to open a file for writing. If successful will return a non-nullptr pointer. Close the file by delete'ing the handle.

code: virtual [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle) * OpenWrite ( const TCHAR * Filename, bool bAppend, bool bAllowRead )


description: Controls if the pak precacher should process precache requests. Requests below this threshold will not get precached. Without this throttle, quite a lot of memory can be consumed if the disk races ahead of the CPU.

code: virtual void SetAsyncMinimumPriority ( EAsyncIOPriorityAndFlags MinPriority )


description: Sets the platform file wrapped by this file.

code: virtual void SetLowerLevel ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * NewLowerLevel )


description: Attempt to change the read only status of a file. Return true if successful.

code: virtual bool SetReadOnly ( const TCHAR * Filename, bool bNewReadOnlyValue )


description: Sets the modification time of a file

code: virtual void SetTimeStamp ( const TCHAR * Filename, [FDateTime](API\Runtime\Core\Misc\FDateTime) DateTime )


description: Checks if this platform file should be used even though it was not asked to be. i.e. pak files exist on disk so we should use a pak file

code: virtual bool ShouldBeUsed ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * Inner, const TCHAR * CmdLine ) const


className: FLoggedPlatformFile

code: class FLoggedPlatformFile : public [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile)


description:
Submit an async request and/or wait for an async request
A request for the read. This is owned by the caller and must be deleted by the caller.

code: virtual [IAsyncReadRequest](API\Runtime\Core\Async\IAsyncReadRequest) * ReadRequest ( int64 Offset, int64 BytesToRead, EAsyncIOPriorityAndFlags PriorityAndFlags, FAsyncFileCallBack * CompleteCallback, uint8 * UserSuppliedMemory )


description:
Request the size of the file. This is also essentially the existence check.
A request for the size. This is owned by the caller and must be deleted by the caller.

code: virtual [IAsyncReadRequest](API\Runtime\Core\Async\IAsyncReadRequest) * SizeRequest ( FAsyncFileCallBack * CompleteCallback )


code: FLoggingAsyncReadFileHandle ( [FPlatformFileOpenLog](API\Runtime\Core\HAL\FPlatformFileOpenLog) * InOwner, const TCHAR * InFilename, [IAsyncReadFileHandle](API\Runtime\Core\Async\IAsyncReadFileHandle) * InActualRequest )


className: FLoggingAsyncReadFileHandle

code: class FLoggingAsyncReadFileHandle : public [IAsyncReadFileHandle](API\Runtime\Core\Async\IAsyncReadFileHandle)


description: Clears the TLS caches on the current thread and disables any future caching.


description: Free

code: void Free ( void * Original )


description: Dumps current allocator stats to the log.

code: virtual void DumpAllocatorStats ( class [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


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 )


description: Writes allocator stats from the last update into the specified destination.

code: virtual void GetAllocatorStats ( [FGenericMemoryStats](API\Runtime\Core\HAL\FGenericMemoryStats) & out_Stats )


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

code: virtual const TCHAR * GetDescriptiveName()


description: Initializes stats metadata. We need to do this as soon as possible, but cannot be done in the constructor due to the FName::StaticInit

code: virtual void InitializeStatsMetadata()


description: Malloc

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


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


className: MaxSingleAlloc

description: Memory allocator base stats.

code: static [TAtomic](API\Runtime\Core\HAL\TAtomic)< uint64 > MaxSingleAlloc;


description: Notifies the malloc implementation that initialization of all allocators in GMalloc is complete, so it's safe to initialize any extra features that require "regular" allocations

code: virtual void OnMallocInitialized()


description: Notifies the malloc implementation that the process has forked so we can try and avoid dirtying pre-fork pages.

code: virtual void OnPostFork()


description: Notifies the malloc implementation that the process is about to fork. May be used to trim caches etc.

code: virtual void OnPreFork()


description: For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. The return value will always be >= Count. This can be used to grow and shrink containers to optimal sizes. This call is always fast and threadsafe with no locking.

code: virtual SIZE_T QuantizeSize ( SIZE_T Count, uint32 Alignment )


description: Realloc

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


description: Set up TLS caches on the current thread. These are the threads that we can trim.


description: TryMalloc - likeMalloc(), but may return a nullptr result if the allocation request cannot be satisfied.

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


description: TryRealloc - likeRealloc(), but may return a nullptr if the allocation request cannot be satisfied. Note that in this case the memory pointed to by Original will still be valid

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


description: Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. MUST BE THREAD SAFE.

code: virtual void UpdateStats()


className: FMalloc

description: The global memory allocator's interface.

code: class FMalloc : public [FUseSystemMallocForNew](API\Runtime\Core\HAL\FUseSystemMallocForNew), public [FExec](API\Runtime\Core\Misc\FExec)


description: Validates the allocator's heap

code: virtual bool ValidateHeap()


description: Releases as much memory as possible. Must be called from the main thread.

code: virtual void Trim ( bool bTrimThreadCaches )


description: Free

code: virtual void Free ( void * Original )


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


code: virtual const TCHAR * GetDescriptiveName()


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


description: Malloc

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


description: Realloc

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


description: Constructor enabling low fragmentation heap on platforms supporting it.

code: FMallocAnsi()


className: FMallocAnsi

description: ANSI C memory allocator.

code: class FMallocAnsi : public [FMalloc](API\Runtime\Core\HAL\FMalloc)


description: Dumps allocator stats to an output device. Subclasses should override to add additional info

code: virtual void DumpAllocatorStats ( class [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


description: Maximum allocation for the pooled allocator

code: enum { EXTENDED_PAGE_POOL_ALLOCATION_COUNT = 2 }


className: FFreeMem

description: Information about a piece of free memory. 16 bytes

code: struct FFreeMem

Next

type: FFreeMem*

description: Next or MemLastPool[], always in order by pool.

NumFreeBlocks

description: Number of consecutive free blocks here, at least 1.


code: UPTRINT GetOsBytes &40; uint32 InPageSize, uint32 SmallAllocLimt &41; const


code: void Link &40; FPoolInfo &42;& Before &41;


code: void SetAllocationSizes &40; uint32 InBytes, UPTRINT InOsBytes, uint32 InTableIndex, uint32 SmallAllocLimt &41;


className: FPoolInfo

code: struct FPoolInfo

AllocSize

description: Number of bytes allocated

FirstMem

description: Pointer to first free memory in this pool or the OS Allocation Size in bytes if this allocation is not binned

Next

type: FPoolInfo*

Padding

description: Explicit padding for 32 bit builds

PrevLink

type: FPoolInfo*...

TableIndex

description: Indexof pool.

Taken

description: Number of allocated elements in this pool, when counts down to zero can free the entire pool.


description: Free

code: virtual void Free ( void * Ptr )


description: Writes allocator stats from the last update into the specified destination.

code: virtual void GetAllocatorStats ( [FGenericMemoryStats](API\Runtime\Core\HAL\FGenericMemoryStats) & out_Stats )


description: Initializes stats metadata. We need to do this as soon as possible, but cannot be done in the constructor due to the FName::StaticInit

code: virtual void InitializeStatsMetadata()


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: Malloc

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


code: enum { MAX_POOLED_ALLOCATION_SIZE = 32768+1 }


code: void Link &40; PoolHashBucket &42; After &41;


code: static void Link &40; PoolHashBucket &42; Node, PoolHashBucket &42; Before, PoolHashBucket &42; After &41;


description: Counts.

code: enum { POOL_COUNT = 41 }


description: Allocates a hash bucket from the free list of hash buckets

code: static PoolHashBucket &42; AllocateHashBucket &40; FMallocBinned & Allocator &41;


className: PoolHashBucket

description: Hash table struct for retrieving allocation book keeping information

code: struct PoolHashBucket

Key

type: UPTRINT

Next

type: PoolHashBucket...


code: static FFreeMem &42; AllocateBlockFromPool &40; FMallocBinned & Allocator, FPoolTable &42; Table, FPoolInfo &42; Pool, uint32 Alignment &41;


code: static FPoolInfo &42; AllocatePoolMemory &40; FMallocBinned & Allocator, FPoolTable &42; Table, uint32 PoolSize, uint16 TableIndex &41;


code: enum &123; BINNED_ALLOC_POOL_SIZE = 65536 &125;


className: bHasInitializedStatsMetadata

code: static bHasInitializedStatsMetadata = false;


description: Returns a newly created and initializedPoolHashBucketfor use.

code: static PoolHashBucket &42; CreateHashBucket &40; FMallocBinned & Allocator &41;


description: Initializes tables for HashBuckets if they haven't already been initialized.

code: static PoolHashBucket &42; CreateHashBuckets &40; const FMallocBinned & Allocator &41;


description: Create a 64k page ofFPoolInfostructures for tracking allocations

code: static FPoolInfo &42; CreateIndirect &40; FMallocBinned & Allocator &41;


description: Default alignment for binned allocator

code: enum &123; DEFAULT_BINNED_ALLOCATOR_ALIGNMENT = sizeof(FFreeMem) &125;


code: static FPoolInfo &42; FindPoolInfo &40; FMallocBinned & Allocator, UPTRINT Ptr1, UPTRINT & AllocationBase &41;


code: static FPoolInfo &42; FindPoolInfoInternal &40; FMallocBinned & Allocator, UPTRINT Ptr, uint16 & JumpOffset &41;


description: Clear and Process the list of frees to be deallocated. It's the callers responsibility to Lock AccessGuard before calling this

code: static void FlushPendingFrees &40; FMallocBinned & Allocator &41;


description: Releases memory back to the system. This is not protected from multi-threaded access and it's the callers responsibility to Lock AccessGuard before calling this.

code: static void FreeInternal &40; FMallocBinned & Allocator, void &42; Ptr &41;


description: Gets theFPoolInfofor a memory address. If no valid info exists one is created. NOTE: This function requires a mutex across threads, but its is the callers responsibility to acquire the mutex before calling

code: static FPoolInfo &42; GetPoolInfo &40; FMallocBinned & Allocator, UPTRINT Ptr &41;


description: Initializes bucket with valid parameters

code: static void InitializeHashBucket &40; FMallocBinned & Allocator, PoolHashBucket &42; Bucket &41;


code: static void &42; OSAlloc &40; FMallocBinned & Allocator, SIZE_T NewSize, SIZE_T & OutActualSize &41;


code: static void OSFree &40; FMallocBinned & Allocator, void &42; Ptr, SIZE_T Size &41;


code: static void OutOfMemory &40; uint64 Size, uint32 Alignment &41;


code: static void PushFreeLockless &40; FMallocBinned & Allocator, void &42; Ptr &41;


code: static void &42; SmallOSAlloc &40; FMallocBinned & Allocator, SIZE_T NewSize, SIZE_T & OutActualSize &41;


code: static void SmallOSFree &40; FMallocBinned & Allocator, void &42; Ptr, SIZE_T Size &41;


code: static void TrackStats &40; FPoolTable &42; Table, uint32 Size &41;


code: static void UpdateSlackStat &40; FMallocBinned & Allocator &41;


description: For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. The return value will always be >= Count. This can be used to grow and shrink containers to optimal sizes. This call is always fast and threadsafe with no locking.

code: virtual SIZE_T QuantizeSize ( SIZE_T Count, uint32 Alignment )


description: Realloc

code: virtual void * Realloc ( void * Ptr, SIZE_T NewSize, uint32 Alignment )


description: Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. MUST BE THREAD SAFE.

code: virtual void UpdateStats()


description: Validates the allocator's heap

code: virtual bool ValidateHeap()


description: InPageSize - First parameter is page size, all allocs from BinnedAllocFromOS() MUST be aligned to this size AddressLimit - Second parameter is estimate of the range of addresses expected to be returns by BinnedAllocFromOS(). Binned Malloc will adjust its internal structures to make lookups for memory allocations O(1) for this range. It is ok to go outside this range, lookups will just be a little slower

code: FMallocBinned ( uint32 InPageSize, uint64 AddressLimit )


className: FMallocBinned

description: Malloc binned allocator specific stats. Optimized virtual memory allocator.

code: class FMallocBinned : public [FMalloc](API\Runtime\Core\HAL\FMalloc)


code: uint32 BoundSizeToPoolIndex ( SIZE_T Size )


code: enum &123; SMALL_BLOCK_POOL_SIZE = 0 &125;


code: void CanaryFail ( const FFreeBlock * Block ) const


code: void CanaryTest ( const FFreeBlock * Block ) const


description: Clears the TLS caches on the current thread and disables any future caching.


className: CurrentCanary

code: static constexpr EBlockCanary CurrentCanary = EBlockCanary::Value;


description: Dumps current allocator stats to the log.

code: virtual void DumpAllocatorStats ( class [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


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


code: void CheckCanary &40; ECanary ShouldBe &41; const


className: ECanary

code: enum ECanary { Unassigned = 0x3941, FirstFreeBlockIsOSAllocSize = 0x17ea, FirstFreeBlockIsPtr = 0xf317, }


code: static bool IsSupportedSize &40; SIZE_T Size &41;


code: bool HasFreeRegularBlock&40;&41; const


code: void Link &40; FPoolInfo &42;& PrevNext &41;


code: void SetCanary &40; ECanary ShouldBe, bool bPreexisting, bool bGuaranteedToBeNew &41;


code: void SetOSAllocationSizes &40; SIZE_T InRequestedBytes, UPTRINT InAllocatedBytes &41;


code: struct FPoolInfo

Canary

type: ECanary

FirstFreeBlock

type: FFreeBlock *...


description: Free

code: virtual void Free ( void * Original )


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: bool GetAllocationSizeExternal ( void * Ptr, SIZE_T & SizeOut )


description: Writes allocator stats from the last update into the specified destination.

code: virtual void GetAllocatorStats ( [FGenericMemoryStats](API\Runtime\Core\HAL\FGenericMemoryStats) & out_Stats )


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

code: virtual const TCHAR * GetDescriptiveName()


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: Malloc

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


code: static [FMallocBinned2](API\Runtime\Core\HAL\FMallocBinned2) * MallocBinned2 = nullptr;


code: void * MallocExternalLarge ( SIZE_T Size, uint32 Alignment )


code: void * MallocExternalSmall ( SIZE_T Size, uint32 Alignment )


code: void * MallocInline ( SIZE_T Size, uint32 Alignment )


code: void * MallocSelect ( SIZE_T Size, uint32 Alignment )


className: MemSizeToIndex

description: Mapping of sizes to small table indices.

code: static uint8 MemSizeToIndex = { 0 };


description: Notifies the malloc implementation that initialization of all allocators in GMalloc is complete, so it's safe to initialize any extra features that require "regular" allocations

code: virtual void OnMallocInitialized()


description: Notifies the malloc implementation that the process has forked so we can try and avoid dirtying pre-fork pages.

code: virtual void OnPostFork()


description: Notifies the malloc implementation that the process is about to fork. May be used to trim caches etc.

code: virtual void OnPreFork()


className: OsAllocationGranularity

code: static uint32 OsAllocationGranularity = 0;


code: void Link &40; PoolHashBucket &42; After &41;


description: Hash table struct for retrieving allocation book keeping information

code: struct PoolHashBucket


code: uint32 PoolIndexToBlockSize ( uint32 PoolIndex )


code: FBundleNode &42; PopBundle &40; uint32 InPoolIndex &41;


className: FGlobalRecycler

description:
PushBundle(
uint32 InPoolIndex,FBundleNode* InBundle)

code: struct FGlobalRecycler


code: static FPoolInfo &42; FindPoolInfo &40; FMallocBinned2 & Allocator, void &42; InPtr &41;


code: static void FreeBundles &40; FMallocBinned2 & Allocator, FBundleNode &42; BundlesToRecycle, uint32 InBlockSize, uint32 InPoolIndex &41;


code: static FCriticalSection & GetFreeBlockListsRegistrationMutex&40;&41;


description: Gets theFPoolInfofor a memory address. If no valid info exists one is created.

code: static FPoolInfo &42; GetOrCreatePoolInfo &40; FMallocBinned2 & Allocator, void &42; InPtr, FMallocBinned2::FPoolInfo::ECanary Kind, bool bPreexisting &41;


code: static TArray< FPerThreadFreeBlockLists &42; > & GetRegisteredFreeBlockLists&40;&41;


className: GGlobalRecycler

code: static GGlobalRecycler;


code: static void OutOfMemory &40; uint64 Size, uint32 Alignment &41;


code: static void RegisterThreadFreeBlockLists &40; FPerThreadFreeBlockLists &42; FreeBlockLists &41;


code: bool PushBundle &40; uint32 InPoolIndex, FBundleNode &42; InBundle &41;


code: static void UnregisterThreadFreeBlockLists &40; FPerThreadFreeBlockLists &42; FreeBlockLists &41;


description: For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. The return value will always be >= Count. This can be used to grow and shrink containers to optimal sizes. This call is always fast and threadsafe with no locking.

code: virtual SIZE_T QuantizeSize ( SIZE_T Count, uint32 Alignment )


code: void * ReallocExternal ( void * Ptr, SIZE_T NewSize, uint32 Alignment )


description: Realloc

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


code: void * ReallocInline ( void * Ptr, SIZE_T NewSize, uint32 Alignment )


description: Set up TLS caches on the current thread. These are the threads that we can trim.


className: SmallBlockSizesReversed

code: static uint16 SmallBlockSizesReversed = { 0 };


description: Releases as much memory as possible. Must be called from the main thread.

code: virtual void Trim ( bool bTrimThreadCaches )


description: Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. MUST BE THREAD SAFE.

code: virtual void UpdateStats()


code: static bool UseSmallAlloc ( SIZE_T Size, uint32 Alignment )


description: Validates the allocator's heap

code: virtual bool ValidateHeap()


description: Optimized virtual memory allocator.

code: class FMallocBinned2 : public [FMalloc](API\Runtime\Core\HAL\FMalloc)


className: CallStackEntriesToSkipCount

code: static constexpr SIZE_T CallStackEntriesToSkipCount = 2;


description: Clears the TLS caches on the current thread and disables any future caching.


description: Dumps current allocator stats to the log.

code: virtual void DumpAllocatorStats ( class [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


code: void DumpStackTraceToLog ( int32 StackIndex )


code: FCallStackMapKey &40; uint64 &42; InCallStack &41;


description: Free

code: virtual void Free ( void * Original )


className: FCallStackMapKey

description: Used as a key in our current allocations/freed allocations maps

code: struct FCallStackMapKey

CallStack

type: uint64 *


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 )


description: Writes allocator stats from the last update into the specified destination.

code: virtual void GetAllocatorStats ( [FGenericMemoryStats](API\Runtime\Core\HAL\FGenericMemoryStats) & out_Stats )


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

code: virtual const TCHAR * GetDescriptiveName()


description: Initializes stats metadata. We need to do this as soon as possible, but cannot be done in the constructor due to the FName::StaticInit

code: virtual void InitializeStatsMetadata()


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: Malloc

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


className: MaxCallStackDepth

code: static constexpr SIZE_T MaxCallStackDepth = 64;


description: Notifies the malloc implementation that initialization of all allocators in GMalloc is complete, so it's safe to initialize any extra features that require "regular" allocations

code: virtual void OnMallocInitialized()


description: Notifies the malloc implementation that the process is about to fork. May be used to trim caches etc.

code: virtual void OnPreFork()


description: Notifies the malloc implementation that the process has forked so we can try and avoid dirtying pre-fork pages.

code: virtual void OnPostFork()


description: For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. The return value will always be >= Count. This can be used to grow and shrink containers to optimal sizes. This call is always fast and thread safe with no locking.

code: virtual SIZE_T QuantizeSize ( SIZE_T Count, uint32 Alignment )


description: Realloc

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


code: void TrackFree ( void * Ptr, uint32 OldSize, int32 CallStackIndex )


code: void TrackMalloc ( void * Ptr, uint32 Size, int32 CallStackIndex )


code: virtual void Trim ( bool bTrimThreadCaches )


code: virtual void UpdateStats()


description: Validates the allocator's heap

code: virtual bool ValidateHeap()


code: FMallocCallstackHandler ( [FMalloc](API\Runtime\Core\HAL\FMalloc) * InMalloc )


description: Alignment.

code: enum { ALLOCATION_ALIGNMENT = 16 }


className: FMallocCallstackHandler

code: class FMallocCallstackHandler : public [FMalloc](API\Runtime\Core\HAL\FMalloc)

CallStackInfoArray

type: TArray<FCallSt...

CallStackMapKeyToCallStackIndexMap

type: TMap<FCallStac...

CriticalSection

type: FCriticalSectio...

Initialized

type: bool

RWLock

type: FRWLock

UsedMalloc

type: FMalloc*

description: Malloc we're based on, aka using under the hood


className: AllocatorOverhead

code: static constexpr uint32 AllocatorOverhead = sizeof(FMemDebug) + sizeof(FMemDebug*) + sizeof(int32) + ALLOCATION_ALIGNMENT + sizeof(int32);


description: Dumps details about all allocations to an output device

code: virtual void DumpAllocatorStats ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


code: virtual void TrackRealloc ( void * OldPtr, void * NewPtr, uint32 NewSize, uint32 OldSize, int32 CallStackIndex )


description: Final override of Exec that asserts if called

code: virtual bool Exec ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, const TCHAR * Cmd, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


description: Free

code: virtual void Free ( void * InPtr )


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


code: virtual const TCHAR * GetDescriptiveName()


description: Malloc

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


description: Tags.

code: enum { MEM_PreTag = 0xf0ed1cee }


description: Number of block sizes to collate (in steps of 4 bytes)

code: enum { MEM_SizeMax = 128 }


description: Realloc

code: virtual void * Realloc ( void * InPtr, SIZE_T NewSize, uint32 Alignment )


className: FMallocDebug

description: Debug memory allocator.

code: class FMallocDebug : public [FMalloc](API\Runtime\Core\HAL\FMalloc)


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


code: TrackedAllocationData &40; SIZE_T InRequestedSize, int32 InCallStackIndex &41;


className: TrackedAllocationData

code: struct TrackedAllocationData


code: virtual void TrackFree ( void * Ptr, uint32 OldSize, int32 CallStackIndex )


code: virtual void TrackMalloc ( void * Ptr, uint32 Size, int32 CallStackIndex )


description: If you get an allocation/memory error outside of the allocator you can call this directly It will dump a callstack of the last allocator free most likely to have caused the problem to the log, if you have symbols loaded Might be useful to pass an access violation ptr to this!

code: void TrackSpecial ( void * Ptr )


code: FMallocDoubleFreeFinder ( [FMalloc](API\Runtime\Core\HAL\FMalloc) * InMalloc )


className: FMallocDoubleFreeFinder

code: class FMallocDoubleFreeFinder : public [FMallocCallstackHandler](API\Runtime\Core\HAL\FMallocCallstackHandler)

TrackedCurrentAllocations

type: TMap< const voi...


className: FCallStackStats

code: struct FCallStackStats


code: virtual void TrackRealloc ( void * OldPtr, void * NewPtr, uint32 NewSize, uint32 OldSize, int32 CallStackIndex )


description: Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. MUST BE THREAD SAFE.

code: virtual void UpdateStats()


code: FMallocFrameProfiler ( [FMalloc](API\Runtime\Core\HAL\FMalloc) * InMalloc )


className: FMallocFrameProfiler

code: class FMallocFrameProfiler : public [FMallocCallstackHandler](API\Runtime\Core\HAL\FMallocCallstackHandler)

type: TMap< void *...


className: ESortOption

code: enum ESortOption { SortSize, SortRate, SortHash, }


className: FMallocLeakReportOptions

description: Options that can be supplied when calling FMallocLeakDetection::DumpOpenCallstacks

code: struct FMallocLeakReportOptions

FrameEnd

description: Only show allocations from before this frame

FrameStart

description: Only show allocations after this frame

OnlyNonDeleters

description: Restrict report to allocations that have no history of being deleted

RateFilter

type: float

SortBy

type: ESortOption

description: Sort allocations by this (default - size)


description: Clears the TLS caches on the current thread and disables any future caching.


description: Dumps current allocator stats to the log.

code: virtual void DumpAllocatorStats ( class [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


description: Free

code: virtual void Free ( void * Original )


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 )


description: Writes allocator stats from the last update into the specified destination.

code: virtual void GetAllocatorStats ( [FGenericMemoryStats](API\Runtime\Core\HAL\FGenericMemoryStats) & out_Stats )


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

code: virtual const TCHAR * GetDescriptiveName()


description: Initializes stats metadata. We need to do this as soon as possible, but cannot be done in the constructor due to the FName::StaticInit

code: virtual void InitializeStatsMetadata()


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: Malloc

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


description: Notifies the malloc implementation that initialization of all allocators in GMalloc is complete, so it's safe to initialize any extra features that require "regular" allocations

code: virtual void OnMallocInitialized()


description: Notifies the malloc implementation that the process has forked so we can try and avoid dirtying pre-fork pages.

code: virtual void OnPostFork()


description: Notifies the malloc implementation that the process is about to fork. May be used to trim caches etc.

code: virtual void OnPreFork()


description: Realloc

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


description: For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. The return value will always be >= Count. This can be used to grow and shrink containers to optimal sizes. This call is always fast and threadsafe with no locking.

code: virtual SIZE_T QuantizeSize ( SIZE_T Count, uint32 Alignment )


description: Set up TLS caches on the current thread. These are the threads that we can trim.


description: Releases as much memory as possible. Must be called from the main thread.

code: virtual void Trim ( bool bTrimThreadCaches )


description: Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. MUST BE THREAD SAFE.

code: virtual void UpdateStats()


description: Validates the allocator's heap

code: virtual bool ValidateHeap()


code: FMallocPoisonProxy ( [FMalloc](API\Runtime\Core\HAL\FMalloc) * InMalloc )


className: FMallocPoisonProxy

description: FMallocproxy that poisons new and freed allocations, helping to catch code that relies on uninitialized or freed memory.

code: class FMallocPoisonProxy : public [FMalloc](API\Runtime\Core\HAL\FMalloc)


description: Dumps allocator stats to an output device.

code: virtual void DumpAllocatorStats ( class [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


description: Free

code: virtual void Free ( void * Ptr )


code: virtual void GetAllocatorStats ( [FGenericMemoryStats](API\Runtime\Core\HAL\FGenericMemoryStats) & out_Stats )


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


code: virtual const TCHAR * GetDescriptiveName()


code: virtual bool IsInternallyThreadSafe() const


description: Malloc

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


code: virtual void InitializeStatsMetadata()


code: virtual void OnPostFork()


code: virtual void OnMallocInitialized()


code: virtual void OnPreFork()


description: Realloc

code: virtual void * Realloc ( void * Ptr, SIZE_T NewSize, uint32 Alignment )


description: Constructor for thread safe proxy malloc that takes a malloc to be used and a synchronization object used viaFScopeLockas a parameter.

code: FMallocThreadSafeProxy ( [FMalloc](API\Runtime\Core\HAL\FMalloc) * InMalloc )


className: FMallocThreadSafeProxy

description: FMallocproxy that synchronizes access, making the used malloc thread safe.

code: class FMallocThreadSafeProxy : public [FMalloc](API\Runtime\Core\HAL\FMalloc)


className: FManagedStorageFileLockRegistry

code: class FManagedStorageFileLockRegistry


description:
Flushes file handle to disk.
true if operation completed successfully.

code: virtual bool Flush ( const bool bFullFlush )


description:
Change the current write or read position.
true if the operation completed successfully.

code: virtual bool Seek ( int64 NewPosition )


description:
Read bytes from the file.
true if the operation completed successfully.

code: virtual bool Read ( uint8 * Destination, int64 BytesToRead )


description:
Change the current write or read position, relative to the end of the file.
true if the operation completed successfully.

code: virtual bool SeekFromEnd ( int64 NewPositionRelativeToEnd )


description: Return the total size of the file

code: virtual int64 Size()


description: Minimizes optional system or process cache kept for the file.

code: virtual void ShrinkBuffers()


description: Return the current write or read position.

code: virtual int64 Tell()


code: virtual void Trim ( bool bTrimThreadCaches )


description:
Write bytes to the file.
true if the operation completed successfully.

code: virtual bool Write ( const uint8 * Source, int64 BytesToWrite )


description:
Truncate the file to the given size (in bytes).
true if the operation completed successfully.

code: virtual bool Truncate ( int64 NewSize )


code: FManagedStorageFileWriteHandle ( [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle) * InFileHandle, [FPersistentManagedFile](API\Runtime\Core\HAL\FPersistentManagedFile) InFile )


className: FManagedStorageFileWriteHandle

description: Only write handle.

code: class FManagedStorageFileWriteHandle : public [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle)


code: FManagedStorageScopeFileLock ( [FPersistentManagedFile](API\Runtime\Core\HAL\FPersistentManagedFile) InManagedFile )


className: AllocationHints

description: Some allocators can be given hints to treat allocations differently depending on how the memory is used, it's lifetime etc.

code: enum AllocationHints { None = -1, Default, Temporary, SmallPool, Max, }


className: FManagedStorageScopeFileLock

code: class FManagedStorageScopeFileLock


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


description: Clears the TLS caches on the current thread and disables any future caching.


code: static void EnablePersistentAuxiliary()


description: Called once main is started and we have -purgatorymallocproxy. This uses the purgatory malloc proxy to check if things are writing to stale pointers.

code: static void EnablePoisonTests()


code: static void EnablePurgatoryTests()


description: Set global allocator instead of creating it lazily on first allocation. Must only be called once and only if lazy init is disabled via a macro.

code: static void ExplicitInit ( [FMalloc](API\Runtime\Core\HAL\FMalloc) & Allocator )


code: static void Free ( void * Original )


code: static void FreePersistentAuxiliary ( void * InPtr )


code: static SIZE_T GetAllocSize ( void * Original )


description: C style memory allocation stubs.

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


code: static void * MallocPersistentAuxiliary ( SIZE_T InSize, uint32 InAlignment )


code: static void * MallocZeroed ( SIZE_T Count, uint32 Alignment )


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: Returns true if memory is zeroes, false otherwise.

code: static bool MemIsZero ( const void * Ptr, SIZE_T Count )


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


code: template<class T> static void Memset ( T & Src, uint8 ValueToSet )


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


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


code: template<class T> static void Memzero ( T & Src )


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


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


description: For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. The return value will always be >= Count. This can be used to grow and shrink containers to optimal sizes. This call is always fast and threadsafe with no locking.

code: static SIZE_T QuantizeSize ( SIZE_T Count, uint32 Alignment )


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


description: Functions to handle special memory given to the title from the platform This memory is allocated like a stack, it's never really freed

code: static void RegisterPersistentAuxiliary ( void * InMemory, SIZE_T InSize )


description: Set up TLS caches on the current thread. These are the threads that we can trim.


code: template<class T> static void Memcpy ( T & Dest, const T & Src )


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


code: static void SystemFree ( void * Ptr )


description: C style memory allocation stubs that fall back to C runtime

code: static void * SystemMalloc ( SIZE_T Size )


description: A helper function that will perform a series of random heap allocations to test the internal validity of the heap. Note, this function will "leak" memory, but another call will clean up previously allocated blocks before returning. This will help to A/B testing where you call it in a good state, do something to corrupt memory, then call this again and hopefully freeing some pointers will trigger a crash.

code: static void TestMemory()


description: Releases as much memory as possible. Must be called from the main thread.

code: static void Trim ( bool bTrimThreadCaches )


code: void Commit &40; void &42; Addr &41;


code: template<typename T> size_t Commit ( void * InAddr, size_t Size, size_t & OutUnPending, T && CommitFunction )


code: template<typename T> size_t DecommitPending ( size_t Size, T && DecommitFunction )


code: template<typename T> size_t ForceDecommit ( void * InAddr, size_t Size, size_t & OutUnPending, T && DecommitFunction )


code: void InitPageCache ( void * Memory )


code: size_t MarkForPendingDecommit ( void * InAddr, size_t Size )


code: template<typename T> size_t TryDecommitPending ( size_t Size, T && DecommitFunction )


code: FPageCache ( void * InLowAdress, void * InHighAddress, size_t InPageSize )


className: FPersistentManagedFile::operator bool

code: operator bool() const


className: FPersistentManagedFile

code: struct FPersistentManagedFile

FullFilename

type: FString


code: EPersistentStorageManagerFileSizeFlags AddOrUpdateFile ( const [FString](API\Runtime\Core\Containers\FString) & Filename, const int64 FileSize, EPersistentStorageManagerFileSizeFlags Flags )


className: CategoryStat

code: struct CategoryStat

Directories

type: TArray<FString...

FileSizes

type: TMap<FString, ...


code: int64 GetAvailableSize ( bool bIncludeOptionalStorage ) const


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


code: int64 GetCategoryOptionalQuota() const


code: int64 GetCategoryQuota ( bool bIncludeOptional ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & GetDirectories() const


description: Note this will not be accurate if the category is being modified while this is called but it is low level thread safe.


code: bool IsInCategory ( const [FString](API\Runtime\Core\Containers\FString) & Path ) const


code: bool RemoveFile ( const [FString](API\Runtime\Core\Containers\FString) & Filename )


code: FPersistentStorageCategory ( [FString](API\Runtime\Core\Containers\FString) InCategoryName, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > InDirectories, const int64 InQuota, const int64 InOptionalQuota )


className: FPersistentStorageCategory

code: struct FPersistentStorageCategory


code: EPersistentStorageManagerFileSizeFlags AddOrUpdateFile ( const [FPersistentManagedFile](API\Runtime\Core\HAL\FPersistentManagedFile) & File, const int64 FileSize, EPersistentStorageManagerFileSizeFlags Flags )


description: Singleton access

code: static [FPersistentStorageManager](API\Runtime\Core\HAL\FPersistentStorageManager) & Get()


code: [TOptional](API\Runtime\Core\IO\TOptional)< [FPersistentStorageCategory::CategoryStat](API\Runtime\Core\HAL\FPersistentStorageCategory\CategoryStat) > GetCategoryStat ( const [FString](API\Runtime\Core\Containers\FString) & InCategory ) const


code: bool GetPersistentStorageUsageByCategory ( const [FString](API\Runtime\Core\Containers\FString) & InCategory, int64 & UsedSpace, int64 & RemainingSpace, int64 & Quota, int64 * OptionalQuota )


description: Returns any additional required free space and optional free space

code: bool GetPersistentStorageSize ( int64 & UsedSpace, int64 & RequiredSpace, int64 & OptionalSpace ) const


description: returns if function succeeds

code: bool GetPersistentStorageUsage ( [FString](API\Runtime\Core\Containers\FString) Path, int64 & UsedSpace, int64 & RemainingSpace, int64 & Quota, int64 * OptionalQuota )


code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FString](API\Runtime\Core\Containers\FString) > GetRootDirectories() const


code: bool IsCategoryForFileFull ( const [FPersistentManagedFile](API\Runtime\Core\HAL\FPersistentManagedFile) & File ) const


code: bool RemoveFileFromManager ( [FPersistentManagedFile](API\Runtime\Core\HAL\FPersistentManagedFile) & File )


code: [FPersistentManagedFile](API\Runtime\Core\HAL\FPersistentManagedFile) TryManageFile ( const [FString](API\Runtime\Core\Containers\FString) & Filename )


className: FPersistentStorageManager

description: NOTE: is not used on the whole class because then FCategoryInfo is exported which appears to force the generation of copy constructors forFPersistentStorageCategorywhich causes a compile error because std::atomic can't be copied.

code: class FPersistentStorageManager


description:
Finds a platform file in the chain of active platform files.
Pointer to the active platform file or nullptr if the platform file was not found.

code: [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * FindPlatformFile ( const TCHAR * Name )


description: GetsFPlatformFileManagerSingleton.

code: static [FPlatformFileManager](API\Runtime\Core\HAL\FPlatformFileManager) & Get()


description:
Gets the currently used platform file.
Reference to the currently used platform file.


description:
Creates a new platform file instance.
Platform file instance of the platform file type was found, nullptr otherwise.

code: [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * GetPlatformFile ( const TCHAR * Name )


description: Performs additional initialization when the new async IO is enabled.

code: void InitializeNewAsyncIO()


description:
THIS IS EXTREMELY DANGEROUS AFTER THE ENGINE HAS BEEN INITIALIZED AS WE MAY BE MODIFYING THE WRAPPER CHAIN WHILE THINGS ARE BEING LOADED
true if the platform file was inserted.

code: bool InsertPlatformFile ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * NewPlatformFile )


description: THIS IS EXTREMELY DANGEROUS AFTER THE ENGINE HAS BEEN INITIALIZED AS WE MAY BE MODIFYING THE WRAPPER CHAIN WHILE THINGS ARE BEING LOADED

code: void RemovePlatformFile ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * PlatformFileToRemove )


description: Sets the current platform file.

code: void SetPlatformFile ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) & NewTopmostPlatformFile )


description: Calls Tick on the platform files in the TopmostPlatformFile chain

code: void TickActivePlatformFile()


code: [FPersistentManagedFile](API\Runtime\Core\HAL\FPersistentManagedFile) TryManageFile ( [FString](API\Runtime\Core\Containers\FString) && Filename )


description: Constructor.

code: FPlatformFileManager()


className: FPlatformFileManager

description: Platform File chain manager.

code: class FPlatformFileManager


code: void AddPackageToOpenLog ( const TCHAR * Filename )


code: void AddToOpenLog ( const TCHAR * Filename )


description:
Converts passed in filename to use an absolute path (for reading).
filename using absolute path

code: virtual [FString](API\Runtime\Core\Containers\FString) ConvertToAbsolutePathForExternalAppForRead ( const TCHAR * Filename )


description:
Converts passed in filename to use an absolute path (for writing)
filename using absolute path

code: virtual [FString](API\Runtime\Core\Containers\FString) ConvertToAbsolutePathForExternalAppForWrite ( const TCHAR * Filename )


description:
Copy a file or a hierarchy of files (directory).
true if operation completed successfully.

code: virtual bool CopyDirectoryTree ( const TCHAR * DestinationDirectory, const TCHAR * Source, bool bOverwriteAllExisting )


description:
Copy a file. This will fail if the destination file already exists.
true if the file was copied sucessfully.

code: virtual bool CopyFile ( const TCHAR * To, const TCHAR * From, EPlatformFileRead ReadFlags, EPlatformFileWrite WriteFlags )


description: Create a directory and return true if the directory was created or already existed.

code: virtual bool CreateDirectory ( const TCHAR * Directory )


description: Create a directory, including any parent directories and return true if the directory was created or already existed.

code: virtual bool CreateDirectoryTree ( const TCHAR * Directory )


description: Delete a directory and return true if the directory was deleted or otherwise does not exist.

code: virtual bool DeleteDirectory ( const TCHAR * Directory )


description:
Delete all files and subdirectories in a directory, then delete the directory itself
true if the directory was deleted or did not exist.

code: virtual bool DeleteDirectoryRecursively ( const TCHAR * Directory )


description: Delete a file and return true if the file exists. Will not delete read only files.

code: virtual bool DeleteFile ( const TCHAR * Filename )


description: Return true if the directory exists.

code: virtual bool DirectoryExists ( const TCHAR * Directory )


description: Return true if the file exists.

code: virtual bool FileExists ( const TCHAR * Filename )


description: Return the size of the file, or -1 if it doesn't exist.

code: virtual int64 FileSize ( const TCHAR * Filename )


description: Return the last access time of a file. ReturnsFDateTime::MinValue()on failure

code: virtual [FDateTime](API\Runtime\Core\Misc\FDateTime) GetAccessTimeStamp ( const TCHAR * Filename )


description: For case insensitive filesystems, returns the full path of the file with the same case as in the filesystem

code: virtual [FString](API\Runtime\Core\Containers\FString) GetFilenameOnDisk ( const TCHAR * Filename )


description: Gets the platform file wrapped by this file.

code: virtual [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * GetLowerLevel()


description: Gets this platform file type name.

code: virtual const TCHAR * GetName() const


description: Return the modification time of a file. ReturnsFDateTime::MinValue()on failure

code: virtual [FDateTime](API\Runtime\Core\Misc\FDateTime) GetTimeStamp ( const TCHAR * Filename )


description: Return the stat data for the given file or directory. Check theFFileStatData::bIsValidmember before using the returned data

code: virtual [FFileStatData](API\Runtime\Core\GenericPlatform\FFileStatData) GetStatData ( const TCHAR * FilenameOrDirectory )


description: Return true if the file is read only.

code: virtual bool IsReadOnly ( const TCHAR * Filename )


description:
Call the Visit function of the visitor once for each file or directory in a single directory. This function does not explore subdirectories.
false if the directory did not exist or if the visitor returned false.

code: virtual bool IterateDirectory ( const TCHAR * Directory, [IPlatformFile::FDirectoryVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitor) & Visitor )


description:
Call the Visit function of the visitor once for each file or directory in a directory tree. This function explores subdirectories.
false if the directory did not exist or if the visitor returned false.

code: virtual bool IterateDirectoryRecursively ( const TCHAR * Directory, [IPlatformFile::FDirectoryVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryVisitor) & Visitor )


code: virtual bool IterateDirectoryStat ( const TCHAR * Directory, [IPlatformFile::FDirectoryStatVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitor) & Visitor )


code: virtual bool IterateDirectoryStatRecursively ( const TCHAR * Directory, [IPlatformFile::FDirectoryStatVisitor](API\Runtime\Core\GenericPlatform\IPlatformFile\FDirectoryStatVisitor) & Visitor )


description: Attempt to move a file. Return true if successful. Will not overwrite existing files.

code: virtual bool MoveFile ( const TCHAR * To, const TCHAR * From )


description:
Open a file for async reading. This call does not hit the disk or block.
Close the file by delete'ing the handle. A non-null return value does not mean the file exists, since that may not be determined yet.

code: virtual [IAsyncReadFileHandle](API\Runtime\Core\Async\IAsyncReadFileHandle) * OpenAsyncRead ( const TCHAR * Filename )


description:
Attempt to open a file for reading.
If successful will return a non-nullptr pointer. Close the file by delete'ing the handle.

code: virtual [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle) * OpenRead ( const TCHAR * Filename, bool bAllowWrite )


description:
Initializes platform file.
true if the initialization was successful, false otherise.

code: virtual bool Initialize ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * Inner, const TCHAR * CmdLine )


description:
Open a file for async reading. This call does hit the disk; it is synchronous open.
Close the file by delete'ing the handle. A non-null return value does mean the file exists. Null can be returned for many reasons even if the file exists. Perhaps this platform does not support mapped files, or this file is compressed in a pak file. Generally you attempt to open mapped, and if that fails, then use other file operations instead.

code: virtual [IMappedFileHandle](API\Runtime\Core\Async\IMappedFileHandle) * OpenMapped ( const TCHAR * Filename )


description: Attempt to open a file for writing. If successful will return a non-nullptr pointer. Close the file by delete'ing the handle.

code: virtual [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle) * OpenWrite ( const TCHAR * Filename, bool bAppend, bool bAllowRead )


description: Sets the platform file wrapped by this file.

code: virtual void SetLowerLevel ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * NewLowerLevel )


description:
Sends a message to the file server, and will block until it's complete. Will return immediately if the file manager doesn't support talking to a server.
true if the message was sent to server and it returned success, or false if there is no server, or the command failed

code: virtual bool SendMessageToServer ( const TCHAR * Message, [IFileServerMessageHandler](API\Runtime\Core\GenericPlatform\IPlatformFile\IFileServerMessageHandler) * Handler )


description: Attempt to change the read only status of a file. Return true if successful.

code: virtual bool SetReadOnly ( const TCHAR * Filename, bool bNewReadOnlyValue )


description: Sets the modification time of a file

code: virtual void SetTimeStamp ( const TCHAR * Filename, [FDateTime](API\Runtime\Core\Misc\FDateTime) DateTime )


className: FPlatformFileOpenLog

code: class FPlatformFileOpenLog : public [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile)

LogOutput

type: TArray<IFileHa...

LowerLevel

type: IPlatformFile&...


description:
Manually reset events stay triggered until reset. Named events share the same underlying event.
true if the event was created, false otherwise.

code: virtual bool Create ( bool bIsManualReset )


description: Reset

code: virtual bool IsManualReset()


description: Checks if this platform file should be used even though it was not asked to be. i.e. pak files exist on disk so we should use a pak file

code: virtual bool ShouldBeUsed ( [IPlatformFile](API\Runtime\Core\GenericPlatform\IPlatformFile) * Inner, const TCHAR * CmdLine ) const


description: Trigger

code: virtual void Reset()


className: TriggerType

description: This is a little complicated, in an attempt to match Win32 Event semantics...

code: enum TriggerType { TRIGGERED_NONE, TRIGGERED_ONE, TRIGGERED_ALL, }


description: Reset

code: virtual void Trigger()


description:
A wait time of MAX_uint32 is treated as infinite wait.
true if the event was triggered, false if the wait timed out.

code: virtual bool Wait ( uint32 WaitTime, const bool bIgnoreThreadIdleStats )


className: FPThreadEvent

description: This is the PThreads version ofFEvent.

code: class FPThreadEvent : public [FEvent](API\Runtime\Core\HAL\FEvent)


description: Locks the critical section

code: void Lock()


description:
Attempt to take a lock and returns whether or not a lock was taken.
true if a lock was taken, false otherwise.

code: bool TryLock()


description: Releases the lock on the critical seciton

code: void Unlock()


description: Constructor that initializes the aggregated critical section

code: FPThreadsCriticalSection()


code: FPThreadsCriticalSection &40; const FPThreadsCriticalSection & &41;


description: Destructor cleaning up the critical section

code: ~FPThreadsCriticalSection()


className: FPThreadsCriticalSection

description: This is the PThreads version of a critical section. It uses pthreads to implement its locking.

code: class FPThreadsCriticalSection


code: [FPThreadSemaphore](API\Runtime\Core\HAL\FPThreadSemaphore) & operator= ( const [FPThreadSemaphore](API\Runtime\Core\HAL\FPThreadSemaphore) & )


code: [FPThreadSemaphore](API\Runtime\Core\HAL\FPThreadSemaphore) & operator= ( [FPThreadSemaphore](API\Runtime\Core\HAL\FPThreadSemaphore) && )


code: bool TryAcquire ( [FTimespan](API\Runtime\Core\Misc\FTimespan) Timeout )


code: FPThreadSemaphore ( [FPThreadSemaphore](API\Runtime\Core\HAL\FPThreadSemaphore) && )


code: FPThreadSemaphore ( const [FPThreadSemaphore](API\Runtime\Core\HAL\FPThreadSemaphore) & )


code: FPThreadSemaphore ( int32 InitialCount, int32 MaxCount )


className: FPThreadSemaphore

code: class FPThreadSemaphore


code: [FPThreadsRWLock](API\Runtime\Core\HAL\FPThreadsRWLock) & operator= ( const [FPThreadsRWLock](API\Runtime\Core\HAL\FPThreadsRWLock) & )


code: FPThreadsRWLock ( const [FPThreadsRWLock](API\Runtime\Core\HAL\FPThreadsRWLock) & )


className: FPThreadsRWLock

description: FPThreadsRWLock- Read/Write Mutex

code: class FPThreadsRWLock


className: FRegisteredFileHandle

code: class FRegisteredFileHandle : public [IFileHandle](API\Runtime\Core\GenericPlatform\IFileHandle)


description: Stop

code: virtual void Exit()


description:
Gets single thread interface pointer used for ticking this runnable when multi-threading is disabled. If the interface is not implemented, this runnable will not be ticked when FPlatformProcess::SupportsMultithreading() is false.
Pointer to the single thread interface or nullptr if not implemented.

code: virtual [FSingleThreadRunnable](API\Runtime\Core\Misc\FSingleThreadRunnable) * GetSingleThreadInterface()


description: Exit

code: virtual bool Init()


description: Exit

code: uint32 Run()


description: Virtual destructor

code: virtual ~FRunnable()


description: Exit

code: virtual void Stop()


description:
Factory method to create a thread with the specified stack size and thread priority.
The newly created thread or nullptr if it failed

code: static [FRunnableThread](API\Runtime\Core\HAL\FRunnableThread) * Create ( class [FRunnable](API\Runtime\Core\HAL\FRunnable) * InRunnable, const TCHAR * ThreadName, uint32 InStackSize, EThreadPriority InThreadPri, uint64 InThreadAffinityMask, EThreadCreateFlags InCreateFlags )


className: FRunnable

description: If initialization fails, the thread stops execution and returns an error code. If it succeeds,Run()is called where the real threaded work is done. Upon completion,Exit()is called to allow correct clean up.

code: class FRunnable


description:
Creates the thread with the specified stack size and thread priority.
True if the thread and all of its initialization was successful, false otherwise

code: bool CreateInternal ( [FRunnable](API\Runtime\Core\HAL\FRunnable) * InRunnable, const TCHAR * InThreadName, uint32 InStackSize, EThreadPriority InThreadPri, uint64 InThreadAffinityMask, EThreadCreateFlags InCreateFlags )


description: Deletes allFTlsAutoCleanupobjects created for this thread.

code: void FreeTls()


description: a runnable thread that is executing this runnable, if return value is nullptr, it means the running thread can be game thread or a thread created outside the runnable interface

code: static [FRunnableThread](API\Runtime\Core\HAL\FRunnableThread) * GetRunnableThread()


description: GetThreadName

code: const uint32 GetThreadID() const


description: GetThreadID

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


description: Returns the runnable's thread priority


description: Returns the type of thread this is

code: virtual [FRunnableThread::ThreadType](API\Runtime\Core\HAL\FRunnableThread\ThreadType) GetThreadType() const


description: Gets a new Tls slot for storing the runnable thread pointer.

code: static uint32 GetTlsSlot()


description:
The kill method is calling Stop() on the runnable to kill the thread gracefully.
Always true

code: bool Kill ( bool bShouldWait )


className: RunnableTlsSlot

description: Indexof TLS slot forFRunnableThreadpointer.

code: static uint32 RunnableTlsSlot = FRunnableThread::GetTlsSlot();


description:
Changes the thread affinity of the currently running thread
returns true if the affinity changed, false if affinity did not change

code: virtual bool SetThreadAffinity ( const [FThreadAffinity](API\Runtime\Core\HAL\FThreadAffinity) & Affinity )


description: Changes the thread priority of the currently running thread

code: void SetThreadPriority ( EThreadPriority NewPriority )


description: Stores this instance in the runnable thread TLS slot.

code: void SetTls()


description: Tells the thread to either pause execution or resume depending on the passed in value.

code: void Suspend ( bool bShouldPause )


className: ThreadType

description: List of unique thread types we can create

code: enum ThreadType { Real, Fake, Forkable, }


description: Halts the caller until this thread is has completed its work.

code: void WaitForCompletion()


description: Virtual destructor

code: virtual ~FRunnableThread()


description: Default constructor.

code: FRunnableThread()


className: FRunnableThread

description: This interface specifies the methods used to manage a thread's life cycle.

code: class FRunnableThread

Runnable

type: FRunnable*

description: The runnable object to execute on this thread.

ThreadAffinityMask

description: The Affinity to run the thread with.

ThreadID

description: ID set during thread creation.

ThreadInitSyncEvent

type: FEvent*

description: Sync event to make sure that Init() has been completed before allowing the main thread to continue.

ThreadName

description: Holds the name of the thread.

ThreadPriority

type: EThreadPriority

description: The priority to run the thread at.


code: FScopedDiskUtilizationTracker ( uint64 Size, uint64 SeekDistance )


className: FScopedDiskUtilizationTracker

code: struct FScopedDiskUtilizationTracker


className: FScopedEnterBackgroundEvent

description: For timing OnEnterBackground tasks. This can be time sensitive on some platforms.

code: class FScopedEnterBackgroundEvent


code: FScopeDisableMallocCallstackHandler()


className: FScopeDisableMallocCallstackHandler

description: Disables the callstack handler for the current thread Need to do this as we might allocate memory for the allocators tracking data, that can't be tracked!


code: ~FScopeDisableMallocCallstackHandler()


code: FScopedMallocTimer ( int32 InIndex )


className: FScopedMallocTimer

code: struct FScopedMallocTimer


code: FScopedMemoryStats ( const TCHAR * Name )


className: FScopedMemoryStats

description: This will grab the memory stats of VM and Physical before and at the end of scope reporting +/- difference in memory. WARNING This will also capture differences in Threads which have nothing to do with the scope

code: class FScopedMemoryStats


code: FScopedNamedEvent ( const struct [FColor](API\Runtime\Core\Math\FColor) & Color, const TCHAR * Text )


code: FScopedNamedEvent ( const struct [FColor](API\Runtime\Core\Math\FColor) & Color, const ANSICHAR * Text )


code: FScopedEnterBackgroundEvent ( const TCHAR * Text )


className: FScopedNamedEvent

code: class FScopedNamedEvent


code: FScopedNamedEventConditional ( const struct [FColor](API\Runtime\Core\Math\FColor) & Color, const TCHAR * Text, bool bCondition )


code: FScopedNamedEventConditional ( const struct [FColor](API\Runtime\Core\Math\FColor) & Color, const ANSICHAR * Text, bool bCondition )


className: FScopedNamedEventConditional

code: class FScopedNamedEventConditional


code: FScopedNamedEventStatic ( const struct [FColor](API\Runtime\Core\Math\FColor) & Color, const TCHAR * Text )


code: FScopedNamedEventStatic ( const struct [FColor](API\Runtime\Core\Math\FColor) & Color, const ANSICHAR * Text )


className: FScopedNamedEventStatic

description: BeginNamedEventStatic works the same as BeginNamedEvent, but should only be passed a compile-time string literal. Some platform profilers can optimize the case where strings for certain events are constant.

code: class FScopedNamedEventStatic


code: FScopedProfilerColor ( const struct [FColor](API\Runtime\Core\Math\FColor) & Color )


className: FScopedProfilerColor

code: class FScopedProfilerColor


className: IndexType

code: enum IndexType { Reserve, Commit, Combined, DeCommit, Free, Max, }


className: PlatormIndexType

code: enum PlatormIndexType { OrdinaryCPU, GPU_WriteCombine, GPU_Cacheable, GPU_WriteCombineRenderTarget, PlatormIndexTypeMax, }


code: FScopedVirtualMallocTimer ( int32 InIndex, int32 InPlatformTypeIndex )


className: FScopedVirtualMallocTimer

code: struct FScopedVirtualMallocTimer


code: [FEvent](API\Runtime\Core\HAL\FEvent) * operator->() const


className: FSharedEventRef

description: RAII-style shared and pooled `FEvent_

code: class FSharedEventRef


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


code: static void PrintMemoryDiff ( const TCHAR * )


className: FSharedMemoryTracker

code: class FSharedMemoryTracker


code: static uint8 FillSizeTable ( uint64 PlatformPageSize, [FSizeTableEntry](API\Runtime\Core\HAL\FSizeTableEntry) * SizeTable, uint32 BasePageSize, uint32 MinimumAlignment, uint32 MaxSize, uint32 SizeIncrement )


code: bool operator< ( const [FSizeTableEntry](API\Runtime\Core\HAL\FSizeTableEntry) & Other ) const


code: FSizeTableEntry ( uint32 InBlockSize, uint64 PlatformPageSize, uint8 Pages4k, uint32 BasePageSize, uint32 MinimumAlignment )


className: FSizeTableEntry

code: struct FSizeTableEntry


code: FSlowHeartBeatScope ( bool bAllThreads )


className: FSlowHeartBeatScope

description: Suspends heartbeat measuring for the current thread in the current scope

code: struct FSlowHeartBeatScope


description: Thread ID for this thread

code: uint32 GetThreadId() const


className: EForkable

description: Indicates if the thread should be forked in case the owning process is forked

code: enum EForkable { Forkable, NonForkable, }


className: InvalidThreadId

code: static constexpr uint32 InvalidThreadId = ~uint32(0);


description: Join

code: bool IsJoinable() const


description: IsJoinable

code: void Join()


code: [FThread](API\Runtime\Core\HAL\FThread) & operator= ( const [FThread](API\Runtime\Core\HAL\FThread) & )


description: Move assignment operator. Asserts if the instance is joinable.

code: [FThread](API\Runtime\Core\HAL\FThread) & operator= ( [FThread](API\Runtime\Core\HAL\FThread) && Other )


description: Creates new "empty" thread object that doesn't represent a system thread

code: FThread()


description: Non-copyable

code: FThread ( const [FThread](API\Runtime\Core\HAL\FThread) & )


code: FThread ( [FThread](API\Runtime\Core\HAL\FThread) && )


description: Creates and immediately starts a new system thread that will execute `ThreadFunction_ argument. Can return before the thread is actually started or when it already finished execution.

code: FThread ( TCHAR const * ThreadName, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void()> && ThreadFunction, uint32 StackSize, EThreadPriority ThreadPriority, [FThreadAffinity](API\Runtime\Core\HAL\FThreadAffinity) ThreadAffinity, [EForkable](API\Runtime\Core\HAL\FThread\EForkable) IsForkable )


description: With SingleThreadTickFunction that will be executed every frame if running with `-nothreading (FPlatformProcess::SupportsMultithreading() == false)

code: FThread ( TCHAR const * ThreadName, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void()> && ThreadFunction, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void()> && SingleThreadTickFunction, uint32 StackSize, EThreadPriority ThreadPriority, [FThreadAffinity](API\Runtime\Core\HAL\FThreadAffinity) ThreadAffinity, [EForkable](API\Runtime\Core\HAL\FThread\EForkable) IsForkable )


description: Destructor asserts if the instance is not joined or detached.

code: ~FThread()


className: FThread

description: Simple API for system threads. Before using, please make sure you really need a new system thread.Bydefault and in the majority of cases parallel processing should be done by TaskGraph. For richer functionality check[FRunnable](API\Runtime\Core\HAL\FRunnable)_/FRunnableThread. It's up to user to provide a way to notify the thread function to exit on demand. Before destroying the instance it must be eitherJoin_ed orDetach_ed. Example:FThreadThread{TEXT("New thread"),{ do_something_important(); }}; // ... continue in the caller thread Thread.Join(); For more verbose example checkTestTypicalUseCase_ inThreadTest.cpp

code: class FThread


description: Called by a supervising thread to check all checkpoints forward progress

code: uint32 CheckCheckpointHeartBeat ( double & OutHangDuration )


className: FThreadAffinity

code: struct FThreadAffinity


description: Called by a supervising thread to check all function calls' being monitored health

code: uint32 CheckFunctionHeartBeat ( double & OutHangDuration )


description: Called by a supervising thread to check the threads' health

code: uint32 CheckHeartBeat ( double & OutHangDuration )


description: Gets the heartbeat singleton

code: static [FThreadHeartBeat](API\Runtime\Core\HAL\FThreadHeartBeat) & Get()


className: EConstants

code: enum EConstants { InvalidThreadId = (uint32)-1, PresentThreadId = (uint32)-2, }


description: Get hang duration threshold.

code: double GetHangDuration() const


description: Get the Id of the last thread to trigger the hang detector. Returns InvalidThreadId if hang detector has not been triggered.

code: uint32 GetLastHungThreadId() const


description: Get the Id of the last thread to pass the stuck thread time. Returns InvalidThreadId if hang detector has not been triggered.

code: uint32 GetLastStuckThreadId() const


description: Gets the heartbeat singleton

code: static [FThreadHeartBeat](API\Runtime\Core\HAL\FThreadHeartBeat) * GetNoInit()


description: Get delegate for callback on hang. Delegate implementation will be called from the hang detector thread and not from the hung thread Disabled in shipping build

code: FOnHangDelegate & GetOnHangDelegate()


description: Get delegate for callback on stuck or unstuck thread.

code: FOnThreadStuck & GetOnThreadStuck()


code: FOnThreadUnstuck & GetOnThreadUnstuck()


description: Exit

code: virtual bool Init()


description: Called from a thread once per frame to update the heartbeat time

code: void HeartBeat ( bool bReadConfig )


description: Returns true/false if this thread is currently performing heartbeat monitoring

code: bool IsBeating()


description: Called by a thread when it's no longer expecting to be ticked

code: void KillHeartBeat()


description: Called from a thread when a checkpoint has ended

code: void MonitorCheckpointEnd ( [FName](API\Runtime\Core\UObject\FName) CheckPoint )


description: Called from a thread to register a checkpoint to be monitored

code: void MonitorCheckpointStart ( [FName](API\Runtime\Core\UObject\FName) EndCheckPoint, double TimeToReachCheckpoint )


description: Called by a thread when a function has completed and no longer needs to be monitored

code: void MonitorFunctionEnd()


description: Called from a thread once on entry to a function to be monitored

code: void MonitorFunctionStart()


description: Called from the rendering or RHI thread when the platform RHI presents a frame (supported platforms only).

code: void PresentFrame()


description: Resume heartbeat measuring for the current thread

code: void ResumeHeartBeat ( bool bAllThreads )


description: Exit

code: virtual uint32 Run()


description: Sets a multiplier to the hang duration (>= 1.0). Can be used to extend the duration during loading screens etc.

code: void SetDurationMultiplier ( double NewMultiplier )


className: Singleton

code: static [FThreadHeartBeat](API\Runtime\Core\HAL\FThreadHeartBeat) * Singleton = nullptr;


description: Begin measuring heartbeat

code: void Start()


description: Exit

code: virtual void Stop()


className: FThreadHeartBeat

description: No destructors are accessible with public or protected access.

code: class FThreadHeartBeat : public [FRunnable](API\Runtime\Core\HAL\FRunnable)


description: Suspend heartbeat measuring for the current thread if the thread has already had a heartbeat

code: void SuspendHeartBeat ( bool bAllThreads )


code: FThreadHeartBeatClock ( double InMaxTimeStep )


className: FThreadHeartBeatClock

description: To solve this, we accumulate our own time on the hang detector thread. When the title is suspended, this thread is also suspended, and the local clock stops. The delta is clamped so if we are resumed, the clock continues from where it left off.

code: class FThreadHeartBeatClock


description: RemoveThread

code: void AddThread ( uint32 ThreadId, [FRunnableThread](API\Runtime\Core\HAL\FRunnableThread) * Thread )


description: Enumerate each thread.

code: void ForEachThread ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(uint32 ThreadId, [FRunnableThread](API\Runtime\Core\HAL\FRunnableThread) *Thread)> Func )


description:
Access to the singleton object.
Thread manager object.

code: static [FThreadManager](API\Runtime\Core\HAL\FThreadManager) & Get()


description: Returns the name of a thread given its TLS id

code: static const [FString](API\Runtime\Core\Containers\FString) & GetThreadName ( uint32 ThreadId )


description: Get the number of registered threads

code: int32 NumThreads() const


description: AddThread

code: void RemoveThread ( [FRunnableThread](API\Runtime\Core\HAL\FRunnableThread) * Thread )


description: Ticks all fake threads and their runnable objects.

code: void Tick()


className: FThreadManager

description: Manages runnables and runnable threads.

code: class FThreadManager


description:
Sets a new value atomically, and returns the old value.
The old value

code: bool AtomicSet ( bool bNewValue )


className: FThreadSafeBool::operator bool

description: Operator to use this struct as a bool with thread safety

code: operator bool() const


description: Operator to set the bool value with thread safety

code: bool operator= ( bool bNewValue )


className: FThreads

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< uint32, [FRunnableThread](API\Runtime\Core\HAL\FRunnableThread) *, [TInlineSetAllocator](API\Runtime\Core\Containers\TInlineSetAllocator)< 256 >> FThreads


description: Constructor optionally takes value to initialize with, otherwise initializes false

code: FThreadSafeBool ( bool bValue )


className: FThreadSafeBool

description: Thread safe bool, wrapsFThreadSafeCounter

code: class FThreadSafeBool : private [FThreadSafeCounter](API\Runtime\Core\HAL\FThreadSafeCounter)


description: Subtract

code: int32 Add ( int32 Amount )


description: Subtract

code: int32 Decrement()


description:
Gets the current value.
the current value

code: int32 GetValue() const


description: Subtract

code: int32 Increment()


className: IntegerType

code: typedef int32 IntegerType


description: Subtract

code: int32 Reset()


description: Set

code: int32 Subtract ( int32 Amount )


description: Subtract

code: int32 Set ( int32 Value )


description: Initializes the counter to 0.

code: FThreadSafeCounter()


description: If the counter in the Other parameter is changing from other threads, there are no guarantees as to which values you will get up to the caller to not care, synchronize or other way to make those guarantees.

code: FThreadSafeCounter ( const [FThreadSafeCounter](API\Runtime\Core\HAL\FThreadSafeCounter) & Other )


description: Constructor, initializing counter to passed in value.

code: FThreadSafeCounter ( int32 Value )


className: FThreadSafeCounter

description: Thread safe counter

code: class FThreadSafeCounter


description: Subtract

code: int64 Add ( int64 Amount )


description: Subtract

code: int64 Decrement()


code: int64 GetValue() const


description: Subtract

code: int64 Increment()


code: typedef int64 IntegerType


description: Assignment has the same caveats as the copy ctor.

code: [FThreadSafeCounter64](API\Runtime\Core\HAL\FThreadSafeCounter64) & operator= ( const [FThreadSafeCounter64](API\Runtime\Core\HAL\FThreadSafeCounter64) & Other )


description: Subtract

code: int64 Reset()


description: Subtract

code: int64 Set ( int64 Value )


description: Set

code: int64 Subtract ( int64 Amount )


description: Initializes the counter to 0.


code: FThreadSafeCounter64 ( const [FThreadSafeCounter64](API\Runtime\Core\HAL\FThreadSafeCounter64) & Other )


code: FThreadSafeCounter64 ( int64 Value )


description: Thread safe counter for 64bit ints

code: class FThreadSafeCounter64


description: an instance of a singleton for the current thread.

code: static [FTlsAutoCleanup](API\Runtime\Core\HAL\FTlsAutoCleanup) * Get ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< [FTlsAutoCleanup](API\Runtime\Core\HAL\FTlsAutoCleanup) *()> CreateInstance, uint32 & TlsSlot )


description: sets the TLS store to the instance and returns the previous instance.

code: static [FTlsAutoCleanup](API\Runtime\Core\HAL\FTlsAutoCleanup) * Inject ( [FTlsAutoCleanup](API\Runtime\Core\HAL\FTlsAutoCleanup) * Instance, uint32 & TlsSlot )


description: an instance of the singleton if it exists on the current thread.

code: static [FTlsAutoCleanup](API\Runtime\Core\HAL\FTlsAutoCleanup) * TryGet ( uint32 & TlsSlot )


className: FThreadSingletonInitializer

description: Thread singleton initializer.

code: class FThreadSingletonInitializer


description: Register this instance to be auto-cleanup.

code: void Register()


description: Virtual destructor.

code: virtual ~FTlsAutoCleanup()


className: FTlsAutoCleanup

description: Base class for objects in TLS that support auto-cleanup. Polymorphically deletes registered instances on thread exit.

code: class FTlsAutoCleanup


className: FUseSystemMallocForNew::operator delete

description: Overloaded delete operator using the system allocator

code: void operator delete ( void * Ptr )


description: Overloaded array delete operator using the system allocator

code: void operator delete[] ( void * Ptr )


className: FUseSystemMallocForNew::operator new

description:
Overloaded new operator using the system allocator.
A pointer to a block of memory with size Size or nullptr

code: void * operator new ( size_t Size )


className: FUseSystemMallocForNew::operator new[]

description:
Overloaded array new operator using the system allocator.
A pointer to a block of memory with size Size or nullptr

code: void * operator new[] ( size_t Size )


className: FUseSystemMallocForNew

description: Inherit fromFUseSystemMallocForNewif you want your objects to be placed in memory alloced by the system malloc routines, bypassing GMalloc. This is e.g. used byFMallocitself.

code: class FUseSystemMallocForNew


code: void * AllocateVirtualPages ( uint32 NumPages, size_t AlignmentForCheck )


code: void FreeVirtual ( void * Ptr, uint32 NumPages )


className: FVirtualAllocatorStats

code: struct FVirtualAllocatorStats

BlockStats

type: FVirtualAllocat...


code: virtual uint8 * AllocNewVM ( size_t AlignedSize )


code: uint32 GetPagesForSizeAndAlignment ( size_t Size, size_t Alignment ) const


code: void GetStats ( [FVirtualAllocatorStats](API\Runtime\Core\HAL\FVirtualAllocator\FVirtualAllocatorStats) & OutStats )


code: FVirtualAllocator ( void * InLowAdress, void * InHighAddress, size_t InPageSize, size_t InMaximumAlignment, bool bInBacksMalloc )


className: FVirtualAllocator

code: class FVirtualAllocator


description:
Executes this command (optionally, with arguments)
True if the delegate for this command was executed successfully

code: bool Execute ( const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Args, [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, class [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & OutputDevice )


className: IConsoleCommand

description: Interface for console commands

code: struct IConsoleCommand : public [IConsoleObject](API\Runtime\Core\HAL\IConsoleObject)


description: Some scripting languages use the default "open console" hot-key (~) in their code, so these should return false.

code: bool AllowHotKeyClose() const


description: True if we allow the console to create multi-line commands.

code: bool AllowMultiLine() const


description:
Execute the given command using this executor.
true if the command was recognized.

code: bool Exec ( const TCHAR * Input )


description: Get the description of this executor.


description: Get the list of auto-complete suggestions for the given command.

code: void GetAutoCompleteSuggestions ( const TCHAR * Input, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Out )


description: Get the hint text of this executor.


description: Get the display name of this executor.


description: Get the list of commands that this executor has recently processed.

code: void GetExecHistory ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Out )


description: Returns the hotkey for this executor


description: Returns the hotkey to switch to the next executor. This is usually the same hotkey as GetHotKey but with a modifier, such as "" turning into "Ctrl +".


description: Get the name of this executor.


description: Get the name identifying this modular feature set.


className: IConsoleCommandExecutor

description: Handles executing console commands

code: class IConsoleCommandExecutor : public [IModularFeature](API\Runtime\Core\Features\IModularFeature)


code: void AddConsoleHistoryEntry ( const TCHAR * Key, const TCHAR * Input )


description: The sinks are only called if a change has been done since the last time Should be called in very few points:

code: void CallAllConsoleVariableSinks()


description:
Find a console variable or command
0 if the object wasn't found

code: [IConsoleObject](API\Runtime\Core\HAL\IConsoleObject) * FindConsoleObject ( const TCHAR * Name, bool bTrackFrequentCalls ) const


description:
Lookup the name of a console object by its pointer
Name of the object, or an empty string if the object can't be found

code: [FString](API\Runtime\Core\Containers\FString) FindConsoleObjectName ( const [IConsoleObject](API\Runtime\Core\HAL\IConsoleObject) * Obj ) const


description:
Find a console variable
0 if the object wasn't found

code: [IConsoleVariable](API\Runtime\Core\HAL\IConsoleVariable) * FindConsoleVariable ( const TCHAR * Name, bool bTrackFrequentCalls ) const


description:
Find a typed console variable (faster access to the value, no virtual function call)
0 if the object wasn't found

code: [TConsoleVariableData](API\Runtime\Core\HAL\TConsoleVariableData)< bool > * FindTConsoleVariableDataBool ( const TCHAR * Name ) const


code: [TConsoleVariableData](API\Runtime\Core\HAL\TConsoleVariableData)< float > * FindTConsoleVariableDataFloat ( const TCHAR * Name ) const


description: Not case sensitive, does not guarantee thatUnregisterConsoleObject()will work in the loop

code: void ForEachConsoleObjectThatContains ( const FConsoleObjectVisitor & Visitor, const TCHAR * ThatContains ) const


code: [TConsoleVariableData](API\Runtime\Core\HAL\TConsoleVariableData)< int32 > * FindTConsoleVariableDataInt ( const TCHAR * Name ) const


description: Iterate in O(n), not case sensitive, does not guarantee thatUnregisterConsoleObject()will work in the loop

code: void ForEachConsoleObjectThatStartsWith ( const FConsoleObjectVisitor & Visitor, const TCHAR * ThatStartsWith ) const


description: Returns the singleton for the console manager

code: static [IConsoleManager](API\Runtime\Core\HAL\IConsoleManager) & Get()


code: void GetConsoleHistory ( const TCHAR * Key, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Out )


description: Check if a name (command or variable) has been registered with the console manager

code: bool IsNameRegistered ( const TCHAR * Name ) const


description:
Process user input e.g. "MyCVar" to get the current value of the console variable "MyCVar -5.2" to set the value to -5.2 "MyCVar ?" to get the help text
true if the command was recognized

code: bool ProcessUserConsoleInput ( const TCHAR * Input, [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar, [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


description: Register a console command that is handles by an Exec functions (for auto completion)

code: [IConsoleCommand](API\Runtime\Core\HAL\IConsoleCommand) * RegisterConsoleCommand ( const TCHAR * Name, const TCHAR * Help, uint32 Flags )


description: Register a console command that takes no arguments

code: [IConsoleCommand](API\Runtime\Core\HAL\IConsoleCommand) * RegisterConsoleCommand ( const TCHAR * Name, const TCHAR * Help, const FConsoleCommandDelegate & Command, uint32 Flags )


description: Register a console command that takes arguments

code: [IConsoleCommand](API\Runtime\Core\HAL\IConsoleCommand) * RegisterConsoleCommand ( const TCHAR * Name, const TCHAR * Help, const FConsoleCommandWithWorldDelegate & Command, uint32 Flags )


code: [IConsoleCommand](API\Runtime\Core\HAL\IConsoleCommand) * RegisterConsoleCommand ( const TCHAR * Name, const TCHAR * Help, const FConsoleCommandWithArgsDelegate & Command, uint32 Flags )


code: [IConsoleCommand](API\Runtime\Core\HAL\IConsoleCommand) * RegisterConsoleCommand ( const TCHAR * Name, const TCHAR * Help, const FConsoleCommandWithArgsAndOutputDeviceDelegate & Command, uint32 Flags )


code: [IConsoleCommand](API\Runtime\Core\HAL\IConsoleCommand) * RegisterConsoleCommand ( const TCHAR * Name, const TCHAR * Help, const FConsoleCommandWithWorldAndArgsDelegate & Command, uint32 Flags )


code: [IConsoleCommand](API\Runtime\Core\HAL\IConsoleCommand) * RegisterConsoleCommand ( const TCHAR * Name, const TCHAR * Help, const FConsoleCommandWithWorldArgsAndOutputDeviceDelegate & Command, uint32 Flags )


code: [IConsoleCommand](API\Runtime\Core\HAL\IConsoleCommand) * RegisterConsoleCommand ( const TCHAR * Name, const TCHAR * Help, const FConsoleCommandWithOutputDeviceDelegate & Command, uint32 Flags )


description: Create a bool console variable

code: [IConsoleVariable](API\Runtime\Core\HAL\IConsoleVariable) * RegisterConsoleVariable ( const TCHAR * Name, bool DefaultValue, const TCHAR * Help, uint32 Flags )