UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PackageDependencyData.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
9#include "DependsNode.h"
10#include "UObject/Linker.h"
12{
13public:
15 {
19 {
20 Ar << Dependency.PackageName;
21 uint8 PropertyAsInteger = static_cast<uint8>(Dependency.Property);
24 return Ar;
25 }
26
28 {
29 return PackageName == Other.PackageName && Property == Other.Property;
30 }
31 };
33 {
38 {
39 Ar << Dependency.PackageName << Dependency.ObjectName << Dependency.ValueNames;
40 return Ar;
41 }
42 };
43
46
49
50 // Dependency Data
53
55
56 // Transient Flags indicating which types of data have been gathered
57 bool bHasPackageData = false;
58 bool bHasDependencyData = false;
59
72
74 TArray<FName>& SoftPackageReferenceList, TMap<FPackageIndex, TArray<FName>>& SearchableNames,
75 TBitArray<>& ImportUsedInGame, TBitArray<>& SoftPackageUsedInGame,
77
80 {
83 Result += PackageData.GetAllocatedSize();
84 return Result;
85 }
86
87private:
88 FName GetImportPackageName(TConstArrayView<FObjectImport> ImportMap, int32 ImportIndex);
89
90
91};
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Archive.h:1208
Definition AssetData.h:946
COREUOBJECT_API void SerializeForCache(FArchive &Ar)
Definition AssetData.cpp:1109
SIZE_T GetAllocatedSize() const
Definition AssetData.h:1039
Definition NameTypes.h:617
Definition PackageDependencyData.h:12
SIZE_T GetAllocatedSize() const
Definition PackageDependencyData.h:79
FDependsNodeReservations DependsNodeReservations
Definition PackageDependencyData.h:54
FName PackageName
Definition PackageDependencyData.h:45
FAssetPackageData PackageData
Definition PackageDependencyData.h:48
bool bHasDependencyData
Definition PackageDependencyData.h:58
TArray< FPackageDependency > PackageDependencies
Definition PackageDependencyData.h:51
bool bHasPackageData
Definition PackageDependencyData.h:57
TArray< FSearchableNamesDependency > SearchableNameDependencies
Definition PackageDependencyData.h:52
void LoadDependenciesFromPackageHeader(FName PackageName, TConstArrayView< FObjectImport > ImportMap, TArray< FName > &SoftPackageReferenceList, TMap< FPackageIndex, TArray< FName > > &SearchableNames, TBitArray<> &ImportUsedInGame, TBitArray<> &SoftPackageUsedInGame, TArray< TPair< FName, UE::AssetRegistry::EExtraDependencyFlags > > &ExtraPackageDependencies)
Definition PackageDependencyData.cpp:50
void SerializeForCache(FArchive &Ar)
Definition PackageDependencyData.h:64
Definition ObjectResource.h:44
Definition Array.h:670
Definition UnrealString.h.inl:34
UE_FORCEINLINE_HINT SIZE_T GetAllocatedSize() const
Definition UnrealString.h.inl:310
EDependencyProperty
Definition AssetRegistryInterface.h:88
Definition DependsNode.h:243
Definition PackageDependencyData.h:15
FName PackageName
Definition PackageDependencyData.h:16
UE::AssetRegistry::EDependencyProperty Property
Definition PackageDependencyData.h:17
bool operator==(const FPackageDependency &Other) const
Definition PackageDependencyData.h:27
friend FArchive & operator<<(FArchive &Ar, FPackageDependency &Dependency)
Definition PackageDependencyData.h:18
Definition PackageDependencyData.h:33
FName PackageName
Definition PackageDependencyData.h:34
friend FArchive & operator<<(FArchive &Ar, FSearchableNamesDependency &Dependency)
Definition PackageDependencyData.h:37
FName ObjectName
Definition PackageDependencyData.h:35
TArray< FName > ValueNames
Definition PackageDependencyData.h:36
Definition Tuple.h:652