Files
UnrealEngineUWP/Engine/Source/Developer/Horde/Public/SharedBufferView.h
laura hermanns b64fa3b9a2 Export all public Horde interfaces:
- Add HORDE_API specifier to all public interfaces, structures, and functions.
- Add deleted-assignment-operator to FChunkedBufferWriter.

#rb Ben.Marsh
#rnx

[CL 30094505 by laura hermanns in ue5-main branch]
2023-12-04 16:14:31 -05: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;
};