diff options
Diffstat (limited to 'include/cru/common/io/MemoryStream.hpp')
-rw-r--r-- | include/cru/common/io/MemoryStream.hpp | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/include/cru/common/io/MemoryStream.hpp b/include/cru/common/io/MemoryStream.hpp deleted file mode 100644 index 29da7b9f..00000000 --- a/include/cru/common/io/MemoryStream.hpp +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -#include "Stream.hpp" - -#include <functional> - -namespace cru::io { -class CRU_BASE_API MemoryStream : public Stream { - public: - MemoryStream() = default; - MemoryStream( - std::byte* buffer, Index size, bool read_only = false, - std::function<void(std::byte* buffer, Index size)> release_func = {}) - : buffer_(buffer), - size_(size), - read_only_(read_only), - release_func_(std::move(release_func)) {} - - CRU_DELETE_COPY(MemoryStream) - CRU_DELETE_MOVE(MemoryStream) - - ~MemoryStream() override; - - public: - bool CanSeek() override; - Index Seek(Index offset, SeekOrigin origin = SeekOrigin::Current) override; - - bool CanRead() override; - Index Read(std::byte* buffer, Index offset, Index size) override; - - bool CanWrite() override; - Index Write(const std::byte* buffer, Index offset, Index size) override; - - std::byte* GetBuffer() const { return buffer_; } - Index GetSize() override { return size_; } - - private: - std::byte* buffer_ = nullptr; - Index size_ = 0; - Index position_ = 0; - bool read_only_ = false; - std::function<void(std::byte* buffer, Index size)> release_func_; -}; -} // namespace cru::io |