diff options
Diffstat (limited to 'zencore/stream.cpp')
| -rw-r--r-- | zencore/stream.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/zencore/stream.cpp b/zencore/stream.cpp index aa9705764..361858b66 100644 --- a/zencore/stream.cpp +++ b/zencore/stream.cpp @@ -25,6 +25,30 @@ BinaryWriter::Write(const void* data, size_t ByteCount, uint64_t Offset) memcpy(m_Buffer.data() + Offset, data, ByteCount); } +void +SimpleBinaryWriter::Write(const void* Data, size_t Size) +{ + const size_t NeededSize = m_Offset + Size; + + if (NeededSize > m_Buffer.size()) + { + const size_t NewCapacity = RoundUp(NeededSize, m_BlockSize); + + m_Buffer.resize(NewCapacity); + } + + memcpy(m_Buffer.data() + m_Offset, Data, Size); + + m_Offset += Size; +} + +void +SimpleBinaryWriter::Clear() +{ + m_Buffer.clear(); + m_Offset = 0; +} + ////////////////////////////////////////////////////////////////////////// // // Testing related code follows... |