Add memory buffer stream

This commit is contained in:
elasota
2020-11-30 18:42:35 -05:00
parent 70e0948847
commit f0b1d6fff9
2 changed files with 54 additions and 4 deletions

View File

@@ -1,4 +1,5 @@
#include "MemReaderStream.h"
#include "MemReaderStream.h"
#include "MemoryManager.h"
#include <string.h>
@@ -9,6 +10,10 @@ namespace PortabilityLayer
, m_size(size)
, m_loc(0)
{
}
MemReaderStream::~MemReaderStream()
{
}
size_t MemReaderStream::Read(void *bytesOut, size_t size)
@@ -110,5 +115,33 @@ namespace PortabilityLayer
void MemReaderStream::Flush()
{
}
}
MemBufferReaderStream::~MemBufferReaderStream()
{
if (m_buffer)
MemoryManager::GetInstance()->Release(m_buffer);
}
MemBufferReaderStream *MemBufferReaderStream::Create(void *buffer, size_t size)
{
void *storage = MemoryManager::GetInstance()->Alloc(sizeof(MemBufferReaderStream));
if (!storage)
return nullptr;
return new (storage) MemBufferReaderStream(buffer, size);
}
void MemBufferReaderStream::Close()
{
this->~MemBufferReaderStream();
MemoryManager::GetInstance()->Release(this);
}
MemBufferReaderStream::MemBufferReaderStream(void *buffer, size_t size)
: MemReaderStream(buffer, size)
, m_buffer(buffer)
{
}
}