5#include "Containers/Array.h"
6#include "Containers/Map.h"
7#include "Containers/Set.h"
36#if UE_TRACE_ENABLED && !UE_BUILD_SHIPPING
38#define SCOPED_SAVETIMER(TimerName) TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL(TimerName, SaveTimeChannel)
39#define SCOPED_SAVETIMER_TEXT(TimerName) TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_ON_CHANNEL(TimerName, SaveTimeChannel)
41#define SCOPED_SAVETIMER(TimerName)
42#define SCOPED_SAVETIMER_TEXT(TimerName)
195template <
typename HashBuilderType>
210#if WITH_EDITORONLY_DATA
258template <
typename HashBuilderType>
263 Builder.Update(
Block);
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
ESavePackageResult
Definition Package.h:74
ESaveRealm
Definition SaveContext.h:82
EAsyncWriteOptions
Definition SavePackageUtilities.h:58
TUniquePtr< uint8, FLargeMemoryDelete > FLargeMemoryPtr
Definition SavePackageUtilities.h:55
#define UE_TRACE_CHANNEL_EXTERN(ChannelName,...)
Definition Trace.h:448
EObjectMark
Definition UObjectMarks.h:46
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
Definition CompactBinary.h:610
Definition CompactBinaryWriter.h:68
Definition LinkerSave.h:48
Definition NameTypes.h:617
Definition PackagePath.h:89
Definition UnrealType.h:174
Definition SaveContext.h:588
Definition SavePackage.h:226
Definition StructuredArchiveSlots.h:144
Definition StructuredArchiveSlots.h:52
Definition PackageWriter.h:41
Definition ArrayView.h:139
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition UniquePtr.h:107
Definition PackageHarvester.cpp:207
void HarvestCookRuntimeDependencies(FObjectSaveContextData &Data, UObject *HarvestReferencesFrom)
void AsyncWriteFile(FLargeMemoryPtr Data, const int64 DataSize, const TCHAR *Filename, EAsyncWriteOptions Options, TArrayView< const FFileRegion > InFileRegions)
Definition SavePackageUtilities.cpp:561
void GetCDOSubobjects(UObject *CDO, TArray< UObject * > &Subobjects)
Definition SavePackageUtilities.cpp:590
const FName NAME_PrestreamPackage("PrestreamPackage")
Definition SavePackageUtilities.h:155
EEditorOnlyObjectFlags
Definition SavePackageUtilities.h:202
@ ApplyHasNonEditorOnlyReferences
ESavePackageResult FinalizeTempOutputFiles(const FPackagePath &PackagePath, const FSavePackageOutputFileArray &OutputFiles, const FDateTime &FinalTimeStamp)
Definition SavePackageUtilities.cpp:437
const FName NAME_Level("Level")
Definition SavePackageUtilities.h:154
void FindMostLikelyCulprit(const TArray< UObject * > &BadObjects, FSaveContext &SaveContext, ESaveRealm HarvestedRealm, UObject *&OutMostLikelyCulprit, UObject *&OutReferencer, const FProperty *&OutReferencerProperty, bool &OutIsCulpritArchetype, FString &OutDiagnosticText)
Definition SavePackageUtilities.cpp:339
void WriteToFile(const FString &Filename, const uint8 *InDataPtr, int64 InDataSize)
Definition SavePackageUtilities.cpp:534
const FName NAME_World("World")
Definition SavePackageUtilities.h:153
EObjectMark GetExcludedObjectMarksForTargetPlatform(const class ITargetPlatform *TargetPlatform)
Definition SavePackageUtilities.cpp:298
Definition SavePackageUtilities.h:76
FCanSkipEditorReferencedPackagesWhenCooking()
Definition SavePackageUtilities.cpp:1275
static CORE_API bool LoadFileInBlocks(FStringView Filename, TFunctionRef< void(FMemoryView)> BlockVisitor, int64 Offset=0, int64 Size=-1, uint32 Flags=0, int64 BlockSize=0)
Definition FileHelper.cpp:98
Definition SavePackageUtilities.h:46
void operator()(uint8 *Ptr) const
Definition SavePackageUtilities.h:47
static FORCENOINLINE CORE_API void Free(void *Original)
Definition UnrealMemory.cpp:685
Definition SavePackageUtilities.h:140
static void SortExports(FLinkerSave *Linker)
Definition SavePackageUtilities.cpp:1133
Definition SavePackageUtilities.h:126
static void SortImports(FLinkerSave *Linker)
Definition SavePackageUtilities.cpp:1086
Definition ObjectSaveContext.h:70
Definition SavePackageUtilities.h:83
FString TempFilePath
Definition SavePackageUtilities.h:107
FSavePackageOutputFile(const FString &InTargetPath, FLargeMemoryPtr &&MemoryBuffer, const TArray< FFileRegion > &InFileRegions, int64 InDataSize)
Definition SavePackageUtilities.h:85
FSavePackageOutputFile(const FString &InTargetPath, const FString &InTempFilePath, int64 InDataSize)
Definition SavePackageUtilities.h:95
int64 DataSize
Definition SavePackageUtilities.h:115
FLargeMemoryPtr FileMemoryBuffer
Definition SavePackageUtilities.h:110
FString TargetPath
Definition SavePackageUtilities.h:104
TArray< FFileRegion > FileRegions
Definition SavePackageUtilities.h:112
Definition SavePackageUtilities.h:64
bool bSavingConcurrent
Definition SavePackageUtilities.h:68