7#if !defined(UE_RESTRICT)
9# define UE_RESTRICT __declspec(restrict)
15#if !defined(UE_NOALIAS)
17# define UE_NOALIAS __declspec(noalias)
23#define UE_WITH_HEAPARENA 0
24#define UE_WITH_ARENAMAP 0
64 static constexpr int ArenaShift = 48;
65 static constexpr uint64 ArenaMask = 0xffff000000000000;
66 static constexpr uint64 PointerMask = 0x0000ffffFFFFffff;
68 void* TaggedPointer =
nullptr;
95 inline operator T* () {
return reinterpret_cast<T*
>(
GetPointer()); }
96 inline operator const T* ()
const {
return reinterpret_cast<const T*
>(
GetPointer()); }
121 virtual SIZE_T InternalGetBlockSize(
const void* MemoryBlock)
const = 0;
125 enum { FlagNoFree = 1 << 0 };
159 CORE_API virtual SIZE_T InternalGetBlockSize(
const void* MemoryBlock)
const override;
160 CORE_API virtual const TCHAR* InternalGetDebugName()
const override;
180 CORE_API virtual SIZE_T InternalGetBlockSize(
const void* MemoryBlock)
const override;
181 CORE_API virtual const TCHAR* InternalGetDebugName()
const override;
198 CORE_API virtual SIZE_T InternalGetBlockSize(
const void* MemoryBlock)
const override;
199 CORE_API virtual const TCHAR* InternalGetDebugName()
const override;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_RESTRICT
Definition MemoryArena.h:11
CORE_API FArenaPointer ArenaRealloc(FArenaPointer InPtr, SIZE_T OldSize, SIZE_T NewSize, SIZE_T Alignment)
Definition MemoryArena.cpp:213
#define UE_NOALIAS
Definition MemoryArena.h:19
const bool
Definition NetworkReplayStreaming.h:178
uint32 Size
Definition VulkanMemory.cpp:4034
Definition MemoryArena.h:190
Definition MemoryArena.h:42
UE_FORCEINLINE_HINT const uint16 GetArenaIndex() const
Definition MemoryArena.h:71
UE_FORCEINLINE_HINT void * GetPointer()
Definition MemoryArena.h:72
UE_FORCEINLINE_HINT const void * GetPointer() const
Definition MemoryArena.h:73
UE_FORCEINLINE_HINT void SetPointerAndArena(void *InPtr, uint16 InArenaTag)
Definition MemoryArena.h:74
FArenaPointer(void *Ptr, uint16 ArenaIndex)
Definition MemoryArena.h:76
@ NoTag
Definition MemoryArena.h:46
void Free() const
Definition MemoryArena.h:133
CORE_API FMemoryArena & Arena() const
Definition MemoryArena.cpp:131
Definition MemoryArena.h:172
CORE_API FMallocArena()
Definition MemoryArena.cpp:256
CORE_API ~FMallocArena()
Definition MemoryArena.cpp:260
Definition MemoryArena.h:104
uint16 ArenaId
Definition MemoryArena.h:130
CORE_API SIZE_T GetBlockSize(const void *MemoryBlock) const
Definition MemoryArena.cpp:166
CORE_API const TCHAR * GetDebugName() const
Definition MemoryArena.cpp:171
CORE_API FMemoryArena()
Definition MemoryArena.cpp:140
FMemoryArena & operator=(const FMemoryArena &)=delete
CORE_API UE_RESTRICT UE_NOALIAS void * Alloc(SIZE_T Size, SIZE_T Alignment)
Definition MemoryArena.cpp:151
virtual CORE_API ~FMemoryArena()
Definition MemoryArena.cpp:145
CORE_API UE_NOALIAS void Free(const void *MemoryBlock)
Definition MemoryArena.cpp:156
FMemoryArena(const FMemoryArena &)=delete
Definition MemoryArena.h:88
T * operator->()
Definition MemoryArena.h:97
TArenaPointer & operator=(T *Rhs)
Definition MemoryArena.h:93
TArenaPointer(T *Ptr, uint16 ArenaIndex)
Definition MemoryArena.h:91