UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LargeMemoryData.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
8#include <atomic>
9
10template <class T, int TPaddingForCacheContention> class TLockFreePointerListUnordered;
11
17{
18public:
19
22
24 CORE_API bool Write(void* InData, int64 InOffset, int64 InNum);
25
28 {
29 Write(InData, NumBytes, InNum);
30 }
31
33 CORE_API bool Read(void* OutData, int64 InOffset, int64 InNum) const;
34
37 {
38 return NumBytes;
39 }
40
43 {
44 return Data;
45 }
46
49 {
50 return Data;
51 }
52
55
57 bool HasData() const
58 {
59 return Data != nullptr;
60 }
61
63
64private:
65
67 FLargeMemoryData(const FLargeMemoryData&) = delete;
68 FLargeMemoryData& operator=(const FLargeMemoryData&) = delete;
69
71 uint8* Data;
72
74 int64 NumBytes;
75
77 int64 MaxBytes;
78
80 CORE_API void GrowBuffer();
81};
82
87{
88public:
91 FLargeMemoryData& Get() { return *Data; }
92private:
93 static void Free(FLargeMemoryData* Data);
94 FLargeMemoryData* Data;
96 static CORE_API std::atomic<int32> FreeListLength;
97};
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
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 const uint8 * GetData() const
Definition LargeMemoryData.h:48
UE_FORCEINLINE_HINT int64 GetSize() const
Definition LargeMemoryData.h:36
UE_FORCEINLINE_HINT uint8 * GetData()
Definition LargeMemoryData.h:42
UE_FORCEINLINE_HINT void Append(void *InData, int64 InNum)
Definition LargeMemoryData.h:27
bool HasData() const
Definition LargeMemoryData.h:57
CORE_API ~FLargeMemoryData()
Definition LargeMemoryData.cpp:34
Definition LargeMemoryData.h:87
CORE_API ~FPooledLargeMemoryData()
Definition LargeMemoryData.cpp:146
CORE_API FPooledLargeMemoryData()
Definition LargeMemoryData.cpp:129
FLargeMemoryData & Get()
Definition LargeMemoryData.h:91
Definition LockFreeList.h:904