UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FArenaPointer Class Reference

#include <MemoryArena.h>

+ Inheritance diagram for FArenaPointer:

Public Types

enum  { NoTag = 0 }
 

Public Member Functions

 FArenaPointer ()=default
 
UE_FORCEINLINE_HINT const uint16 GetArenaIndex () const
 
UE_FORCEINLINE_HINT voidGetPointer ()
 
UE_FORCEINLINE_HINT const voidGetPointer () const
 
UE_FORCEINLINE_HINT void SetPointerAndArena (void *InPtr, uint16 InArenaTag)
 
 FArenaPointer (void *Ptr, uint16 ArenaIndex)
 
 operator bool () const
 
void Free () const
 
CORE_API FMemoryArenaArena () const
 

Detailed Description

Tagged Arena Pointer

Stores an arena ID alongside a pointer. On 64-bit architectures the arena ID can be encoded in the otherwise unused MSB part of the pointer for zero memory overhead vs a regular pointer. For 32-bit architectures the arena ID is stored in a separate member.

A null pointer can still have an arena ID, which is useful for cases where you have a container that starts out empty but still want to track which arena should be used for subsequent allocations.

Member Enumeration Documentation

◆ anonymous enum

Enumerator
NoTag 

Constructor & Destructor Documentation

◆ FArenaPointer() [1/2]

FArenaPointer::FArenaPointer ( )
default

◆ FArenaPointer() [2/2]

FArenaPointer::FArenaPointer ( void Ptr,
uint16  ArenaIndex 
)
inline

Member Function Documentation

◆ Arena()

FMemoryArena & FArenaPointer::Arena ( ) const

◆ Free()

void FArenaPointer::Free ( ) const
inline

◆ GetArenaIndex()

UE_FORCEINLINE_HINT const uint16 FArenaPointer::GetArenaIndex ( ) const
inline

◆ GetPointer() [1/2]

UE_FORCEINLINE_HINT void * FArenaPointer::GetPointer ( )
inline

◆ GetPointer() [2/2]

UE_FORCEINLINE_HINT const void * FArenaPointer::GetPointer ( ) const
inline

◆ operator bool()

FArenaPointer::operator bool ( ) const
inline

◆ SetPointerAndArena()

UE_FORCEINLINE_HINT void FArenaPointer::SetPointerAndArena ( void InPtr,
uint16  InArenaTag 
)
inline

The documentation for this class was generated from the following files: