UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ArchiveProxy.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
8
9class FBulkData;
11struct FCompressedChunk;
12
18class FArchiveProxy : public FArchive
19{
20public:
28
29 // Non-copyable
31 FArchiveProxy(const FArchiveProxy&) = delete;
34
35 virtual FArchive& operator<<(FName& Value) override
36 {
38 return *this;
39 }
40
41 virtual FArchive& operator<<(FText& Value) override
42 {
44 return *this;
45 }
46
47 virtual FArchive& operator<<(UObject*& Value) override
48 {
50 return *this;
51 }
52
53 virtual FArchive& operator<<(FObjectPtr& Value) override
54 {
56 return *this;
57 }
58
60 {
62 return *this;
63 }
64
66 {
68 return *this;
69 }
70
72 {
74 return *this;
75 }
76
78 {
80 return *this;
81 }
82
83 virtual FArchive& operator<<(FField*& Value) override
84 {
86 return *this;
87 }
88
89#if WITH_VERSE_VM || defined(__INTELLISENSE__)
90 virtual FArchive& operator<<(Verse::VCell*& Value)
91 {
93 return *this;
94 }
95#endif
96
97 virtual void Serialize(void* V, int64 Length) override
98 {
100 }
101
102 virtual void SerializeBits(void* Bits, int64 LengthBits) override
103 {
105 }
106
107 virtual void SerializeInt(uint32& Value, uint32 Max) override
108 {
110 }
111
112 virtual void SerializeIntPacked(uint32& Value) override
113 {
115 }
116
117 virtual void Preload(UObject* Object) override
118 {
120 }
121
122 virtual void CountBytes(SIZE_T InNum, SIZE_T InMax) override
123 {
125 }
126
127 CORE_API virtual FString GetArchiveName() const override;
128
129 virtual FLinker* GetLinker() override
130 {
131 return InnerArchive.GetLinker();
132 }
133
134#if USE_STABLE_LOCALIZATION_KEYS
135 CORE_API virtual void SetLocalizationNamespace(const FString& InLocalizationNamespace) override;
136 CORE_API virtual FString GetLocalizationNamespace() const override;
137#endif // USE_STABLE_LOCALIZATION_KEYS
138
139 virtual int64 Tell() override
140 {
141 return InnerArchive.Tell();
142 }
143
144 virtual int64 TotalSize() override
145 {
146 return InnerArchive.TotalSize();
147 }
148
149 virtual bool AtEnd() override
150 {
151 return InnerArchive.AtEnd();
152 }
153
154 virtual void Seek(int64 InPos) override
155 {
157 }
158
163
168
170 {
172 }
173
178
180 {
181 return InnerArchive.SetCompressionMap(CompressedChunks, CompressionFlags);
182 }
183
184 virtual void Flush() override
185 {
187 }
188
189 virtual bool Close() override
190 {
191 return InnerArchive.Close();
192 }
193
194 virtual void MarkScriptSerializationStart(const UObject* Obj) override
195 {
197 }
198
199 virtual void MarkScriptSerializationEnd(const UObject* Obj) override
200 {
202 }
203
204 virtual const FCustomVersionContainer& GetCustomVersions() const override
205 {
207 }
208
213
214 virtual void ResetCustomVersions() override
215 {
217 }
218
219 virtual void MarkSearchableName(const TObjectPtr<const UObject>& TypeObject, const FName& ValueName) const override
220 {
222 }
223
224 virtual UObject* GetArchetypeFromLoader(const UObject* Obj) override
225 {
227 }
228
229 virtual bool AttachExternalReadDependency(FExternalReadCallback& ReadCallback) override
230 {
231 return InnerArchive.AttachExternalReadDependency(ReadCallback);
232 }
233
234 virtual bool ShouldSkipProperty(const FProperty* InProperty) const override
235 {
237 }
238
239 virtual bool UseToResolveEnumerators() const override
240 {
242 }
243
244 virtual void FlushCache() override
245 {
247 }
248
249 virtual void ForceBlueprintFinalization() override
250 {
252 }
253
259
265
266#if WITH_EDITOR
267 virtual void PushDebugDataString(const FName& DebugData) override
268 {
269 InnerArchive.PushDebugDataString(DebugData);
270 }
271 virtual void PopDebugDataString() override
272 {
273 InnerArchive.PopDebugDataString();
274 }
275#endif
276
282
288
301#if WITH_EDITORONLY_DATA
303 virtual UE_FORCEINLINE_HINT bool IsEditorOnlyPropertyOnTheStack() const override
304 {
305 return InnerArchive.IsEditorOnlyPropertyOnTheStack();
306 }
307#endif
308
309 virtual UE_FORCEINLINE_HINT bool IsProxyOf(FArchive* InOther) const override
310 {
311 return InOther == this || InOther == &InnerArchive || InnerArchive.IsProxyOf(InOther);
312 }
313
314 virtual FArchive* GetCacheableArchive() override
315 {
317 }
318
319 virtual ::FArchiveState& GetInnermostState() override
320 {
322 }
323
324protected:
325
328};
ECompressionFlags
Definition CompressionFlags.h:13
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
#define UE_FORCEINLINE_HINT
Definition Platform.h:723
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ArchiveProxy.h:19
virtual void ForceBlueprintFinalization() override
Definition ArchiveProxy.h:249
virtual ::FArchiveState & GetInnermostState() override
Definition ArchiveProxy.h:319
virtual const FCustomVersionContainer & GetCustomVersions() const override
Definition ArchiveProxy.h:204
FArchiveProxy(FArchiveProxy &&)=delete
virtual bool UseToResolveEnumerators() const override
Definition ArchiveProxy.h:239
virtual void SetCustomVersions(const FCustomVersionContainer &NewVersions) override
Definition ArchiveProxy.h:209
virtual bool AtEnd() override
Definition ArchiveProxy.h:149
void SetSerializedProperty(FProperty *InProperty) override
Definition ArchiveProxy.h:277
virtual void Flush() override
Definition ArchiveProxy.h:184
virtual void MarkSearchableName(const TObjectPtr< const UObject > &TypeObject, const FName &ValueName) const override
Definition ArchiveProxy.h:219
virtual bool ShouldSkipProperty(const FProperty *InProperty) const override
Definition ArchiveProxy.h:234
virtual void Seek(int64 InPos) override
Definition ArchiveProxy.h:154
virtual bool AttachExternalReadDependency(FExternalReadCallback &ReadCallback) override
Definition ArchiveProxy.h:229
virtual FArchive & operator<<(FSoftObjectPath &Value) override
Definition ArchiveProxy.h:65
virtual void AttachBulkData(UObject *Owner, FBulkData *BulkData) override
Definition ArchiveProxy.h:159
virtual void CountBytes(SIZE_T InNum, SIZE_T InMax) override
Definition ArchiveProxy.h:122
virtual void SerializeBits(void *Bits, int64 LengthBits) override
Definition ArchiveProxy.h:102
virtual FArchive & operator<<(FText &Value) override
Definition ArchiveProxy.h:41
FArchiveProxy & operator=(FArchiveProxy &&)=delete
virtual UObject * GetArchetypeFromLoader(const UObject *Obj) override
Definition ArchiveProxy.h:224
virtual FArchive & operator<<(FName &Value) override
Definition ArchiveProxy.h:35
virtual void DetachBulkData(FBulkData *BulkData, bool bEnsureBulkDataIsLoaded) override
Definition ArchiveProxy.h:164
virtual FArchive & operator<<(FField *&Value) override
Definition ArchiveProxy.h:83
virtual void SerializeInt(uint32 &Value, uint32 Max) override
Definition ArchiveProxy.h:107
virtual UE_FORCEINLINE_HINT bool IsProxyOf(FArchive *InOther) const override
Definition ArchiveProxy.h:309
virtual FArchive & operator<<(FWeakObjectPtr &Value) override
Definition ArchiveProxy.h:77
virtual FArchive & operator<<(FLazyObjectPtr &Value) override
Definition ArchiveProxy.h:59
virtual bool SerializeBulkData(FBulkData &BulkData, const FBulkDataSerializationParams &Params) override
Definition ArchiveProxy.h:169
FArchive & InnerArchive
Definition ArchiveProxy.h:327
virtual void Serialize(void *V, int64 Length) override
Definition ArchiveProxy.h:97
virtual void SetFilterEditorOnly(bool InFilterEditorOnly) override
Definition ArchiveProxy.h:260
virtual bool SetCompressionMap(TArray< FCompressedChunk > *CompressedChunks, ECompressionFlags CompressionFlags) override
Definition ArchiveProxy.h:179
virtual bool Close() override
Definition ArchiveProxy.h:189
virtual void ResetCustomVersions() override
Definition ArchiveProxy.h:214
virtual void Preload(UObject *Object) override
Definition ArchiveProxy.h:117
FArchiveProxy & operator=(const FArchiveProxy &)=delete
virtual void PushSerializedProperty(class FProperty *InProperty, const bool bIsEditorOnlyProperty) override
Definition ArchiveProxy.h:290
virtual void PopSerializedProperty(class FProperty *InProperty, const bool bIsEditorOnlyProperty) override
Definition ArchiveProxy.h:296
virtual void SerializeIntPacked(uint32 &Value) override
Definition ArchiveProxy.h:112
virtual int64 TotalSize() override
Definition ArchiveProxy.h:144
virtual FArchive & operator<<(UObject *&Value) override
Definition ArchiveProxy.h:47
virtual FLinker * GetLinker() override
Definition ArchiveProxy.h:129
virtual void MarkScriptSerializationStart(const UObject *Obj) override
Definition ArchiveProxy.h:194
virtual FArchive & operator<<(FSoftObjectPtr &Value) override
Definition ArchiveProxy.h:71
virtual void FlushCache() override
Definition ArchiveProxy.h:244
virtual void SetDebugSerializationFlags(uint32 InCustomFlags) override
Definition ArchiveProxy.h:254
virtual FArchive * GetCacheableArchive() override
Definition ArchiveProxy.h:314
virtual CORE_API FString GetArchiveName() const override
Definition Archive.cpp:632
virtual void MarkScriptSerializationEnd(const UObject *Obj) override
Definition ArchiveProxy.h:199
FArchiveProxy(const FArchiveProxy &)=delete
void SetSerializedPropertyChain(const FArchiveSerializedPropertyChain *InSerializedPropertyChain, class FProperty *InSerializedPropertyOverride=nullptr) override
Definition ArchiveProxy.h:283
virtual FArchive & operator<<(FObjectPtr &Value) override
Definition ArchiveProxy.h:53
virtual int64 Tell() override
Definition ArchiveProxy.h:139
virtual bool Precache(int64 PrecacheOffset, int64 PrecacheSize) override
Definition ArchiveProxy.h:174
CORE_API ~FArchiveProxy()
Definition ArchiveProxy.cpp:16
Definition Archive.h:1208
virtual void SetDebugSerializationFlags(uint32 InCustomFlags)
Definition Archive.h:566
virtual void SerializeInt(uint32 &Value, uint32 Max)
Definition Archive.h:1717
virtual bool IsProxyOf(FArchive *InOther) const
Definition Archive.h:1794
virtual void Serialize(void *V, int64 Length)
Definition Archive.h:1689
virtual CORE_API void ResetCustomVersions()
Definition Archive.cpp:585
virtual FArchiveState & GetInnermostState()
Definition Archive.h:97
virtual void AttachBulkData(UObject *Owner, FBulkData *BulkData)
Definition Archive.h:1761
virtual void MarkScriptSerializationEnd(const UObject *Obj)
Definition Archive.h:1939
virtual CORE_API void SerializeIntPacked(uint32 &Value)
Definition Archive.cpp:1328
virtual CORE_API void PushSerializedProperty(class FProperty *InProperty, const bool bIsEditorOnlyProperty)
Definition Archive.cpp:384
virtual UObject * GetArchetypeFromLoader(const UObject *Obj)
Definition Archive.h:198
virtual void ForceBlueprintFinalization()
Definition Archive.h:1379
virtual void MarkSearchableName(const TObjectPtr< const UObject > &TypeObject, const FName &ValueName) const
Definition Archive.h:1944
virtual bool SerializeBulkData(FBulkData &BulkData, const FBulkDataSerializationParams &Params)
Definition Archive.h:1781
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
virtual void MarkScriptSerializationStart(const UObject *Obj)
Definition Archive.h:1934
virtual CORE_API void PopSerializedProperty(class FProperty *InProperty, const bool bIsEditorOnlyProperty)
Definition Archive.cpp:400
virtual FLinker * GetLinker()
Definition Archive.h:140
virtual void FlushCache()
Definition Archive.h:1822
virtual CORE_API void SetSerializedPropertyChain(const FArchiveSerializedPropertyChain *InSerializedPropertyChain, class FProperty *InSerializedPropertyOverride=nullptr)
Definition Archive.cpp:354
virtual int64 Tell()
Definition Archive.h:149
virtual int64 TotalSize()
Definition Archive.h:155
virtual bool SetCompressionMap(TArray< FCompressedChunk > *CompressedChunks, ECompressionFlags CompressionFlags)
Definition Archive.h:1834
virtual bool Precache(int64 PrecacheOffset, int64 PrecacheSize)
Definition Archive.h:1814
virtual bool AttachExternalReadDependency(FExternalReadCallback &ReadCallback)
Definition Archive.h:2092
virtual bool Close()
Definition Archive.h:1847
virtual void SetFilterEditorOnly(bool InFilterEditorOnly)
Definition Archive.h:588
virtual bool AtEnd()
Definition Archive.h:161
virtual void SerializeBits(void *V, int64 LengthBits)
Definition Archive.h:1707
virtual void CountBytes(SIZE_T InNum, SIZE_T InMax)
Definition Archive.h:125
virtual void Seek(int64 InPos)
Definition Archive.h:1753
virtual void SetSerializedProperty(FProperty *InProperty)
Definition Archive.h:738
virtual void Preload(UObject *Object)
Definition Archive.h:1727
virtual void Flush()
Definition Archive.h:1842
virtual bool UseToResolveEnumerators() const
Definition Archive.h:719
virtual bool ShouldSkipProperty(const FProperty *InProperty) const
Definition Archive.h:727
virtual FArchive * GetCacheableArchive()
Definition Archive.h:1984
virtual void DetachBulkData(FBulkData *BulkData, bool bEnsureBulkDataIsLoaded)
Definition Archive.h:1770
virtual CORE_API void SetCustomVersions(const FCustomVersionContainer &CustomVersionContainer)
Definition Archive.cpp:572
virtual CORE_API const FCustomVersionContainer & GetCustomVersions() const
Definition Archive.cpp:546
Definition BulkData.h:470
Definition CustomVersion.h:111
Definition Field.h:556
Definition Linker.h:398
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition Text.h:385
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition Object.h:95
Definition ArchiveSerializedPropertyChain.h:9
Definition BulkData.h:453
Definition Linker.h:45
Definition LazyObjectPtr.h:151
Definition ObjectPtr.h:55
Definition SoftObjectPath.h:56
Definition SoftObjectPtr.h:45
Definition WeakObjectPtr.h:49
Definition ObjectPtr.h:488