UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TDeferredRegistry< T > Class Template Reference

#include <DeferredRegistry.h>

Classes

struct  FRegistrant
 

Public Types

enum class  AddResult { New , ExistingNoChange , ExistingChanged }
 
using TInfo = T
 
using TType = typename T::TType
 
using TVersion = typename T::TVersion
 

Public Member Functions

AddResult AddRegistration (TType *(*InOuterRegister)(), TType *(*InInnerRegister)(), const TCHAR *InPackageName, const TCHAR *InName, TInfo &InInfo, const TVersion &InVersion)
 Adds the given registration information for the given object. Objects are either classes, structs, or enumerations.
 
TArray< FRegistrant > & GetRegistrations ()
 
bool HasPendingRegistrations ()
 
void DoPendingPackageRegistrations ()
 
void DoPendingInnerRegistrations (bool UpdateCounter)
 
void DoPendingOuterRegistrations (bool UpdateCounter)
 
template<typename FuncType >
void DoPendingOuterRegistrations (bool UpdateCounter, FuncType &&InOnRegistration)
 
void ProcessChangedObjects (bool InvokeOuterRegisterFunction=false)
 
void EmptyRegistrations ()
 
void UpdateSingletons (TInfo &NewInfo, const TInfo &OldInfo)
 
TDeferredRegistry< FClassRegistrationInfo >::TTypeInnerRegister (const TDeferredRegistry< FClassRegistrationInfo >::FRegistrant &Registrant)
 
void UpdateSingletons (FClassRegistrationInfo &NewInfo, const FClassRegistrationInfo &OldInfo)
 

Static Public Member Functions

static TTypeInnerRegister (const FRegistrant &Registrant)
 
static TTypeOuterRegister (const FRegistrant &Registrant)
 
static TDeferredRegistryGet ()
 

Member Typedef Documentation

◆ TInfo

template<typename T >
using TDeferredRegistry< T >::TInfo = T

◆ TType

template<typename T >
using TDeferredRegistry< T >::TType = typename T::TType

◆ TVersion

template<typename T >
using TDeferredRegistry< T >::TVersion = typename T::TVersion

Member Enumeration Documentation

◆ AddResult

template<typename T >
enum class TDeferredRegistry::AddResult
strong
Enumerator
New 
ExistingNoChange 
ExistingChanged 

Member Function Documentation

◆ AddRegistration()

template<typename T >
AddResult TDeferredRegistry< T >::AddRegistration ( TType *(*)()  InOuterRegister,
TType *(*)()  InInnerRegister,
const TCHAR InPackageName,
const TCHAR InName,
TInfo InInfo,
const TVersion InVersion 
)
inline

Adds the given registration information for the given object. Objects are either classes, structs, or enumerations.

Parameters
InOuterRegisterReturns a fully initialize instance of the object
InInnerRegisterReturns an allocated but uninitialized instance of the object. This is used only by UClass.
InPackageNameName of the package
InNameName of the object
InInfoPersistent information about the object
InVersionVersion information for this incarnation of the object

◆ DoPendingInnerRegistrations()

template<typename T >
void TDeferredRegistry< T >::DoPendingInnerRegistrations ( bool  UpdateCounter)
inline

Invoke the inner registration method for all the registrations

◆ DoPendingOuterRegistrations() [1/2]

template<typename T >
void TDeferredRegistry< T >::DoPendingOuterRegistrations ( bool  UpdateCounter)
inline

Invoke the outer registration method for all the registrations

◆ DoPendingOuterRegistrations() [2/2]

template<typename T >
template<typename FuncType >
void TDeferredRegistry< T >::DoPendingOuterRegistrations ( bool  UpdateCounter,
FuncType &&  InOnRegistration 
)
inline

Invoke the outer registration method for all the registrations and invoke the given function with the resulting object

◆ DoPendingPackageRegistrations()

template<typename T >
void TDeferredRegistry< T >::DoPendingPackageRegistrations ( )
inline

Create all the packages for the packages associated with the registrations

◆ EmptyRegistrations()

template<typename T >
void TDeferredRegistry< T >::EmptyRegistrations ( )
inline

Send notifications to the reload system Clear the pending registrations

◆ Get()

template<typename T >
static TDeferredRegistry & TDeferredRegistry< T >::Get ( )
inlinestatic

Return the registry singleton

◆ GetRegistrations()

template<typename T >
TArray< FRegistrant > & TDeferredRegistry< T >::GetRegistrations ( )
inline

Find an existing registration for reload when the version information matches Return the collection of registrations

◆ HasPendingRegistrations()

template<typename T >
bool TDeferredRegistry< T >::HasPendingRegistrations ( )
inline

Return true if we have registrations

◆ InnerRegister() [1/2]

template<typename T >
static TType * TDeferredRegistry< T >::InnerRegister ( const FRegistrant Registrant)
inlinestatic

Invoke the register function for an inner registrant

◆ InnerRegister() [2/2]

◆ OuterRegister()

template<typename T >
static TType * TDeferredRegistry< T >::OuterRegister ( const FRegistrant Registrant)
inlinestatic

Invoke the register function for an outer registrant

◆ ProcessChangedObjects()

template<typename T >
void TDeferredRegistry< T >::ProcessChangedObjects ( bool  InvokeOuterRegisterFunction = false)
inline

Process existing objects that have changed

◆ UpdateSingletons() [1/2]

void TDeferredRegistry< FClassRegistrationInfo >::UpdateSingletons ( FClassRegistrationInfo NewInfo,
const FClassRegistrationInfo OldInfo 
)
inline

◆ UpdateSingletons() [2/2]

template<typename T >
void TDeferredRegistry< T >::UpdateSingletons ( TInfo NewInfo,
const TInfo OldInfo 
)
inline

When registering a new info, when the contents haven't changed, we copy singleton pointers


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