4#include "Containers/Array.h"
11 template<
typename ElementType>
20 const ElementType* DataPtr;
38 check(BlockStructureHelpers::CountSize(DataStructure.
Intersect(Structure)) == BlockStructureHelpers::CountSize(Structure));
77 while (
Block !=
nullptr)
85 while (
Block !=
nullptr)
88 FirstByte +=
Block->GetSize();
122 DataStructure.
Remove(Structure);
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition BlockStructure.h:37
void Add(uint64 Offset, uint64 Size, ESearchDir::Type SearchDir=ESearchDir::FromStart)
Definition BlockStructure.cpp:202
void Remove(uint64 Offset, uint64 Size, ESearchDir::Type SearchDir=ESearchDir::FromStart)
Definition BlockStructure.cpp:293
const FBlockEntry * GetHead() const
Definition BlockStructure.cpp:181
FBlockStructure Intersect(const FBlockStructure &OtherStructure) const
Definition BlockStructure.cpp:374
const FBlockEntry * GetTail() const
Definition BlockStructure.cpp:186
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void RemoveAt(SizeType Index, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2083
UE_NODEBUG UE_FORCEINLINE_HINT ElementType * GetData() UE_LIFETIMEBOUND
Definition Array.h:1027
void Append(const TArray< OtherElementType, OtherAllocatorType > &Source)
Definition Array.h:2412
UE_NODEBUG UE_FORCEINLINE_HINT SIZE_T GetAllocatedSize(void) const
Definition Array.h:1059
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
UE_REWRITE void SortBy(RangeType &&Range, ProjectionType Proj)
Definition Sort.h:40
Definition BuildPatchFileConstructor.h:28
Definition BlockStructure.h:10
uint64 GetOffset() const
Definition BlockStructure.cpp:113
uint64 GetSize() const
Definition BlockStructure.cpp:118
Definition BlockRange.h:13
static FBlockRange FromFirstAndSize(uint64 InFirst, uint64 InSize)
Definition BlockRange.h:42
Definition BlockData.h:13
void AddData(const FBlockStructure &NewStructure, const TArray< ElementType > &NewData)
Definition BlockData.h:50
uint32 GetAllocatedSize() const
Definition BlockData.h:30
void RemoveData(const FBlockStructure &Structure)
Definition BlockData.h:101
int32 GetDataCount() const
Definition BlockData.h:25
void AddData(const FBlockStructure &NewStructure, const ElementType *NewData, const int32 NewDataCount)
Definition BlockData.h:55
void CopyTo(TArray< ElementType > &OutData, const FBlockStructure &Structure) const
Definition BlockData.h:35