cleaning up file / memory streams

This commit is contained in:
Noel Berry
2021-05-09 19:30:01 -07:00
parent 2447490033
commit c51d397ccc
8 changed files with 166 additions and 64 deletions

View File

@ -28,7 +28,22 @@ MemoryStream& MemoryStream::operator=(MemoryStream&& src) noexcept
return *this;
}
size_t MemoryStream::read_into(void* ptr, size_t len)
size_t MemoryStream::length() const
{
return m_length;
}
size_t MemoryStream::position() const
{
return m_position;
}
size_t MemoryStream::seek(size_t seekTo)
{
return m_position = (seekTo < 0 ? 0 : (seekTo > m_length ? m_length : seekTo));
}
size_t MemoryStream::read_data(void* ptr, size_t len)
{
if (len < 0 || ptr == nullptr)
return 0;
@ -41,7 +56,7 @@ size_t MemoryStream::read_into(void* ptr, size_t len)
return len;
}
size_t MemoryStream::write_from(const void* ptr, size_t len)
size_t MemoryStream::write_data(const void* ptr, size_t len)
{
if (len < 0 || ptr == nullptr)
return 0;
@ -53,3 +68,33 @@ size_t MemoryStream::write_from(const void* ptr, size_t len)
m_position += len;
return len;
}
bool MemoryStream::is_open() const
{
return m_data != nullptr;
}
bool MemoryStream::is_readable() const
{
return true;
}
bool MemoryStream::is_writable() const
{
return true;
}
void MemoryStream::close()
{
m_data = nullptr; m_length = m_position = 0;
}
char* MemoryStream::data()
{
return m_data;
}
const char* MemoryStream::data() const
{
return m_data;
}