5#include "Algo/BinarySearch.h"
169 template <
bool bLatestVersion>
201 void ConstructFlags();
203 template <
bool bLatestVersion>
204 void SerializeLoad_PackageDependencies(
FArchive& Ar,
207 template <
bool bLatestVersion>
208 void SerializeLoad_NameDependencies(
FArchive& Ar,
211 template <
bool bLatestVersion>
212 void SerializeLoad_ManageDependencies(
FArchive& Ar,
215 template <
bool bLatestVersion>
216 void SerializeLoad_Referencers(
FArchive& Ar,
230 uint32 PackageIsSorted : 1;
231 uint32 SearchableNameIsSorted : 1;
232 uint32 ManageIsSorted : 1;
233 uint32 ReferencersIsSorted : 1;
234 uint32 DependenciesInitialized : 1;
237 uint32 bAllowShrinking : 1;
292 return bScriptPath != 0;
331 Other->ManageDependencies.Num(),
Other->Referencers.Num());
336 return bAllowShrinking;
373inline void FDependsNode::ConstructFlags()
376 SearchableNameIsSorted = 1;
378 ReferencersIsSorted = 1;
379 DependenciesInitialized = 0;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Archive.h:1208
Definition DependsNode.h:16
bool IsScriptDependenciesInitialized() const
Definition DependsNode.cpp:1440
void RemoveReferencers(const TSet< FDependsNode * > &InReferencers)
Definition DependsNode.cpp:511
void GetPackageReferencers(TArray< TPair< FAssetIdentifier, FPackageFlagSet > > &OutReferencers)
Definition DependsNode.cpp:341
bool ContainsDependency(const FDependsNode *InDependency, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
Definition DependsNode.cpp:706
static UE::AssetRegistry::EDependencyProperty ByteToPackageProperties(uint8 Bits)
Definition DependsNode.h:351
void ClearDependencies(UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All)
Definition DependsNode.cpp:550
TUniqueFunction< void(FDependsNode *Dependency, UE::AssetRegistry::EDependencyCategory Category, UE::AssetRegistry::EDependencyProperty Properties, bool bDuplicate)> FIterateDependenciesCallback
Definition DependsNode.h:119
bool IsReferencersSorted() const
Definition DependsNode.cpp:1425
TPropertyCombinationSet< ManageFlagWidth > FManageFlagSet
Definition DependsNode.h:25
void IterateOverReferencers(const T &InCallback) const
Definition DependsNode.h:303
void SetAllowShrinking(bool bAllowShrinking)
Definition DependsNode.h:339
void GetDependencies(TArray< FDependsNode * > &OutDependencies, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
Definition DependsNode.cpp:248
void ClearReferencers()
Definition DependsNode.cpp:585
void SetIsDependencyListSorted(UE::AssetRegistry::EDependencyCategory Category, bool bValue)
Definition DependsNode.cpp:1395
void IterateOverDependencies(const FIterateDependenciesCallback &InCallback, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
Definition DependsNode.cpp:214
void AddDependency(FDependsNode *InDependency, UE::AssetRegistry::EDependencyCategory InDependencyType, UE::AssetRegistry::EDependencyProperty InProperties)
Definition DependsNode.cpp:392
void RemoveReferencer(FDependsNode *InReferencer)
Definition DependsNode.cpp:506
void SerializeSave(FArchive &Ar, const TUniqueFunction< int32(FDependsNode *, bool)> &GetSerializeIndexFromNode, FSaveScratch &Scratch, const FAssetRegistrySerializationOptions &Options) const
Definition DependsNode.cpp:822
void SetIsScriptDependenciesInitialized(bool bValue)
Definition DependsNode.cpp:1445
TArray< FDependsNode * > FDependsNodeList
Definition DependsNode.h:18
static constexpr uint32 ManageFlagWidth
Definition DependsNode.h:21
void RefreshReferencers()
Definition DependsNode.cpp:532
bool IsDependencyListSorted(UE::AssetRegistry::EDependencyCategory Category) const
Definition DependsNode.cpp:1373
const FAssetIdentifier & GetIdentifier() const
Definition DependsNode.h:285
void SetIdentifier(const FAssetIdentifier &InIdentifier)
Definition DependsNode.cpp:32
static uint8 PackagePropertiesToByte(UE::AssetRegistry::EDependencyProperty Properties)
Definition DependsNode.h:344
void LegacySerializeLoad_BeforeFlags(FArchive &Ar, FAssetRegistryVersion::Type Version, FDependsNode *PreallocatedDependsNodeDataBuffer, int32 NumDependsNodes, bool bSerializeDependencies)
Definition DependsNode.cpp:1154
void RemoveManageReferencesToNode()
Definition DependsNode.cpp:590
static uint8 ManagePropertiesToByte(UE::AssetRegistry::EDependencyProperty Properties)
Definition DependsNode.h:359
static constexpr uint32 SearchableNameFlagWidth
Definition DependsNode.h:20
void PrintNode() const
Definition DependsNode.cpp:9
void PrintDependencies() const
Definition DependsNode.cpp:18
bool IsScriptPath() const
Definition DependsNode.h:290
FDependsNode()
Definition DependsNode.h:269
void GetReferencers(TArray< FDependsNode * > &OutReferencers, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All, const UE::AssetRegistry::FDependencyQuery &Flags=UE::AssetRegistry::FDependencyQuery()) const
Definition DependsNode.cpp:294
int32 GetConnectionCount() const
Definition DependsNode.cpp:817
TPropertyCombinationSet< PackageFlagWidth > FPackageFlagSet
Definition DependsNode.h:22
void RemoveDependency(FDependsNode *InDependency, UE::AssetRegistry::EDependencyCategory Category=UE::AssetRegistry::EDependencyCategory::All)
Definition DependsNode.cpp:488
SIZE_T GetAllocatedSize(void) const
Definition DependsNode.h:295
static constexpr uint32 PackageFlagWidth
Definition DependsNode.h:19
void AddReferencer(FDependsNode *InReferencer)
Definition DependsNode.cpp:435
void SetIsReferencersSorted(bool bValue)
Definition DependsNode.cpp:1430
static constexpr uint32 ManageFlagSetWidth
Definition DependsNode.h:26
static constexpr uint32 SearchableNameFlagSetWidth
Definition DependsNode.h:24
static UE::AssetRegistry::EDependencyProperty ByteToManageProperties(uint8 Bits)
Definition DependsNode.h:365
void Reserve(int32 InNumPackageDependencies, int32 InNumNameDependencies, int32 InNumManageDependencies, int32 InNumReferencers)
Definition DependsNode.h:311
void PrintReferencers() const
Definition DependsNode.cpp:25
static constexpr uint32 PackageFlagSetWidth
Definition DependsNode.h:23
FName GetPackageName() const
Definition DependsNode.h:280
bool GetAllowShrinking() const
Definition DependsNode.h:334
void AddPackageDependencySet(FDependsNode *InDependency, const FPackageFlagSet &PropertyCombinationSet)
Definition DependsNode.cpp:424
void RemoveLinks(const TUniqueFunction< bool(const FDependsNode *)> &ShouldRemove)
Definition DependsNode.cpp:696
void SerializeLoad(FArchive &Ar, const TUniqueFunction< FDependsNode *(int32)> &GetNodeFromSerializeIndex, FLoadScratch &Scratch, FAssetRegistryVersion::Type Version)
Definition DependsNode.cpp:1129
Definition NameTypes.h:617
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT SIZE_T GetAllocatedSize(void) const
Definition Array.h:1059
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
uint32 GetAllocatedSize(void) const
Definition BitArray.h:1062
void Reserve(int32 Number)
Definition BitArray.h:800
Definition PropertyCombinationSet.h:33
static constexpr uint32 StorageBitCount
Definition PropertyCombinationSet.h:35
Definition FunctionFwd.h:19
EDependencyProperty
Definition AssetRegistryInterface.h:88
EDependencyCategory
Definition AssetRegistryInterface.h:71
Definition AssetIdentifier.h:12
FName PackageName
Definition AssetIdentifier.h:14
Definition AssetRegistryState.h:58
Type
Definition AssetData.h:73
Definition DependsNode.h:243
int32 ManageDependenciesSize
Definition DependsNode.h:246
FDependsNodeReservations(const FDependsNode &Node)
Definition DependsNode.h:250
int32 ReferencersSize
Definition DependsNode.h:247
friend FArchive & operator<<(FArchive &Ar, FDependsNodeReservations &Reservations)
Definition DependsNode.h:258
int32 PackageDependenciesSize
Definition DependsNode.h:244
FDependsNodeReservations()=default
int32 NameDependenciesSize
Definition DependsNode.h:245
Definition DependsNode.h:163
TArray< FDependsNode * > PointerDependencies
Definition DependsNode.h:166
TArray< int32 > InDependencies
Definition DependsNode.h:164
TArray< uint32 > InFlagBits
Definition DependsNode.h:165
TArray< int32 > SortIndexes
Definition DependsNode.h:167
Definition DependsNode.h:152
int32 SerializeIndex
Definition DependsNode.h:153
int32 ListIndex
Definition DependsNode.h:154
Definition DependsNode.h:150
TArray< int32 > OutDependencies
Definition DependsNode.h:157
TBitArray OutFlagBits
Definition DependsNode.h:158
TArray< FSortInfo > SortInfos
Definition DependsNode.h:156
Definition AssetRegistryInterface.h:255