UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UTypedElementRegistry Class Reference

#include <TypedElementRegistry.h>

+ Inheritance diagram for UTypedElementRegistry:

Classes

struct  FDisableElementDestructionOnGC
 

Public Types

using FOnElementReplaced_Payload = TArrayView< const TTuple< FTypedElementHandle, FTypedElementHandle > >
 
- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 

Public Member Functions

TYPEDELEMENTFRAMEWORK_API UTypedElementRegistry ()
 
virtual TYPEDELEMENTFRAMEWORK_API void FinishDestroy () override
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FOnElementReplaced, FOnElementReplaced_Payload)
 
FOnElementReplacedOnElementReplaced ()
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FOnElementUpdated, TArrayView< const FTypedElementHandle >)
 
FOnElementUpdatedOnElementUpdated ()
 
FSimpleMulticastDelegateOnProcessingDeferredElementsToDestroy ()
 
FTypedHandleTypeId GetRegisteredElementTypeId (const FName InElementTypeName) const
 
FName GetRegisteredElementTypeName (const FTypedHandleTypeId InElementTypeId) const
 
void RegisterElementType (const FName InElementTypeName, bool bSupportScriptHandles)
 
template<typename ElementDataType , bool bSupportScriptHandles>
void RegisterElementType (const FName InElementTypeName)
 
template<typename BaseInterfaceType >
void RegisterElementInterface (const FName InElementTypeName, UObject *InElementInterface, const bool InAllowOverride=false)
 
template<typename BaseInterfaceType >
BaseInterfaceTypeGetElementInterface (const FTypedHandleTypeId InElementTypeId) const
 
template<typename BaseInterfaceType >
BaseInterfaceTypeGetElementInterface (const FTypedElementHandle &InElementHandle) const
 
UObjectGetElementInterface (const FTypedElementHandle &InElementHandle, const TSubclassOf< UInterface > InBaseInterfaceType) const
 
UObjectGetElementInterface (const FScriptTypedElementHandle &InElementHandle, const TSubclassOf< UInterface > InBaseInterfaceType) const
 
FTypedElementOwner CreateElement (const FName InElementTypeName, const FTypedHandleElementId InElementId)
 
template<typename ElementDataType >
TTypedElementOwner< ElementDataType > CreateElement (const FName InElementTypeName)
 
void DestroyElement (FTypedElementOwner &InOutElementOwner)
 
template<typename ElementDataType >
void DestroyElement (TTypedElementOwner< ElementDataType > &InOutElementOwner)
 
TYPEDELEMENTFRAMEWORK_API void ProcessDeferredElementsToDestroy ()
 
TYPEDELEMENTFRAMEWORK_API void ReleaseElementId (FTypedElementId &InOutElementId)
 
TYPEDELEMENTFRAMEWORK_API FTypedElementHandle GetElementHandle (const FTypedElementId &InElementId) const
 
FTypedElement GetElement (const FTypedElementId &InElementId, const TSubclassOf< UInterface > &InBaseInterfaceType) const
 
template<typename BaseInterfaceType >
TTypedElement< BaseInterfaceTypeGetElement (const FTypedElementId &InElementId) const
 
FTypedElement GetElement (const FTypedElementHandle &InElementHandle, const TSubclassOf< UInterface > &InBaseInterfaceType) const
 
template<typename BaseInterfaceType >
TTypedElement< BaseInterfaceTypeGetElement (const FTypedElementHandle &InElementHandle) const
 
FTypedElementListRef CreateElementList ()
 
FScriptTypedElementListRef CreateScriptElementList ()
 
TYPEDELEMENTFRAMEWORK_API FTypedElementListRef CreateElementList (TArrayView< const FTypedElementId > InElementIds)
 
TYPEDELEMENTFRAMEWORK_API FTypedElementListRef CreateElementList (TArrayView< const FTypedElementHandle > InElementHandles)
 
template<typename ElementDataType >
FTypedElementListRef CreateElementList (const TArray< TTypedElementOwner< ElementDataType > > &InElementOwners)
 
template<typename ElementDataType >
FTypedElementListRef CreateElementList (TArrayView< const TTypedElementOwner< ElementDataType > > InElementOwners)
 
TYPEDELEMENTFRAMEWORK_API FString RegistredElementTypesAndInterfacesToString () const
 
FScriptTypedElementHandle CreateScriptHandle (const FTypedElementId &InElementId)
 
void Private_OnElementListCreated (FTypedElementList *InElementList)
 
void Private_OnElementListDestroyed (FTypedElementList *InElementList)
 
void Private_OnElementListCreated (FScriptTypedElementList *InElementList)
 
void Private_OnElementListDestroyed (FScriptTypedElementList *InElementList)
 
void Private_GetElementImpl (const FTypedElementHandle &InElementHandle, const TSubclassOf< UInterface > &InBaseInterfaceType, FTypedElement &OutElement) const
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostInitProperties ()
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoad ()
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual COREUOBJECT_API void BeginDestroy ()
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FArchive &Ar)
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
virtual COREUOBJECT_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 

Static Public Member Functions

static TYPEDELEMENTFRAMEWORK_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static TYPEDELEMENTFRAMEWORK_API void Private_InitializeInstance ()
 
static TYPEDELEMENTFRAMEWORK_API void Private_ShutdownInstance ()
 
static TYPEDELEMENTFRAMEWORK_API UTypedElementRegistryGetInstance ()
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Additional Inherited Members

- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Detailed Description

Registry of element types and their associated interfaces, along with the elements that represent their instances.

Member Typedef Documentation

◆ FOnElementReplaced_Payload

Event fired when references to one element should be replaced with a reference to a different element.

Constructor & Destructor Documentation

◆ UTypedElementRegistry()

UTypedElementRegistry::UTypedElementRegistry ( )

Member Function Documentation

◆ AddReferencedObjects()

void UTypedElementRegistry::AddReferencedObjects ( UObject InThis,
FReferenceCollector Collector 
)
static

◆ CreateElement() [1/2]

template<typename ElementDataType >
TTypedElementOwner< ElementDataType > UTypedElementRegistry::CreateElement ( const FName  InElementTypeName)
inline

Create an element that has additional payload data.

Note
Allocation of the payload data and the associated handle ID are managed internally, and the data will remain valid until DestroyElementHandle is called on this handle.

◆ CreateElement() [2/2]

FTypedElementOwner UTypedElementRegistry::CreateElement ( const FName  InElementTypeName,
const FTypedHandleElementId  InElementId 
)
inline

Create an element that doesn't require any additional payload data.

Note
The associated handle ID should be something that can externally be used to uniquely identify this element, until DestroyElementHandle is called on this handle.

◆ CreateElementList() [1/5]

FTypedElementListRef UTypedElementRegistry::CreateElementList ( )
inline

Create an empty list of elements associated with this registry.

◆ CreateElementList() [2/5]

template<typename ElementDataType >
FTypedElementListRef UTypedElementRegistry::CreateElementList ( const TArray< TTypedElementOwner< ElementDataType > > &  InElementOwners)
inline

Create an empty list of elements associated with this registry, populated from the given owners that are valid.

◆ CreateElementList() [3/5]

FTypedElementListRef UTypedElementRegistry::CreateElementList ( TArrayView< const FTypedElementHandle InElementHandles)

Create an empty list of elements associated with this registry, populated from the given handles that are valid.

◆ CreateElementList() [4/5]

FTypedElementListRef UTypedElementRegistry::CreateElementList ( TArrayView< const FTypedElementId InElementIds)

Create an empty list of elements associated with this registry, populated from the given minimal IDs that are valid.

◆ CreateElementList() [5/5]

template<typename ElementDataType >
FTypedElementListRef UTypedElementRegistry::CreateElementList ( TArrayView< const TTypedElementOwner< ElementDataType > >  InElementOwners)
inline

Create an empty list of elements associated with this registry, populated from the given owners that are valid.

◆ CreateScriptElementList()

FScriptTypedElementListRef UTypedElementRegistry::CreateScriptElementList ( )
inline

Create an empty list of script elements associated with this registry.

◆ CreateScriptHandle()

FScriptTypedElementHandle UTypedElementRegistry::CreateScriptHandle ( const FTypedElementId InElementId)
inline

Create a script handle. This should only be use for the script exposure apis.

◆ DECLARE_MULTICAST_DELEGATE_OneParam() [1/2]

UTypedElementRegistry::DECLARE_MULTICAST_DELEGATE_OneParam ( FOnElementReplaced  ,
FOnElementReplaced_Payload   
)

◆ DECLARE_MULTICAST_DELEGATE_OneParam() [2/2]

UTypedElementRegistry::DECLARE_MULTICAST_DELEGATE_OneParam ( FOnElementUpdated  ,
TArrayView< const FTypedElementHandle  
)

Event fired when an element has been internally updated and data cached from it should be refreshed.

◆ DestroyElement() [1/2]

void UTypedElementRegistry::DestroyElement ( FTypedElementOwner InOutElementOwner)
inline

Destroy an element.

Note
Destruction is deferred until the next call to ProcessDeferredElementsToDestroy.

◆ DestroyElement() [2/2]

template<typename ElementDataType >
void UTypedElementRegistry::DestroyElement ( TTypedElementOwner< ElementDataType > &  InOutElementOwner)
inline

Destroy an element.

Note
Destruction is deferred until the next call to ProcessDeferredElementsToDestroy.

◆ FinishDestroy()

void UTypedElementRegistry::FinishDestroy ( )
overridevirtual

Called to finish destroying the object. After UObject::FinishDestroy is called, the object's memory should no longer be accessed.

Warning
Because properties are destroyed here, Super::FinishDestroy() should always be called at the end of your child class's FinishDestroy() method, rather than at the beginning.

Reimplemented from UObject.

◆ GetElement() [1/4]

TTypedElement< BaseInterfaceType > UTypedElementRegistry::GetElement ( const FTypedElementHandle InElementHandle) const
inline

Get an element that implements the given interface from its handle.

◆ GetElement() [2/4]

FTypedElement UTypedElementRegistry::GetElement ( const FTypedElementHandle InElementHandle,
const TSubclassOf< UInterface > &  InBaseInterfaceType 
) const
inline

Get an element that implements the given interface from its handle.

◆ GetElement() [3/4]

TTypedElement< BaseInterfaceType > UTypedElementRegistry::GetElement ( const FTypedElementId InElementId) const
inline

Get an element that implements the given interface from its minimal ID.

◆ GetElement() [4/4]

FTypedElement UTypedElementRegistry::GetElement ( const FTypedElementId InElementId,
const TSubclassOf< UInterface > &  InBaseInterfaceType 
) const
inline

Get an element that implements the given interface from its minimal ID.

◆ GetElementHandle()

FTypedElementHandle UTypedElementRegistry::GetElementHandle ( const FTypedElementId InElementId) const

Get an element handle from its minimal ID.

◆ GetElementInterface() [1/4]

UObject * UTypedElementRegistry::GetElementInterface ( const FScriptTypedElementHandle InElementHandle,
const TSubclassOf< UInterface InBaseInterfaceType 
) const
inline

Get the element interface supported by the given handle, or null if there is no support for this interface or if the handle is invalid.

◆ GetElementInterface() [2/4]

BaseInterfaceType * UTypedElementRegistry::GetElementInterface ( const FTypedElementHandle InElementHandle) const
inline

Get the element interface supported by the given handle, or null if there is no support for this interface.

◆ GetElementInterface() [3/4]

UObject * UTypedElementRegistry::GetElementInterface ( const FTypedElementHandle InElementHandle,
const TSubclassOf< UInterface InBaseInterfaceType 
) const
inline

Get the element interface supported by the given handle, or null if there is no support for this interface.

◆ GetElementInterface() [4/4]

BaseInterfaceType * UTypedElementRegistry::GetElementInterface ( const FTypedHandleTypeId  InElementTypeId) const
inline

Get the element interface supported by the given type, or null if there is no support for this interface.

◆ GetInstance()

UTypedElementRegistry * UTypedElementRegistry::GetInstance ( )
static

Get the singleton instance of the registry used in most cases.

◆ GetRegisteredElementTypeId()

FTypedHandleTypeId UTypedElementRegistry::GetRegisteredElementTypeId ( const FName  InElementTypeName) const
inline

Get the element type ID for the associated element type name, if any.

Returns
The element type ID, or 0 if the given name wasn't registered.

◆ GetRegisteredElementTypeName()

FName UTypedElementRegistry::GetRegisteredElementTypeName ( const FTypedHandleTypeId  InElementTypeId) const
inline

Get the element type name for the associated element type ID, if any.

Returns
The element type name, or None if the given ID wasn't registered.

◆ OnElementReplaced()

FOnElementReplaced & UTypedElementRegistry::OnElementReplaced ( )
inline

◆ OnElementUpdated()

FOnElementUpdated & UTypedElementRegistry::OnElementUpdated ( )
inline

◆ OnProcessingDeferredElementsToDestroy()

FSimpleMulticastDelegate & UTypedElementRegistry::OnProcessingDeferredElementsToDestroy ( )
inline

Event fired prior to processing any elements that were previously marked for deferred destruction.

See also
ProcessDeferredElementsToDestroy.

◆ Private_GetElementImpl()

void UTypedElementRegistry::Private_GetElementImpl ( const FTypedElementHandle InElementHandle,
const TSubclassOf< UInterface > &  InBaseInterfaceType,
FTypedElement OutElement 
) const
inline

◆ Private_InitializeInstance()

void UTypedElementRegistry::Private_InitializeInstance ( )
static

Initialize the singleton instance of the registry used in most cases.

◆ Private_OnElementListCreated() [1/2]

void UTypedElementRegistry::Private_OnElementListCreated ( FScriptTypedElementList InElementList)
inline

◆ Private_OnElementListCreated() [2/2]

void UTypedElementRegistry::Private_OnElementListCreated ( FTypedElementList InElementList)
inline

◆ Private_OnElementListDestroyed() [1/2]

void UTypedElementRegistry::Private_OnElementListDestroyed ( FScriptTypedElementList InElementList)
inline

◆ Private_OnElementListDestroyed() [2/2]

void UTypedElementRegistry::Private_OnElementListDestroyed ( FTypedElementList InElementList)
inline

◆ Private_ShutdownInstance()

void UTypedElementRegistry::Private_ShutdownInstance ( )
static

Shutdown the singleton instance of the registry used in most cases.

◆ ProcessDeferredElementsToDestroy()

void UTypedElementRegistry::ProcessDeferredElementsToDestroy ( )

Process any elements that were previously marked for deferred destruction.

Note
This is automatically called at the end of each frame, but may also be called manually.
This is automatically called post-GC, unless auto-GC destruction has been disabled (
See also
FDisableElementDestructionOnGC).

◆ RegisterElementInterface()

void UTypedElementRegistry::RegisterElementInterface ( const FName  InElementTypeName,
UObject InElementInterface,
const bool  InAllowOverride = false 
)
inline

Register that an element interface is supported for the given type, which must have previously been registered via RegisterElementType.

◆ RegisterElementType() [1/2]

template<typename ElementDataType , bool bSupportScriptHandles>
void UTypedElementRegistry::RegisterElementType ( const FName  InElementTypeName)
inline

Register an element type that has additional payload data. Note if bSupportScriptHandles is true, elements of this type should only be destroyed from the game thread

◆ RegisterElementType() [2/2]

void UTypedElementRegistry::RegisterElementType ( const FName  InElementTypeName,
bool  bSupportScriptHandles 
)
inline

Register an element type that doesn't require any additional payload data.

Parameters
bSupportScriptHandlesDoes this element type support script handles. If true the elements of this type can only be destroyed from the game thread

◆ RegistredElementTypesAndInterfacesToString()

FString UTypedElementRegistry::RegistredElementTypesAndInterfacesToString ( ) const

Extract a string that contains name of the type elements registered. For each type it also says what interface are registered and the path of the class that implement them

◆ ReleaseElementId()

void UTypedElementRegistry::ReleaseElementId ( FTypedElementId InOutElementId)

Release an element ID that was previously acquired from an existing handle.


The documentation for this class was generated from the following files: