6#include "Misc/AssertionMacros.h"
7#include "HAL/UnrealMemory.h"
8#include "Math/NumericLimits.h"
9#include "Containers/UnrealString.h"
10#include "UObject/NameTypes.h"
11#include "Logging/LogMacros.h"
13#include "Serialization/MemoryArchive.h"
16
17
18template <
int IndexSize>
21 static_assert(IndexSize == 32 || IndexSize == 64,
"Only 32-bit and 64-bit index sizes supported");
25 TMemoryWriter(
TArray<uint8, TSizedDefaultAllocator<IndexSize>>& InBytes,
bool bIsPersistent =
false,
bool bSetOffset =
false,
const FName InArchiveName = NAME_None )
38 virtual void Serialize(
void* Data, int64 Num)
override
64
65
66
67
68
78 return TEXT(
"FMemoryWriter64");
82 return TEXT(
"FMemoryWriter");
int64 TotalSize() override
TArray< uint8, TSizedDefaultAllocator< IndexSize > > & Bytes
virtual FString GetArchiveName() const override
virtual void Serialize(void *Data, int64 Num) override
TMemoryWriter(TArray< uint8, TSizedDefaultAllocator< IndexSize > > &InBytes, bool bIsPersistent=false, bool bSetOffset=false, const FName InArchiveName=NAME_None)