FUObjectAnnotationDense

[FUObjectAnnotationDense](API\Runtime\CoreUObject\UObject\FUObjectAnnotationDense) is a helper class that is used to store dense, fast, temporary, editor only, external or other tangential information about UObjects.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

FUObjectArray::FUObjectDeleteListener

FUObjectAnnotationDense

References

Module

CoreUObject

Header

/Engine/Source/Runtime/CoreUObject/Public/UObject/UObjectAnnotation.h

Include

#include "UObject/UObjectAnnotation.h"

Syntax

template<typename TAnnotation, bool bAutoRemove>
class FUObjectAnnotationDense : public FUObjectArray::FUObjectDeleteListener

Remarks

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.

Destructors

Name Description

Public function Virtual

~FUObjectAnnotationDense()

Destructor, removes all annotations, which removes the annotation as a uobject destruction listener

Functions

Name Description

Public function

void

 

AddAnnotation

(
    const UObjectBase* Object,
    const TAnnotation& Annotation
)

Add an annotation to the annotation list.

Public function

void

 

AddAnnotation

(
    const UObjectBase* Object,
    TAnnotation&& Annotation
)

Public function

void

 

AddAnnotation

(
    int32 Index,
    const TAnnotation& Annotation
)

Add an annotation to the annotation list.

Public function

void

 

AddAnnotation

(
    int32 Index,
    TAnnotation&& Annotation
)

Public function Const

uint32

 

GetAllocatedSize()

Returns the memory allocated by the internal array

Public function

TAnnotation

 

GetAnnotation

(
    const UObjectBase* Object
)

Return the annotation associated with a uobject

Public function

TAnnotation

 

GetAnnotation

(
    int32 Index
)

Return the annotation associated with a uobject

Public function

TAnnotation ...

 

GetAnnotationRef

(
    const UObjectBase* Object
)

Return the annotation associated with a uobject

Public function

TAnnotation ...

 

GetAnnotationRef

(
    int32 Index
)

Return the annotation associated with a uobject. Adds one if the object has no annotation yet.

Public function Virtual

void

 

NotifyUObjectDeleted

(
    const UObjectBase* Object,
    int32 Index
)

Interface for FUObjectAllocator::FUObjectDeleteListener

Public function

void

 

RemoveAllAnnotations()

Removes all annotation from the annotation list.

Public function

void

 

RemoveAnnotation

(
    const UObjectBase* Object
)

Removes an annotation from the annotation list.

Public function

void

 

RemoveAnnotation

(
    int32 Index
)

Removes an annotation from the annotation list.

Overridden from FUObjectDeleteListener

Name Description

Public function Virtual

void

 

OnUObjectArrayShutdown()

Called when UObject Array is being shut down, this is where all listeners should be removed from it