Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::IO::MemoryStream Class Reference

Inherits AZ::IO::GenericStream.

Public Types

enum  MemoryStreamMode { MSM_READONLY , MSM_READWRITE }
 
- Public Types inherited from AZ::IO::GenericStream
enum  SeekMode { ST_SEEK_BEGIN , ST_SEEK_CUR , ST_SEEK_END }
 

Public Member Functions

 MemoryStream (const void *buffer, size_t bufferLen)
 
 MemoryStream (void *buffer, size_t bufferLen, size_t curLen)
 
bool IsOpen () const override
 
bool CanSeek () const override
 
bool CanRead () const override
 
bool CanWrite () const override
 
void Seek (OffsetType bytes, SeekMode mode) override
 
SizeType Read (SizeType bytes, void *oBuffer) override
 
SizeType Write (SizeType bytes, const void *iBuffer) override
 
SizeType WriteFromStream (SizeType bytes, GenericStream *inputStream) override
 
virtual const void * GetData () const
 
SizeType GetCurPos () const override
 
SizeType GetLength () const override
 
- Public Member Functions inherited from AZ::IO::GenericStream
virtual bool IsOpen () const =0
 
virtual bool CanSeek () const =0
 
virtual bool CanRead () const =0
 
virtual bool CanWrite () const =0
 
virtual void Seek (OffsetType bytes, SeekMode mode)=0
 
virtual SizeType Read (SizeType bytes, void *oBuffer)=0
 
virtual SizeType Write (SizeType bytes, const void *iBuffer)=0
 
virtual SizeType WriteFromStream (SizeType bytes, GenericStream *inputStream)
 
virtual SizeType GetCurPos () const =0
 
virtual SizeType GetLength () const =0
 
virtual SizeType ReadAtOffset (SizeType bytes, void *oBuffer, OffsetType offset=-1)
 
virtual SizeType WriteAtOffset (SizeType bytes, const void *iBuffer, OffsetType offset=-1)
 
virtual bool IsCompressed () const
 
virtual const char * GetFilename () const
 
virtual OpenMode GetModeFlags () const
 
virtual bool ReOpen ()
 
virtual void Close ()
 

Protected Member Functions

SizeType PrepareForWrite (SizeType bytes)
 
- Protected Member Functions inherited from AZ::IO::GenericStream
SizeType ComputeSeekPosition (OffsetType bytes, SeekMode mode)
 

Protected Attributes

const char * m_buffer
 
size_t m_bufferLen
 
size_t m_curOffset
 
size_t m_curLen
 
MemoryStreamMode m_mode
 

Additional Inherited Members

- Static Public Attributes inherited from AZ::IO::GenericStream
static constexpr size_t StreamToStreamCopyBufferSize = 256
 

Member Function Documentation

◆ CanRead()

bool AZ::IO::MemoryStream::CanRead ( ) const
inlineoverridevirtual

Implements AZ::IO::GenericStream.

◆ CanSeek()

bool AZ::IO::MemoryStream::CanSeek ( ) const
inlineoverridevirtual

Implements AZ::IO::GenericStream.

◆ CanWrite()

bool AZ::IO::MemoryStream::CanWrite ( ) const
inlineoverridevirtual

Implements AZ::IO::GenericStream.

◆ GetCurPos()

SizeType AZ::IO::MemoryStream::GetCurPos ( ) const
inlineoverridevirtual

Implements AZ::IO::GenericStream.

◆ GetLength()

SizeType AZ::IO::MemoryStream::GetLength ( ) const
inlineoverridevirtual

Implements AZ::IO::GenericStream.

◆ IsOpen()

bool AZ::IO::MemoryStream::IsOpen ( ) const
inlineoverridevirtual

Implements AZ::IO::GenericStream.

◆ Read()

SizeType AZ::IO::MemoryStream::Read ( SizeType  bytes,
void *  oBuffer 
)
overridevirtual

Implements AZ::IO::GenericStream.

◆ Seek()

void AZ::IO::MemoryStream::Seek ( OffsetType  bytes,
SeekMode  mode 
)
overridevirtual

Implements AZ::IO::GenericStream.

◆ Write()

SizeType AZ::IO::MemoryStream::Write ( SizeType  bytes,
const void *  iBuffer 
)
overridevirtual

Implements AZ::IO::GenericStream.

◆ WriteFromStream()

SizeType AZ::IO::MemoryStream::WriteFromStream ( SizeType  bytes,
GenericStream inputStream 
)
overridevirtual

Alternate version of Write that can read data directly from an input stream instead of a pre-populated buffer. Stream classes should override the default implementation if they have their own internal pre-allocated buffer that can be passed into the inputStream for direct population without the need for an intermediate buffer.

Reimplemented from AZ::IO::GenericStream.


The documentation for this class was generated from the following file: