![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <MemoryImage.h>
Public Member Functions | |
| bool | IsFrozen () const |
| void | SetIsFrozen (bool bTrue) |
| int64 | GetOffsetFromThis () const |
| void | SetOffsetFromThis (int64 Offset) |
| int32 | GetTypeIndex () const |
| void | SetTypeIndex (int32 TypeIndex) |
Public Attributes | |
| uint64 | Packed |
Static Public Attributes | |
| static constexpr uint64 | bIsFrozenBits = 1 |
| static constexpr uint64 | OffsetBits = 40 |
| static constexpr uint64 | TypeIndexBits = 64 - OffsetBits - bIsFrozenBits |
| static constexpr uint64 | bIsFrozenShift = 0 |
| static constexpr uint64 | TypeIndexShift = bIsFrozenBits |
| static constexpr uint64 | OffsetShift = bIsFrozenBits + TypeIndexBits |
| static constexpr uint64 | bIsFrozenMask = (1ULL << bIsFrozenShift) |
| static constexpr uint64 | TypeIndexMask = (((1ULL << TypeIndexBits) - 1ULL) << TypeIndexShift) |
| static constexpr uint64 | OffsetMask = (((1ULL << OffsetBits) - 1ULL) << OffsetShift) |
Value of this struct should never be a valid unfrozen pointer (i.e. a memory address). We rely on real pointers to have lowest bit(s) 0 this days for the alignment, this is checked later. Unfortunately, we cannot use bitfields as their layout might be compiler-specific, and the data for the target platform is being prepared with a different compiler during the cook.
|
inline |
Signed offset from the current position in the memory image.
|
inline |
The pointer type index in the pointer table. Does not store other negative values except for INDEX_NONE
|
inline |
Whether the value is indeed a frozen pointer, must come first to avoid being set in regular pointers - which are expected to point at padded things so are never even.
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
| uint64 FFrozenMemoryImagePtr::Packed |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |