10#include "Containers/Array.h"
12#include "Containers/Map.h"
13#include "Containers/Set.h"
31#if !UE_BUILD_TEST && !UE_BUILD_SHIPPING
47template <UE::CSameAs<
bool> ExactClassType>
66template <UE::CSameAs<
bool> ExactClassType>
84template <UE::CSameAs<
bool> ExactClassType>
102template <UE::CSameAs<
bool> ExactClassType>
341UE_DEPRECATED(5.5,
"LogHashMemoryOverheadStatistics that takes bool parameter has been deprecated.")
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define DECLARE_DWORD_COUNTER_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:682
#define DECLARE_STATS_GROUP_VERBOSE(GroupDesc, GroupId, GroupCat)
Definition Stats.h:690
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
EFindObjectFlags
Definition FindObjectFlags.h:8
#define UE_EXACTCLASS_BOOL_DEPRECATED(FunctionName)
Definition FindObjectFlags.h:16
EInternalObjectFlags
Definition ObjectMacros.h:631
EObjectFlags
Definition ObjectMacros.h:552
@ RF_NoFlags
No flags, used to avoid a cast.
Definition ObjectMacros.h:555
@ RF_ClassDefaultObject
This object is used as the default template for all instances of a class. One object is created for e...
Definition ObjectMacros.h:563
COREUOBJECT_API void ForEachObjectWithPackage(const class UPackage *Outer, TFunctionRef< bool(UObject *)> Operation, bool bIncludeNestedObjects=true, EObjectFlags ExclusionFlags=RF_NoFlags, EInternalObjectFlags ExclusionInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1719
void HashObjectExternalPackage(class UObjectBase *Object, class UPackage *Package)
Definition UObjectHash.cpp:2055
void UnhashObjectExternalPackage(class UObjectBase *Object)
Definition UObjectHash.cpp:2084
COREUOBJECT_API void GetDerivedClasses(const UClass *ClassToLookFor, TArray< UClass * > &Results, bool bRecursive=true)
Definition UObjectHash.cpp:1883
UObject * StaticFindObjectFastExplicit(const UClass *ObjectClass, FName ObjectName, const FString &ObjectPathName, EFindObjectFlags Flags=EFindObjectFlags::None, EObjectFlags ExcludeFlags=RF_NoFlags)
Definition UObjectHash.cpp:925
COREUOBJECT_API class UObjectBase * FindObjectWithOuter(const class UObjectBase *Outer, const class UClass *ClassToLookFor=nullptr, FName NameToLookFor=NAME_None)
Definition UObjectHash.cpp:1669
COREUOBJECT_API TMap< UClass *, TSet< UClass * > > GetAllDerivedClasses()
Definition UObjectHash.cpp:1906
UPackage * GetObjectExternalPackageInternal(const class UObjectBase *Object)
COREUOBJECT_API void LogHashOuterStatistics(FOutputDevice &Ar, const bool bShowHashBucketCollisionInfo)
Definition UObjectHash.cpp:2286
COREUOBJECT_API void GetObjectsWithPackage(const class UPackage *Outer, TArray< UObject * > &Results, bool bIncludeNestedObjects=true, EObjectFlags ExclusionFlags=RF_NoFlags, EInternalObjectFlags ExclusionInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1710
COREUOBJECT_API void ForEachObjectOfClasses(TArrayView< const UClass *const > ClassesToLookFor, TFunctionRef< void(UObject *)> Operation, EObjectFlags ExcludeFlags=RF_ClassDefaultObject, EInternalObjectFlags ExclusionInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1875
COREUOBJECT_API void LogHashMemoryOverheadStatistics(FOutputDevice &Ar, const EObjectMemoryOverheadOptions InOptions)
Definition UObjectHash.cpp:2304
COREUOBJECT_API bool StaticFindAllObjectsFastInternal(TArray< UObject * > &OutFoundObjects, const UClass *ObjectClass, FName ObjectName, EFindObjectFlags Flags=EFindObjectFlags::None, EObjectFlags ExcludeFlags=RF_NoFlags, EInternalObjectFlags ExclusiveInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1181
COREUOBJECT_API void ForEachObjectOfClass(const UClass *ClassToLookFor, TFunctionRef< void(UObject *)> Operation, bool bIncludeDerivedClasses=true, EObjectFlags ExcludeFlags=RF_ClassDefaultObject, EInternalObjectFlags ExclusionInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1856
COREUOBJECT_API uint64 GetRegisteredClassesVersionNumber()
Definition UObjectHash.cpp:1528
void UnhashObject(class UObjectBase *Object)
Definition UObjectHash.cpp:2006
COREUOBJECT_API void ShrinkUObjectHashTables()
Definition UObjectHash.cpp:1514
COREUOBJECT_API uint64 GetRegisteredNativeClassesVersionNumber()
Definition UObjectHash.cpp:1534
COREUOBJECT_API UObject * StaticFindFirstObjectFastInternal(const UClass *ObjectClass, FName ObjectName, EFindObjectFlags Flags=EFindObjectFlags::None, EObjectFlags ExcludeFlag=RF_NoFlags, EInternalObjectFlags ExclusiveInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1226
EObjectMemoryOverheadOptions
Definition UObjectHash.h:320
COREUOBJECT_API UObject * StaticFindObjectFastInternal(const UClass *Class, const UObject *InOuter, FName InName, EFindObjectFlags Flags=EFindObjectFlags::None, EObjectFlags ExclusiveFlags=RF_NoFlags, EInternalObjectFlags ExclusiveInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1153
COREUOBJECT_API void GetObjectsOfClass(const UClass *ClassToLookFor, TArray< UObject * > &Results, bool bIncludeDerivedClasses=true, EObjectFlags ExcludeFlags=RF_ClassDefaultObject, EInternalObjectFlags ExclusionInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1812
void LockUObjectHashTables()
Definition UObjectHash.cpp:2119
COREUOBJECT_API bool ClassHasInstancesAsyncLoading(const UClass *ClassToLookFor)
Definition UObjectHash.cpp:1913
COREUOBJECT_API void LogHashStatistics(FOutputDevice &Ar, const bool bShowHashBucketCollisionInfo)
Definition UObjectHash.cpp:2276
COREUOBJECT_API void ForEachObjectWithOuterBreakable(const class UObjectBase *Outer, TFunctionRef< bool(UObject *)> Operation, bool bIncludeNestedObjects=true, EObjectFlags ExclusionFlags=RF_NoFlags, EInternalObjectFlags ExclusionInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1615
UPackage * GetObjectExternalPackageThreadSafe(const class UObjectBase *Object)
void HashObject(class UObjectBase *Object)
Definition UObjectHash.cpp:1949
void UnlockUObjectHashTables()
Definition UObjectHash.cpp:2131
void ForEachObjectWithOuter(const class UObjectBase *Outer, TFunctionRef< void(UObject *)> Operation, bool bIncludeNestedObjects=true, EObjectFlags ExclusionFlags=RF_NoFlags, EInternalObjectFlags ExclusionInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.h:152
COREUOBJECT_API void GetObjectsWithOuter(const class UObjectBase *Outer, TArray< UObject * > &Results, bool bIncludeNestedObjects=true, EObjectFlags ExclusionFlags=RF_NoFlags, EInternalObjectFlags ExclusionInternalFlags=EInternalObjectFlags::None)
Definition UObjectHash.cpp:1551
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition UObjectHash.h:358
UE_FORCEINLINE_HINT ~FScopedUObjectHashTablesLock()
Definition UObjectHash.h:364
UE_FORCEINLINE_HINT FScopedUObjectHashTablesLock()
Definition UObjectHash.h:360
Definition ArrayView.h:139
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition UObjectBase.h:59
Definition RemoteObjectTypes.h:212