aboutsummaryrefslogtreecommitdiff
path: root/zencore/sharedbuffer.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-05-02 10:01:47 +0200
committerGitHub <[email protected]>2023-05-02 10:01:47 +0200
commit075d17f8ada47e990fe94606c3d21df409223465 (patch)
treee50549b766a2f3c354798a54ff73404217b4c9af /zencore/sharedbuffer.cpp
parentfix: bundle shouldn't append content zip to zen (diff)
downloadzen-075d17f8ada47e990fe94606c3d21df409223465.tar.xz
zen-075d17f8ada47e990fe94606c3d21df409223465.zip
moved source directories into `/src` (#264)
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees
Diffstat (limited to 'zencore/sharedbuffer.cpp')
-rw-r--r--zencore/sharedbuffer.cpp146
1 files changed, 0 insertions, 146 deletions
diff --git a/zencore/sharedbuffer.cpp b/zencore/sharedbuffer.cpp
deleted file mode 100644
index 200e06972..000000000
--- a/zencore/sharedbuffer.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright Epic Games, Inc. All Rights Reserved.
-
-#include <zencore/sharedbuffer.h>
-
-#include <zencore/testing.h>
-
-#include <memory.h>
-
-#include <gsl/gsl-lite.hpp>
-
-namespace zen {
-
-//////////////////////////////////////////////////////////////////////////
-
-UniqueBuffer
-UniqueBuffer::Alloc(uint64_t Size)
-{
- void* Buffer = Memory::Alloc(Size, 16);
- IoBufferCore* Owner = new IoBufferCore(Buffer, Size);
- Owner->SetIsOwnedByThis(true);
- Owner->SetIsImmutable(false);
-
- return UniqueBuffer(Owner);
-}
-
-UniqueBuffer
-UniqueBuffer::MakeMutableView(void* DataPtr, uint64_t Size)
-{
- IoBufferCore* Owner = new IoBufferCore(DataPtr, Size);
- Owner->SetIsImmutable(false);
- return UniqueBuffer(Owner);
-}
-
-UniqueBuffer::UniqueBuffer(IoBufferCore* Owner) : m_Buffer(Owner)
-{
-}
-
-SharedBuffer
-UniqueBuffer::MoveToShared()
-{
- return SharedBuffer(std::move(m_Buffer));
-}
-
-void
-UniqueBuffer::Reset()
-{
- m_Buffer = nullptr;
-}
-
-//////////////////////////////////////////////////////////////////////////
-
-SharedBuffer::SharedBuffer(UniqueBuffer&& InBuffer) : m_Buffer(std::move(InBuffer.m_Buffer))
-{
-}
-
-SharedBuffer
-SharedBuffer::MakeOwned() const&
-{
- if (IsOwned() || !m_Buffer)
- {
- return *this;
- }
- else
- {
- return Clone(GetView());
- }
-}
-
-SharedBuffer
-SharedBuffer::MakeOwned() &&
-{
- if (IsOwned())
- {
- return std::move(*this);
- }
- else
- {
- return Clone(GetView());
- }
-}
-
-SharedBuffer
-SharedBuffer::MakeView(MemoryView View, SharedBuffer OuterBuffer)
-{
- if (OuterBuffer)
- {
- ZEN_ASSERT(OuterBuffer.GetView().Contains(View));
- }
-
- if (View == OuterBuffer.GetView())
- {
- // Reference to the full buffer contents, so just return the "outer"
- return OuterBuffer;
- }
-
- IoBufferCore* NewCore = new IoBufferCore(OuterBuffer.m_Buffer, View.GetData(), View.GetSize());
- NewCore->SetIsImmutable(true);
- return SharedBuffer(NewCore);
-}
-
-SharedBuffer
-SharedBuffer::MakeView(const void* Data, uint64_t Size)
-{
- return SharedBuffer(new IoBufferCore(const_cast<void*>(Data), Size));
-}
-
-SharedBuffer
-SharedBuffer::Clone()
-{
- const uint64_t Size = GetSize();
- void* Buffer = Memory::Alloc(Size, 16);
- auto NewOwner = new IoBufferCore(Buffer, Size);
- NewOwner->SetIsOwnedByThis(true);
- memcpy(Buffer, m_Buffer->DataPointer(), Size);
-
- return SharedBuffer(NewOwner);
-}
-
-SharedBuffer
-SharedBuffer::Clone(MemoryView View)
-{
- const uint64_t Size = View.GetSize();
- void* Buffer = Memory::Alloc(Size, 16);
- auto NewOwner = new IoBufferCore(Buffer, Size);
- NewOwner->SetIsOwnedByThis(true);
- memcpy(Buffer, View.GetData(), Size);
-
- return SharedBuffer(NewOwner);
-}
-
-//////////////////////////////////////////////////////////////////////////
-
-#if ZEN_WITH_TESTS
-
-void
-sharedbuffer_forcelink()
-{
-}
-
-TEST_CASE("SharedBuffer")
-{
-}
-
-#endif
-
-} // namespace zen