Navigation
API > API/Runtime > API/Runtime/CoreUObject
Single item in the UObject array.
| Name | FUObjectItem |
| Type | struct |
| Header File | /Engine/Source/Runtime/CoreUObject/Public/UObject/UObjectArray.h |
| Include Path | #include "UObject/UObjectArray.h" |
Syntax
struct FUObjectItem
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FUObjectItem
(
FUObjectItem&& |
Non-copyable. | UObject/UObjectArray.h | |
FUObjectItem
(
const FUObjectItem& |
UObject/UObjectArray.h | ||
FUObjectItem () |
UObject/UObjectArray.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FUObjectItem() |
UObject/UObjectArray.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FlagsMask | int32 | UObject/UObjectArray.h | |
| PtrMask | int32 | UObject/UObjectArray.h | |
| UObjectAlignment | int32 | Currently we assume UObjects are aligned by 8 bytes, that gives us 3 lower bits as zeros that we can discard. | UObject/UObjectArray.h |
| UObjectPtrTrailingZeroes | int32 | UObject/UObjectArray.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ClusterRootIndex | int32 | UObject Owner Cluster Index. | UObject/UObjectArray.h | |
| FlagsAndRefCount | int64 | UObject/UObjectArray.h | ||
| FUObjectItem | union FUObjectItem | UObject/UObjectArray.h | ||
| Object | UObjectBase * | Pointer to the allocated object | UObject/UObjectArray.h | |
| ObjectPtrLow | uint32 | UObject/UObjectArray.h | ||
| RemoteId | uint8 | Dummy variable for natvis. | UObject/UObjectArray.h | |
| SerialNumber | int32 | Weak Object Pointer Serial number associated with the object. | UObject/UObjectArray.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| FUObjectItem | union FUObjectItem | Stores EInternalObjectFlags (and higher 13 bits of the UObject pointer packed together if UE_PACK_FUOBJECT_ITEM is set to 1) These can only be changed via Set* and Clear* functions The Flags are now stored on high 32-bit so that we can use InterlockedInc/InterlockedDec directly for RefCount which is stored on the low 32-bit while preserving atomicity of the whole thing so RootFlags+RefCount can be evaluated in a lock-less way. | UObject/UObjectArray.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddRef() |
UObject/UObjectArray.h | ||
void ClearFlags
(
EInternalObjectFlags FlagsToClear |
UObject/UObjectArray.h | ||
void ClearGarbage() |
UObject/UObjectArray.h | ||
void ClearRootSet() |
UObject/UObjectArray.h | ||
int32 GetClusterIndex() |
Decodes the cluster index from the ClusterRootIndex variable | UObject/UObjectArray.h | |
EInternalObjectFlags GetFlags() |
UObject/UObjectArray.h | ||
UObjectBase * GetObject() |
UObject/UObjectArray.h | ||
int32 GetOwnerIndex() |
UObject/UObjectArray.h | ||
int32 GetRefCount() |
UObject/UObjectArray.h | ||
int32 GetSerialNumber() |
UObject/UObjectArray.h | ||
bool HasAllFlags
(
EInternalObjectFlags InFlags |
UObject/UObjectArray.h | ||
bool HasAnyFlags
(
EInternalObjectFlags InFlags |
UObject/UObjectArray.h | ||
bool IsGarbage() |
UObject/UObjectArray.h | ||
bool IsRootSet() |
UObject/UObjectArray.h | ||
bool IsUnreachable() |
UObject/UObjectArray.h | ||
void ReleaseRef() |
UObject/UObjectArray.h | ||
void SetClusterIndex
(
int32 ClusterIndex |
Encodes the cluster index in the ClusterRootIndex variable | UObject/UObjectArray.h | |
void SetFlags
(
EInternalObjectFlags FlagsToSet |
UObject/UObjectArray.h | ||
void SetGarbage() |
UObject/UObjectArray.h | ||
void SetObject
(
UObjectBase* InObject |
UObject/UObjectArray.h | ||
void SetOwnerIndex
(
int32 OwnerIndex |
UObject/UObjectArray.h | ||
void SetRootSet() |
UObject/UObjectArray.h | ||
bool ThisThreadAtomicallyClearedFlag
(
EInternalObjectFlags FlagToClear |
Uses atomics to clear the specified flag(s). | UObject/UObjectArray.h | |
bool ThisThreadAtomicallySetFlag
(
EInternalObjectFlags FlagToSet |
Uses atomics to set the specified flag(s) | UObject/UObjectArray.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static int32 GetFlagsInternal
(
int64 FlagsAndRefCount |
UObject/UObjectArray.h | ||
static int32 GetRefCountInternal
(
int64 FlagsAndRefCount |
UObject/UObjectArray.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FUObjectItem & operator=
(
const FUObjectItem& |
UObject/UObjectArray.h | ||
FUObjectItem & operator=
(
FUObjectItem&& |
UObject/UObjectArray.h |