UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DuplicatedDataWriter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
12
14
15/*----------------------------------------------------------------------------
16 FDuplicateDataWriter.
17----------------------------------------------------------------------------*/
22{
23private:
24
25 class FUObjectAnnotationSparse<FDuplicatedObject,false>& DuplicatedObjectAnnotation;
26 FLargeMemoryData& ObjectData;
28 EObjectFlags FlagMask;
29 EObjectFlags ApplyFlags;
30 EInternalObjectFlags InternalFlagMask;
31 EInternalObjectFlags ApplyInternalFlags;
32 bool bAssignExternalPackages;
33
38 struct FObjectInstancingGraph* InstanceGraph;
39
40 //~ Begin FArchive Interface.
41
42 virtual FArchive& operator<<(FName& N) override;
43 virtual FArchive& operator<<(UObject*& Object) override;
45 virtual FArchive& operator<<(FField*& Field) override;
46 virtual FArchive& operator<<(FObjectPtr& Object) override;
47
48 virtual void Serialize(void* Data,int64 Num)
49 {
50 if (ObjectData.Write(Data, Offset, Num))
51 {
52 Offset += Num;
53 }
54 }
55
56 virtual void Seek(int64 InPos)
57 {
58 Offset = InPos;
59 }
60
67 void AddDuplicate(UObject* SourceObject, UObject* DuplicateObject);
68
69public:
76 virtual FString GetArchiveName() const { return TEXT("FDuplicateDataWriter"); }
77
78 virtual int64 Tell()
79 {
80 return Offset;
81 }
82
83 virtual int64 TotalSize()
84 {
85 return ObjectData.GetSize();
86 }
87
89
98 UObject* GetDuplicatedObject(UObject* Object, bool bCreateIfMissing = true);
99
114 UObject* SourceObject,
123};
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Num
Definition MetalRHIPrivate.h:234
EInternalObjectFlags
Definition ObjectMacros.h:631
EObjectFlags
Definition ObjectMacros.h:552
T * DuplicateObject(T const *SourceObject, UObject *Outer, const FName Name=NAME_None)
Definition UObjectGlobals.h:1977
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ArchiveUObject.h:17
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
Definition Archive.h:1208
Definition DuplicatedDataWriter.h:22
UObject * GetDuplicatedObject(UObject *Object, bool bCreateIfMissing=true)
Definition DuplicateDataWriter.cpp:143
virtual FString GetArchiveName() const
Definition DuplicatedDataWriter.h:76
TArray< UObject * > UnserializedObjects
Definition DuplicatedDataWriter.h:88
virtual int64 Tell()
Definition DuplicatedDataWriter.h:78
virtual int64 TotalSize()
Definition DuplicatedDataWriter.h:83
Definition Field.h:556
Definition LargeMemoryData.h:17
CORE_API bool Write(void *InData, int64 InOffset, int64 InNum)
Definition LargeMemoryData.cpp:42
UE_FORCEINLINE_HINT int64 GetSize() const
Definition LargeMemoryData.h:36
Definition NameTypes.h:617
Definition UObjectAnnotation.h:33
Definition Array.h:670
Definition Object.h:95
Definition FieldSystemNoiseAlgo.cpp:6
@ false
Definition radaudio_common.h:23
Definition DuplicatedObject.h:13
Definition LazyObjectPtr.h:151
Definition Class.h:4941
Definition ObjectPtr.h:55