#include <memstream.h>
Public Member Functions | |
MemoryWriteStream (byte *buf, uint32 len) | |
uint32 | write (const void *dataPtr, uint32 dataSize) override |
int64 | pos () const override |
int64 | size () const override |
bool | err () const override |
void | clearErr () override |
bool | seek (int64 offset, int whence=SEEK_SET) override |
Public Member Functions inherited from Common::WriteStream | |
virtual bool | flush () |
virtual void | finalize () |
void | writeByte (byte value) |
void | writeSByte (int8 value) |
void | writeUint16LE (uint16 value) |
void | writeUint32LE (uint32 value) |
void | writeUint64LE (uint64 value) |
void | writeUint16BE (uint16 value) |
void | writeUint32BE (uint32 value) |
void | writeUint64BE (uint64 value) |
FORCEINLINE void | writeSint16LE (int16 value) |
FORCEINLINE void | writeSint32LE (int32 value) |
FORCEINLINE void | writeSint64LE (int64 value) |
FORCEINLINE void | writeSint16BE (int16 value) |
FORCEINLINE void | writeSint32BE (int32 value) |
FORCEINLINE void | writeSint64BE (int64 value) |
FORCEINLINE void | writeFloatLE (float value) |
FORCEINLINE void | writeFloatBE (float value) |
FORCEINLINE void | writeDoubleLE (double value) |
FORCEINLINE void | writeDoubleBE (double value) |
template<class TDataFormat , class... T> | |
bool | writeMultiple (const TDataFormat &dataFormat, const T &...values) |
template<class... T> | |
bool | writeMultipleEndian (bool isLittle, const T &...values) |
template<class... T> | |
bool | writeMultipleLE (const T &...values) |
template<class... T> | |
bool | writeMultipleBE (const T &...values) |
uint32 | writeStream (ReadStream *stream, uint32 dataSize) |
uint32 | writeStream (ReadStream *stream) |
void | writeString (const String &str) |
Protected Attributes | |
byte * | _ptr |
uint32 | _pos |
bool | _err |
Simple memory based 'stream', which implements the WriteStream interface for a plain memory block.
|
inlineoverridevirtual |
Write data into the stream. Subclasses must implement this method. All other write methods are implemented using it.
dataPtr | Pointer to the data to be written. |
dataSize | Number of bytes to be written. |
Implements Common::WriteStream.
|
inlineoverridevirtual |
Obtain the current value of the stream position indicator.
Implements Common::WriteStream.
|
inlineoverridevirtual |
Obtain the current size of the stream, measured in bytes.
If this value is unknown or cannot be computed, -1 is returned.
Implements Common::SeekableWriteStream.
|
inlineoverridevirtual |
Return true if an I/O failure occurred.
This flag is never cleared automatically. In order to clear it, the client code must call clearErr() explicitly.
Reimplemented from Common::Stream.
|
inlineoverridevirtual |
Reset the I/O error status as returned by err().
For a ReadStream, also reset the end-of-stream status returned by eos().
Reimplemented from Common::Stream.
|
inlineoverridevirtual |
Set the stream position indicator for the stream.
The new position, measured in bytes, is obtained by adding offset bytes to the position specified by whence. If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is relative to the start of the file, the current position indicator, or end-of-stream, respectively. A successful call to the seek() method clears the end-of-stream indicator for the stream.
offset | The relative offset in bytes. |
whence | The seek reference: SEEK_SET, SEEK_CUR, or SEEK_END. |
Implements Common::SeekableWriteStream.
Reimplemented in Common::SeekableMemoryWriteStream.