diff options
author | crupest <crupest@outlook.com> | 2022-02-08 16:53:51 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-02-08 16:53:51 +0800 |
commit | 74bb9cd27242b9320f99ff4d2b50c3051576cc14 (patch) | |
tree | 744bac5799c593d1d6f81e7b09581bea626f2cde /include/cru/common/io/MemoryStream.hpp | |
parent | b90c398de829d1ba5329651d75bae82f5e4085fe (diff) | |
download | cru-74bb9cd27242b9320f99ff4d2b50c3051576cc14.tar.gz cru-74bb9cd27242b9320f99ff4d2b50c3051576cc14.tar.bz2 cru-74bb9cd27242b9320f99ff4d2b50c3051576cc14.zip |
...
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 |