UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LargeMemoryWriter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "CoreTypes.h"
7#include "Memory/MemoryFwd.h"
8#include "Memory/MemoryView.h"
11#include "UObject/NameTypes.h"
12
17{
18public:
19
20 CORE_API FLargeMemoryWriter(const int64 PreAllocateBytes = 0, bool bIsPersistent = false, const TCHAR* InFilename = nullptr);
22
23 CORE_API virtual void Serialize(void* InData, int64 Num) override;
24
31 CORE_API virtual FString GetArchiveName() const override;
32
36 virtual int64 TotalSize() override
37 {
38 return Data.GetSize();
39 }
40
44 CORE_API uint8* GetData() const;
45
53 inline FMemoryView GetView() const { return MakeMemoryView(GetData(), Data.GetSize()); }
54
65
70 {
71 Data.Reserve(Size);
72 }
73
74private:
75
77
80 FLargeMemoryWriter& operator=(const FLargeMemoryWriter&) = delete;
81
82
84 const FString ArchiveName;
85};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
#define UE_FORCEINLINE_HINT
Definition Platform.h:723
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr TMemoryView< void > MakeMemoryView(void *Data, uint64 Size)
Definition MemoryView.h:257
@ Num
Definition MetalRHIPrivate.h:234
uint32 Size
Definition VulkanMemory.cpp:4034
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition LargeMemoryData.h:17
CORE_API void Reserve(int64 Size)
Definition LargeMemoryData.cpp:96
CORE_API uint8 * ReleaseOwnership()
Definition LargeMemoryData.cpp:85
UE_FORCEINLINE_HINT int64 GetSize() const
Definition LargeMemoryData.h:36
Definition LargeMemoryWriter.h:17
CORE_API uint8 * GetData() const
Definition LargeMemoryWriter.cpp:40
void Reserve(int64 Size)
Definition LargeMemoryWriter.h:69
virtual int64 TotalSize() override
Definition LargeMemoryWriter.h:36
UE_FORCEINLINE_HINT uint8 * ReleaseOwnership()
Definition LargeMemoryWriter.h:61
virtual CORE_API ~FLargeMemoryWriter()
virtual CORE_API FString GetArchiveName() const override
Definition LargeMemoryWriter.cpp:35
FMemoryView GetView() const
Definition LargeMemoryWriter.h:53
Definition MemoryArchive.h:15