UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ArchiveCrc32.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "CoreMinimal.h"
7#include "HAL/Platform.h"
10#include "Templates/EnableIf.h"
11#include "Templates/Models.h"
12
13class FArchive;
14class UObject;
16
21{
22public:
27
31 uint32 GetCrc() const { return CRC; }
32
33 //~ Begin FArchive Interface
34 COREUOBJECT_API virtual void Serialize(void* Data, int64 Num) override;
37 COREUOBJECT_API virtual void Reset() override;
38 virtual FString GetArchiveName() const { return TEXT("FArchiveCrc32"); }
39 //~ End FArchive Interface
40
48 template <typename StructType UE_REQUIRES(TModels_V<CStaticStructProvider, StructType>)>
49 inline friend FArchiveCrc32& operator<<(FArchiveCrc32& Ar, const StructType& Value)
50 {
51 StructType* MutableValue = const_cast<StructType*>(&Value);
52 StructType::StaticStruct()->SerializeItem(Ar, MutableValue, nullptr);
53 return Ar;
54 }
55
56 using FArchiveUObject::operator<<; // For visibility of the overloads we don't override
57
58
59
60private:
61 uint32 CRC;
62 uint32 InitialCRC;
63 UObject* RootObject;
64};
65
#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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ArchiveCrc32.h:21
friend FArchiveCrc32 & operator<<(FArchiveCrc32 &Ar, const StructType &Value)
Definition ArchiveCrc32.h:49
uint32 GetCrc() const
Definition ArchiveCrc32.h:31
virtual COREUOBJECT_API void Reset() override
Definition ArchiveCrc32.cpp:50
virtual FString GetArchiveName() const
Definition ArchiveCrc32.h:38
Definition ArchiveUObject.h:17
Definition Archive.h:1208
Definition NameTypes.h:617
Definition Object.h:95
Definition StaticStructProvider.h:11