Files
UnrealEngine/Engine/Source/Developer/Horde/Public/SharedBufferView.h
2025-05-18 13:04:45 +08:00

32 lines
761 B
C++

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