7#if !UE_WITH_CONSTINIT_UOBJECT
27 return lhs.Hash !=
rhs.Hash;
32 return lhs.BodyHash !=
rhs.BodyHash ||
lhs.DeclarationsHash !=
rhs.DeclarationsHash;
46 using TType =
typename T::TType;
100 TType*
OldSingleton =
ExistingInfo ? ((*ExistingInfo)->InnerSingleton ? (*ExistingInfo)->InnerSingleton : (*ExistingInfo)->OuterSingleton) :
nullptr;
107 bAdd =
Reload->GetEnableReinstancing(bHasChanged);
141 const FPackageAndNameKey Key = FPackageAndNameKey{
InPackageName, InName };
147 if ((*ExistingInfo)->ReloadVersionInfo !=
InVersion)
151 return (*ExistingInfo)->InnerSingleton;
160 return Registrations;
168 return ProcessedRegistrations < Registrations.Num();
195 ProcessedRegistrations =
Num;
212 ProcessedRegistrations =
Num;
219 template <
typename FuncType>
230 ProcessedRegistrations =
Num;
290 for (
const FRegistrant&
Registrant : Registrations)
305 ProcessedRegistrations = 0;
332 int32 ProcessedRegistrations = 0;
354 NewInfo.InnerSingleton =
nullptr;
355 NewInfo.OuterSingleton =
nullptr;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
#define LLM_SCOPE_BYTAG(...)
Definition LowLevelMemTracker.h:1099
#define LLM_DEFINE_STATIC_TAG(...)
Definition LowLevelMemTracker.h:1115
#define LLM_SCOPE(...)
Definition LowLevelMemTracker.h:1095
IReload * GetActiveReloadInterface()
Definition ModuleManager.h:1175
UPackage * CreatePackage(const TCHAR *PackageName)
Definition UObjectGlobals.cpp:1002
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition DeferredRegistry.h:43
static TDeferredRegistry & Get()
Definition DeferredRegistry.h:320
void DoPendingOuterRegistrations(bool UpdateCounter, FuncType &&InOnRegistration)
Definition DeferredRegistry.h:220
TArray< FRegistrant > & GetRegistrations()
Definition DeferredRegistry.h:158
void ProcessChangedObjects(bool InvokeOuterRegisterFunction=false)
Definition DeferredRegistry.h:253
void UpdateSingletons(TInfo &NewInfo, const TInfo &OldInfo)
Definition DeferredRegistry.h:311
AddResult
Definition DeferredRegistry.h:50
typename T::TVersion TVersion
Definition DeferredRegistry.h:47
void DoPendingPackageRegistrations()
Definition DeferredRegistry.h:174
T TInfo
Definition DeferredRegistry.h:45
typename T::TType TType
Definition DeferredRegistry.h:46
static TType * InnerRegister(const FRegistrant &Registrant)
Definition DeferredRegistry.h:237
void DoPendingOuterRegistrations(bool UpdateCounter)
Definition DeferredRegistry.h:202
void DoPendingInnerRegistrations(bool UpdateCounter)
Definition DeferredRegistry.h:185
bool HasPendingRegistrations()
Definition DeferredRegistry.h:166
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,...
Definition DeferredRegistry.h:92
void EmptyRegistrations()
Definition DeferredRegistry.h:302
static TType * OuterRegister(const FRegistrant &Registrant)
Definition DeferredRegistry.h:245
Definition UnrealString.h.inl:34
U16 Index
Definition radfft.cpp:71
Definition UObjectBase.h:498
Definition UObjectBase.h:569
Definition UObjectBase.h:605
Definition UObjectBase.h:531
Definition DeferredRegistry.h:66
TInfo * Info
Definition DeferredRegistry.h:71
const TCHAR * PackageName
Definition DeferredRegistry.h:69
const TCHAR * Name
Definition DeferredRegistry.h:70
Definition UObjectBase.h:485