5#include "Containers/Map.h"
6#include "Containers/Set.h"
7#include "Containers/Queue.h"
70#if WITH_VERSE_VM || defined(__INTELLISENSE__)
93#if WITH_VERSE_VM || defined(__INTELLISENSE__)
106 struct FExportDependencies
108 UObject* CurrentExport =
nullptr;
109 Verse::VCell* CurrentCellExport =
nullptr;
113 int32 ProcessImportDepth = 0;
114 bool bIgnoreDependencies =
false;
129 bool bPreviousFilterEditorOnly;
130 bool bPreviousSavingOptionalObject;
134 class FIgnoreDependenciesScope
138 ~FIgnoreDependenciesScope();
147 template <
typename CallbackType>
148 void ForEachExportHarvestingRealm(
CallbackType&& Callback);
149 bool HasAnyExportHarvestingRealms();
151 void ResolveOverrides();
162#if WITH_VERSE_VM || defined(__INTELLISENSE__)
167#if WITH_EDITORONLY_DATA
171 void AppendCurrentExportDependencies();
179 FHarvestScope EnterConditionalEditorOnlyScope(
bool bIsEditorOnly);
195 FHarvestScope EnterIncludedScope(Verse::VCell*
Cell);
201 FExportDependencies CurrentExportDependencies;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
ESaveRealm
Definition SaveContext.h:82
EIllegalRefReason
Definition SaveContext.h:92
ESaveableStatus
Definition SaveContext.h:111
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
Definition Archive.h:1208
Definition NameTypes.h:617
Definition PackageHarvester.h:47
FHarvestScope(const FHarvestScope &Other)=delete
~FHarvestScope()
Definition PackageHarvester.cpp:306
FHarvestScope & operator=(const FHarvestScope &Other)=delete
bool IsEmpty() const
Definition PackageHarvester.cpp:314
FHarvestScope & operator=(FHarvestScope &&Other)=delete
Definition PackageHarvester.h:28
void HarvestPackageHeaderName(FName Name)
Definition PackageHarvester.cpp:1294
TArray< ESaveRealm, TInlineAllocator< 2 > > FExportingRealmsArray
Definition PackageHarvester.h:30
virtual void MarkSearchableName(const TObjectPtr< const UObject > &TypeObject, const FName &ValueName) const override
Definition PackageHarvester.cpp:968
void HarvestSearchableName(TObjectPtr< UObject > TypeObject, FName Name)
Definition PackageHarvester.cpp:1302
void TryHarvestExport(UObject *InObject, UE::SavePackageUtilities::FObjectStatus &ObjectStatus)
Definition PackageHarvester.cpp:693
static bool ShouldObjectBeHarvestedInOptionalRealm(TObjectPtr< UObject > InObj, FSaveContext &InSaveContext)
Definition PackageHarvester.cpp:497
void HarvestExportDataName(FName Name)
Definition PackageHarvester.cpp:1286
void HarvestDependency(TObjectPtr< UObject > InObj, bool bIsNative)
Definition PackageHarvester.cpp:1254
virtual FString GetArchiveName() const override
Definition PackageHarvester.cpp:963
virtual bool ShouldSkipProperty(const FProperty *InProperty) const override
Definition PackageHarvester.cpp:1195
void ProcessExport(const FExportWithContext &InProcessContext)
Definition PackageHarvester.cpp:539
bool CurrentExportHasDependency(TObjectPtr< UObject > InObj, ESaveRealm HarvestingRealm) const
Definition PackageHarvester.cpp:1280
static bool IsObjNative(UObject *InObj)
Definition PackageHarvester.cpp:485
TMap< UObject *, TSet< FProperty * > > ReleaseTransientPropertyOverrides()
Definition PackageHarvester.cpp:1249
FHarvestScope EnterRootReferencesScope()
Definition PackageHarvester.cpp:319
FExportWithContext PopExportToProcess()
Definition PackageHarvester.cpp:532
Definition UnrealType.h:174
Definition SaveContext.h:588
Definition UnrealString.h.inl:34
Definition SavePackage.h:366
Definition PackageHarvester.cpp:207
Definition LazyObjectPtr.h:151
Definition ObjectPtr.h:55
Definition PackageHarvester.h:32
FExportingRealmsArray HarvestedFromRealms
Definition PackageHarvester.h:37
UObject * Export
Definition PackageHarvester.h:34
Verse::VCell * CellExport
Definition PackageHarvester.h:35
Definition SoftObjectPath.h:56
Definition WeakObjectPtr.h:49
Definition ObjectPtr.h:488
Definition SaveContext.h:137