Files
UnrealEngine/Engine/Source/Developer/Horde/Public/SharedBufferView.h
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

36 lines
869 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Memory/SharedBuffer.h"
#define UE_API HORDE_API
//
// View into a buffer with shared ownership
//
class FSharedBufferView final
{
public:
UE_API FSharedBufferView();
UE_API FSharedBufferView(FSharedBuffer InBuffer);
UE_API FSharedBufferView(FSharedBuffer InBuffer, const FMemoryView& InView);
UE_API FSharedBufferView(FSharedBuffer InBuffer, size_t InOffset, size_t InLength);
UE_API ~FSharedBufferView();
static UE_API FSharedBufferView Copy(const FMemoryView& View);
UE_API FSharedBufferView Slice(uint64 Offset) const;
UE_API FSharedBufferView Slice(uint64 Offset, uint64 Length) const;
UE_API const unsigned char* GetPointer() const;
UE_API size_t GetLength() const;
UE_API FMemoryView GetView() const;
private:
FSharedBuffer Buffer;
FMemoryView View;
};
#undef UE_API