UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FileRegionArchive.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
8
9template<typename ArchiveType>
11 : public ArchiveType
12{
13public:
14 using ArchiveType::ArchiveType;
15 using ArchiveType::Tell;
16
18 {
19 return FileRegions;
20 }
21
22 virtual void PushFileRegionType(EFileRegionType Type) override final
23 {
24 check(CurrentRegion.Offset == 0);
25 CurrentRegion.Offset = Tell();
26 CurrentRegion.Type = Type;
27 }
28
29 virtual void PopFileRegionType() override final
30 {
31 CurrentRegion.Length = Tell() - CurrentRegion.Offset;
32 FileRegions.Add(CurrentRegion);
33 CurrentRegion = FFileRegion();
34 }
35
36private:
37 TArray<FFileRegion> FileRegions;
38 FFileRegion CurrentRegion;
39};
40
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EFileRegionType
Definition FileRegions.h:15
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition FileRegionArchive.h:12
virtual void PopFileRegionType() override final
Definition FileRegionArchive.h:29
virtual void PushFileRegionType(EFileRegionType Type) override final
Definition FileRegionArchive.h:22
const TArray< FFileRegion > & GetFileRegions() const
Definition FileRegionArchive.h:17
Definition FileRegions.h:31
EFileRegionType Type
Definition FileRegions.h:36
uint64 Offset
Definition FileRegions.h:34
uint64 Length
Definition FileRegions.h:35