46 Ar << (std::underlying_type_t<EReferenceType>&)ReferencedObject.ReferenceType;
47 Ar << ReferencedObject.RootObject;
48 Ar << ReferencedObject.SubObjectHierarchyIDs;
54 return LHS.ReferenceType == RHS.ReferenceType
55 &&
LHS.RootObject == RHS.RootObject
56 && (
LHS.ReferenceType != EReferenceType::SubObject ||
LHS.SubObjectHierarchyIDs == RHS.SubObjectHierarchyIDs);
71 return ReferenceType == EReferenceType::RootObject;
76 return ReferenceType == EReferenceType::SubObject;
85 enum class EReferenceType :
uint8
93 EReferenceType ReferenceType = EReferenceType::Unknown;
134 return !(
LHS == RHS);
155 Ar << SerializedData.Data;
161 return LHS.Data == RHS.Data;
166 return !(
LHS == RHS);
310 using FArchiveUObject::operator<<;
349 using FArchiveUObject::operator<<;
378 using FArchiveUObject::operator<<;
383 struct FCachedPropertyKey
390 uint32 LastUpdateCount = 0;
393 struct FCachedTaggedDataEntry
406 bool bIsPerformingScriptSerialization =
false;
408 mutable bool bWasUsingTaggedDataKey_UnknownData =
false;
409 mutable bool bWasUsingTaggedDataKey_ScriptData =
false;
410 mutable int32 TaggedDataKeyIndex_UnknownData = 0;
411 mutable int32 TaggedDataKeyIndex_ScriptData = 0;
412 mutable FCachedPropertyKey CachedSerializedTaggedPropertyKey;
413 mutable FCachedTaggedDataEntry CachedSerializedTaggedDataEntry;
420enum class EGetDiffableObjectMode :
uint8
432struct FGetDiffableObjectOptions
435 EGetDiffableObjectMode ObjectSerializationMode = EGetDiffableObjectMode::SerializeObject;
438 TFunction<
void(FDiffableObjectDataWriter&)> CustomSerializer;
444 bool bSerializeEvenIfPendingKill =
false;
452struct FGenerateObjectDiffOptions
454 FGenerateObjectDiffOptions()
456 ArchetypeOptions.bSerializeEvenIfPendingKill =
true;
460 FGetDiffableObjectOptions ArchetypeOptions;
466 bool bFullDiff =
true;
474 bool bDiffDataEvenIfPendingKill =
false;
478class FDiffableObjectArchetypeCache
481 const FDiffableObject& GetArchetypeDiffableObject(
const UObject* Archetype,
const FGetDiffableObjectOptions& Options);
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define checkSlow(expr)
Definition AssertionMacros.h:332
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
EObjectFlags
Definition ObjectMacros.h:552
@ RF_NoFlags
No flags, used to avoid a cast.
Definition ObjectMacros.h:555
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
UE_REWRITE constexpr void Exchange(T &A, T &B)
Definition UnrealTemplate.h:627
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition ArchiveUObject.h:17
Definition Archive.h:1208
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition UObjectGlobals.h:2492
Definition ArrayView.h:139
void Reset(SizeType NewSize=0)
Definition Array.h:2246
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition ContainerAllocationPolicies.h:894
Definition SortedMap.h:20
Definition TransactionCommon.h:362
virtual ENGINE_API bool ShouldSkipProperty(const FProperty *InProperty) const override
Definition TransactionCommon.cpp:366
virtual ENGINE_API void OnDataSerialized(int64 InOffset, int64 InNum) override
Definition TransactionCommon.cpp:393
ENGINE_API FName GetTaggedDataKey() const
Definition TransactionCommon.cpp:318
virtual ENGINE_API void MarkScriptSerializationEnd(const UObject *Obj) override
Definition TransactionCommon.cpp:383
ENGINE_API bool DoesObjectMatchDiffableObject(const UObject *Obj) const
Definition TransactionCommon.cpp:359
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
virtual ENGINE_API void MarkScriptSerializationStart(const UObject *Obj) override
Definition TransactionCommon.cpp:373
Definition TransactionCommon.h:299
virtual int64 Tell() override
Definition TransactionCommon.h:303
virtual void Seek(int64 InPos) override
Definition TransactionCommon.h:304
int64 Offset
Definition TransactionCommon.h:315
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
virtual int64 TotalSize() override
Definition TransactionCommon.h:305
const FSerializedObject & SerializedObject
Definition TransactionCommon.h:314
Definition TransactionCommon.h:344
TMap< UObject *, int32 > ObjectMap
Definition TransactionCommon.h:356
FSerializedObject & SerializedObject
Definition TransactionCommon.h:353
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
int64 Offset
Definition TransactionCommon.h:354
TMap< FName, int32 > NameMap
Definition TransactionCommon.h:357
Definition TransactionCommon.h:323
FSerializedObjectData & SerializedData
Definition TransactionCommon.h:336
virtual int64 Tell() override
Definition TransactionCommon.h:327
virtual int64 TotalSize() override
Definition TransactionCommon.h:329
int64 Offset
Definition TransactionCommon.h:337
virtual void Seek(int64 InPos) override
Definition TransactionCommon.h:328
virtual void OnDataSerialized(int64 InOffset, int64 InNum)
Definition TransactionCommon.h:334
FORCEINLINE EObjectFlags GetFlags() const
Definition UObjectBase.h:285
COREUOBJECT_API UObject * GetArchetype() const
Definition UObjectArchetype.cpp:283
FDiffableObject GetDiffableObject(const UObject *Object, const FGetDiffableObjectOptions &Options)
Definition TransactionCommon.cpp:456
bool IsGeneratingDiffableObject(const FArchive &Ar)
Definition TransactionCommon.cpp:451
FTransactionObjectDeltaChange GenerateObjectDiff(const FDiffableObject &OldDiffableObject, const FDiffableObject &NewDiffableObject, const FGenerateObjectDiffOptions &DiffOptions, FDiffableObjectArchetypeCache *ArchetypeCache)
Definition TransactionCommon.cpp:590
Definition TransactionCommon.cpp:9
const FName TaggedDataKey_UnknownData
Definition TransactionCommon.cpp:194
const FName TaggedDataKey_ScriptData
Definition TransactionCommon.cpp:195
Definition ArchiveSerializedPropertyChain.h:9
Definition TransactionObjectEvent.h:15
Definition TransactionObjectEvent.h:62
COREUOBJECT_API void SetObject(const UObject *Object)
Definition TransactionObjectEvent.cpp:9
void Swap(FTransactionObjectId &Other)
Definition TransactionObjectEvent.h:93
void Reset()
Definition TransactionObjectEvent.h:83
Definition ObjectPtr.h:488
Definition WeakObjectPtrTemplates.h:25
Definition TransactionCommon.h:251
FSerializedObjectData SerializedData
Definition TransactionCommon.h:288
EObjectFlags ObjectFlags
Definition TransactionCommon.h:285
FPersistentObjectRef ObjectArchetype
Definition TransactionCommon.h:282
void Swap(FDiffableObject &Other)
Definition TransactionCommon.h:269
TSortedMap< FName, FSerializedTaggedData, FDefaultAllocator, FNameFastLess > SerializedTaggedData
Definition TransactionCommon.h:291
void SetObject(const UObject *InObject)
Definition TransactionCommon.h:253
void Reset()
Definition TransactionCommon.h:260
FSerializedObjectInfo ObjectInfo
Definition TransactionCommon.h:279
Definition TransactionCommon.h:33
friend FArchive & operator<<(FArchive &Ar, FPersistentObjectRef &ReferencedObject)
Definition TransactionCommon.h:44
ENGINE_API UObject * Get() const
Definition TransactionCommon.cpp:59
FPersistentObjectRef()=default
friend uint32 GetTypeHash(const FPersistentObjectRef &InObjRef)
Definition TransactionCommon.h:64
ENGINE_API void AddReferencedObjects(FReferenceCollector &Collector)
Definition TransactionCommon.cpp:122
friend bool operator!=(const FPersistentObjectRef &LHS, const FPersistentObjectRef &RHS)
Definition TransactionCommon.h:59
friend bool operator==(const FPersistentObjectRef &LHS, const FPersistentObjectRef &RHS)
Definition TransactionCommon.h:52
bool IsSubObjectReference() const
Definition TransactionCommon.h:74
bool IsRootObjectReference() const
Definition TransactionCommon.h:69
bool Serialize(FArchive &Ar)
Definition TransactionCommon.h:38
Definition TransactionCommon.h:145
friend bool operator==(const FSerializedObjectData &LHS, const FSerializedObjectData &RHS)
Definition TransactionCommon.h:159
void Reset()
Definition TransactionCommon.h:177
friend FArchive & operator<<(FArchive &Ar, FSerializedObjectData &SerializedData)
Definition TransactionCommon.h:153
int64 Num() const
Definition TransactionCommon.h:182
const void * GetPtr(int64 Offset) const
Definition TransactionCommon.h:172
friend bool operator!=(const FSerializedObjectData &LHS, const FSerializedObjectData &RHS)
Definition TransactionCommon.h:164
bool Serialize(FArchive &Ar)
Definition TransactionCommon.h:147
Definition TransactionCommon.h:192
void Reset()
Definition TransactionCommon.h:207
void Swap(FSerializedObjectInfo &Other)
Definition TransactionCommon.h:213
FSerializedObjectInfo(const UObject *InObject)
Definition TransactionCommon.h:196
bool bIsPendingKill
Definition TransactionCommon.h:220
void SetObject(const UObject *InObject)
Definition TransactionCommon.h:201
FSerializedObjectInfo()=default
Definition TransactionCommon.h:224
void Reset()
Definition TransactionCommon.h:226
TArray< FName > ReferencedNames
Definition TransactionCommon.h:247
FSerializedObjectData SerializedData
Definition TransactionCommon.h:241
TArray< FPersistentObjectRef > ReferencedObjects
Definition TransactionCommon.h:244
void Swap(FSerializedObject &Other)
Definition TransactionCommon.h:233
Definition TransactionCommon.h:106
static ENGINE_API FSerializedTaggedData FromStartAndEnd(const int64 InStart, const int64 InEnd)
Definition TransactionCommon.cpp:145
int64 DataOffset
Definition TransactionCommon.h:138
int64 GetStart() const
Definition TransactionCommon.h:116
ENGINE_API bool HasSerializedData() const
Definition TransactionCommon.cpp:172
ENGINE_API void AppendSerializedData(const int64 InOffset, const int64 InSize)
Definition TransactionCommon.cpp:150
friend bool operator==(const FSerializedTaggedData &LHS, const FSerializedTaggedData &RHS)
Definition TransactionCommon.h:126
int64 DataSize
Definition TransactionCommon.h:141
static ENGINE_API FSerializedTaggedData FromOffsetAndSize(const int64 InOffset, const int64 InSize)
Definition TransactionCommon.cpp:140
int64 GetEnd() const
Definition TransactionCommon.h:121
friend bool operator!=(const FSerializedTaggedData &LHS, const FSerializedTaggedData &RHS)
Definition TransactionCommon.h:132