aboutsummaryrefslogtreecommitdiff
path: root/zencore/stream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'zencore/stream.cpp')
-rw-r--r--zencore/stream.cpp36
1 files changed, 7 insertions, 29 deletions
diff --git a/zencore/stream.cpp b/zencore/stream.cpp
index b9a88de66..aa9705764 100644
--- a/zencore/stream.cpp
+++ b/zencore/stream.cpp
@@ -10,41 +10,19 @@
namespace zen {
-MemoryInStream::MemoryInStream(const void* buffer, size_t size)
-: m_Buffer(reinterpret_cast<const uint8_t*>(buffer), reinterpret_cast<const uint8_t*>(buffer) + size)
-{
-}
-
void
-MemoryInStream::Read(void* buffer, size_t byteCount, uint64_t offset)
+BinaryWriter::Write(const void* data, size_t ByteCount, uint64_t Offset)
{
RwLock::ExclusiveLockScope _(m_Lock);
- const size_t needEnd = offset + byteCount;
-
- if (needEnd > m_Buffer.size())
- throw std::runtime_error("read past end of file!"); // TODO: better exception
+ const size_t NeedEnd = Offset + ByteCount;
- memcpy(buffer, m_Buffer.data() + offset, byteCount);
-}
+ if (NeedEnd > m_Buffer.size())
+ {
+ m_Buffer.resize(NeedEnd);
+ }
-void
-MemoryOutStream::Write(const void* data, size_t byteCount, uint64_t offset)
-{
- RwLock::ExclusiveLockScope _(m_Lock);
-
- const size_t needEnd = offset + byteCount;
-
- if (needEnd > m_Buffer.size())
- m_Buffer.resize(needEnd);
-
- memcpy(m_Buffer.data() + offset, data, byteCount);
-}
-
-void
-MemoryOutStream::Flush()
-{
- // No-op
+ memcpy(m_Buffer.data() + Offset, data, ByteCount);
}
//////////////////////////////////////////////////////////////////////////