UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DependsNode.cpp File Reference

Functions

template<uint32 FlagWidth, typename VisitorType >
void EnumerateMatchingDependencyFlags (const TBitArray<> *FlagBits, UE::AssetRegistry::EDependencyProperty CategoryMask, UE::AssetRegistry::EDependencyProperty(*ByteToProperties)(uint8), int32 ListIndex, const UE::AssetRegistry::FDependencyQuery &SearchFlags, VisitorType &&Visitor)
 
template<uint32 FlagWidth, typename CallbackType >
void IterateDependencyList (CallbackType &&InCallback, UE::AssetRegistry::EDependencyCategory SearchCategory, const UE::AssetRegistry::FDependencyQuery &SearchFlags, UE::AssetRegistry::EDependencyCategory ListCategory, UE::AssetRegistry::EDependencyProperty CategoryMask, const TArray< FDependsNode * > &Dependencies, const TBitArray<> *FlagBits, UE::AssetRegistry::EDependencyProperty(*ByteToProperties)(uint8), bool IsSorted)
 
template<uint32 FlagWidth, typename CallbackType >
void IterateDependencyList (CallbackType &&InCallback, const FDependsNode *SearchNode, UE::AssetRegistry::EDependencyCategory SearchCategory, const UE::AssetRegistry::FDependencyQuery &SearchFlags, UE::AssetRegistry::EDependencyCategory ListCategory, UE::AssetRegistry::EDependencyProperty CategoryMask, const TArray< FDependsNode * > &Dependencies, const TBitArray<> *FlagBits, UE::AssetRegistry::EDependencyProperty(*ByteToProperties)(uint8), bool IsSorted)
 
template<uint32 FlagWidth>
void AddDependency (FDependsNode *InDependency, UE::AssetRegistry::EDependencyProperty AddProperties, UE::AssetRegistry::EDependencyProperty CategoryMask, TArray< FDependsNode * > &Dependencies, TBitArray<> *FlagBits, uint8(*PropertiesToByte)(UE::AssetRegistry::EDependencyProperty), bool IsSorted)
 
template<uint32 FlagWidth>
void RemoveDependency (FDependsNode *InDependency, TArray< FDependsNode * > &Dependencies, TBitArray<> *FlagBits, bool IsSorted, bool bAllowShrinking)
 
template<uint32 FlagWidth>
void RemoveAll (const TUniqueFunction< bool(const FDependsNode *)> &ShouldRemove, TArray< FDependsNode * > &Dependencies, TBitArray<> *FlagBits, bool IsSorted, EAllowShrinking ShrinkPolicy)
 
template<uint32 FlagWidth>
void SortDependencyList (TArray< FDependsNode * > &Dependencies, TBitArray<> *Flags, EAllowShrinking ShrinkPolicy)
 

Function Documentation

◆ AddDependency()

template<uint32 FlagWidth>
void AddDependency ( FDependsNode InDependency,
UE::AssetRegistry::EDependencyProperty  AddProperties,
UE::AssetRegistry::EDependencyProperty  CategoryMask,
TArray< FDependsNode * > &  Dependencies,
TBitArray<> *  FlagBits,
uint8(*)(UE::AssetRegistry::EDependencyProperty PropertiesToByte,
bool  IsSorted 
)

◆ EnumerateMatchingDependencyFlags()

template<uint32 FlagWidth, typename VisitorType >
void EnumerateMatchingDependencyFlags ( const TBitArray<> *  FlagBits,
UE::AssetRegistry::EDependencyProperty  CategoryMask,
UE::AssetRegistry::EDependencyProperty(*)(uint8 ByteToProperties,
int32  ListIndex,
const UE::AssetRegistry::FDependencyQuery SearchFlags,
VisitorType &&  Visitor 
)

Helper function for IterateDependencyList, which itself is a helper function for FDependsNode functions. This function is given an index into one of the lists. All of the data for the list and how to interpret it is also passed in. The function looks of the set of DependencyProperty flag groups for the index, and iterates over that set, and calls the callback on each flag group that matches the requested SearchFlags.

◆ IterateDependencyList() [1/2]

template<uint32 FlagWidth, typename CallbackType >
void IterateDependencyList ( CallbackType &&  InCallback,
const FDependsNode SearchNode,
UE::AssetRegistry::EDependencyCategory  SearchCategory,
const UE::AssetRegistry::FDependencyQuery SearchFlags,
UE::AssetRegistry::EDependencyCategory  ListCategory,
UE::AssetRegistry::EDependencyProperty  CategoryMask,
const TArray< FDependsNode * > &  Dependencies,
const TBitArray<> *  FlagBits,
UE::AssetRegistry::EDependencyProperty(*)(uint8 ByteToProperties,
bool  IsSorted 
)

Helper function for IterateOverDependencies, ContainsDependency, and others that need to find a given dependency in one of an FDependsNode's list of dependencies, while filtering by the list of DependencyProperties associated with each dependency. This function is given all of the data for the list and how to interpret it, and a requested SearchNode and SearchFlags. The function looks up the SearchNode in the list of dependencies, and iterates over the set of DependencyProperty flag groups for each dependency, and calls the callback with each flag group on the dependency that matches the requested SearchFlags.

◆ IterateDependencyList() [2/2]

template<uint32 FlagWidth, typename CallbackType >
void IterateDependencyList ( CallbackType &&  InCallback,
UE::AssetRegistry::EDependencyCategory  SearchCategory,
const UE::AssetRegistry::FDependencyQuery SearchFlags,
UE::AssetRegistry::EDependencyCategory  ListCategory,
UE::AssetRegistry::EDependencyProperty  CategoryMask,
const TArray< FDependsNode * > &  Dependencies,
const TBitArray<> *  FlagBits,
UE::AssetRegistry::EDependencyProperty(*)(uint8 ByteToProperties,
bool  IsSorted 
)

Helper function for GetDependencies, IterateOverDependencies, and others that need to find dependencies in each of an FDependsNode's list of dependencies, while filtering by the list of DependencyProperties associated with each dependency. This function is given all of the data for the list and how to interpret it, and a requested SearchFlags. The function iterates over all dependencies in the list, and iterates over the set of DependencyProperty flag groups for each dependency, and calls the callback with the dependency and with each flag group on the dependency that matches the requested SearchFlags.

◆ RemoveAll()

template<uint32 FlagWidth>
void RemoveAll ( const TUniqueFunction< bool(const FDependsNode *)> &  ShouldRemove,
TArray< FDependsNode * > &  Dependencies,
TBitArray<> *  FlagBits,
bool  IsSorted,
EAllowShrinking  ShrinkPolicy 
)

◆ RemoveDependency()

template<uint32 FlagWidth>
void RemoveDependency ( FDependsNode InDependency,
TArray< FDependsNode * > &  Dependencies,
TBitArray<> *  FlagBits,
bool  IsSorted,
bool  bAllowShrinking 
)

◆ SortDependencyList()

template<uint32 FlagWidth>
void SortDependencyList ( TArray< FDependsNode * > &  Dependencies,
TBitArray<> *  Flags,
EAllowShrinking  ShrinkPolicy 
)