Navigation
API > API/Runtime > API/Runtime/CoreUObject
FUObjectAnnotationDense is a helper class that is used to store dense, fast, temporary, editor only, external or other tangential information about UObjects.
There is a notion of a default annotation and UObjects default to this annotation.
Annotations are automatically returned to the default when UObjects are destroyed. Annotation are not "garbage collection aware", so it isn't safe to store pointers to other UObjects in an annotation unless external guarantees are made such that destruction of the other object removes the annotation.
| Name | FUObjectAnnotationDense |
| Type | class |
| Header File | /Engine/Source/Runtime/CoreUObject/Public/UObject/UObjectAnnotation.h |
| Include Path | #include "UObject/UObjectAnnotation.h" |
Syntax
template<typename TAnnotation, bool bAutoRemove>
class FUObjectAnnotationDense : public FUObjectArray::FUObjectDeleteListener
Inheritance Hierarchy
- FUObjectArray::FUObjectDeleteListener → FUObjectAnnotationDense
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FUObjectAnnotationDense() |
Destructor, removes all annotations, which removes the annotation as a uobject destruction listener | UObject/UObjectAnnotation.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AnnotationArray | TArray< TAnnotation > | Map from live objects to an annotation | UObject/UObjectAnnotation.h | |
| AnnotationArrayCritical | FTransactionallySafeRWLock | UObject/UObjectAnnotation.h | ||
| bRegistered | bool | Monitor registration to GUObjectArray/UObjectDeleteListener. | UObject/UObjectAnnotation.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddAnnotation
(
int32 Index, |
UObject/UObjectAnnotation.h | ||
void AddAnnotation
(
int32 Index, |
Add an annotation to the annotation list. | UObject/UObjectAnnotation.h | |
void AddAnnotation
(
const UObjectBase* Object, |
UObject/UObjectAnnotation.h | ||
void AddAnnotation
(
const UObjectBase* Object, |
Add an annotation to the annotation list. | UObject/UObjectAnnotation.h | |
TAnnotation GetAnnotation
(
const UObjectBase* Object |
Return the annotation associated with a uobject | UObject/UObjectAnnotation.h | |
TAnnotation GetAnnotation
(
int32 Index |
Return the annotation associated with a uobject | UObject/UObjectAnnotation.h | |
TAnnotation & GetAnnotationRef
(
const UObjectBase* Object |
Return the annotation associated with a uobject | UObject/UObjectAnnotation.h | |
TAnnotation & GetAnnotationRef
(
int32 Index |
Return the annotation associated with a uobject. Adds one if the object has no annotation yet. | UObject/UObjectAnnotation.h | |
virtual void NotifyUObjectDeleted
(
const UObjectBase* Object, |
Interface for FUObjectAllocator::FUObjectDeleteListener | UObject/UObjectAnnotation.h | |
void RemoveAllAnnotations() |
Removes all annotation from the annotation list. | UObject/UObjectAnnotation.h | |
void RemoveAnnotation
(
const UObjectBase* Object |
Removes an annotation from the annotation list. | UObject/UObjectAnnotation.h | |
void RemoveAnnotation
(
int32 Index |
Removes an annotation from the annotation list. | UObject/UObjectAnnotation.h |
Overridden from FUObjectDeleteListener
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual SIZE_T GetAllocatedSize() |
Returns the memory allocated by the internal array | UObject/UObjectAnnotation.h | |
virtual void OnUObjectArrayShutdown() |
Called when UObject Array is being shut down, this is where all listeners should be removed from it | UObject/UObjectAnnotation.h |