#include <memstream.h>
Public Member Functions | |
MemorySeekableReadWriteStream (byte *buf, uint32 len, DisposeAfterUse::Flag disposeMemory=DisposeAfterUse::NO) | |
uint32 | write (const void *dataPtr, uint32 dataSize) override |
int64 | pos () const override |
int64 | size () const override |
bool | eos () const override |
bool | err () const override |
void | clearErr () override |
void | rewind (int32 bytes) |
byte | peekByte () |
uint32 | read (void *dataPtr, uint32 dataSize) override |
bool | seek (int64 offset, int whence=SEEK_SET) override |
Public Member Functions inherited from Common::SeekableReadStream | |
virtual bool | skip (uint32 offset) |
virtual char * | readLine (char *s, size_t bufSize, bool handleCR=true) |
virtual String | readLine (bool handleCR=true) |
void | hexdump (int len, int bytesPerLine=16, int startOffset=0) |
Public Member Functions inherited from Common::ReadStream | |
byte | readByte () |
FORCEINLINE int8 | readSByte () |
uint16 | readUint16LE () |
uint32 | readUint32LE () |
uint64 | readUint64LE () |
uint16 | readUint16BE () |
uint32 | readUint32BE () |
uint64 | readUint64BE () |
FORCEINLINE int16 | readSint16LE () |
FORCEINLINE int32 | readSint32LE () |
FORCEINLINE int64 | readSint64LE () |
FORCEINLINE int16 | readSint16BE () |
FORCEINLINE int32 | readSint32BE () |
FORCEINLINE int64 | readSint64BE () |
FORCEINLINE float | readFloatLE () |
FORCEINLINE float | readFloatBE () |
FORCEINLINE double | readDoubleLE () |
FORCEINLINE double | readDoubleBE () |
template<class TDataFormat , class... T> | |
bool | readMultiple (const TDataFormat &dataFormat, T &...values) |
template<class... T> | |
bool | readMultipleEndian (bool isLittle, T &...values) |
template<class... T> | |
bool | readMultipleLE (T &...values) |
template<class... T> | |
bool | readMultipleBE (T &...values) |
SeekableReadStream * | readStream (uint32 dataSize) |
String | readString (char terminator=0, size_t len=String::npos) |
Common::String | readPascalString (bool transformCR=true) |
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) |
A seekable read and writeable memory stream that operates on an already existing memory buffer
|
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::SeekableReadStream.
|
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 a read failed because the stream end has been reached.
This flag is cleared by clearErr(). For a SeekableReadStream, the flag is also cleared by a successful seek.
Implements Common::ReadStream.
|
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 |
Read data from the stream.
Subclasses must implement this method. All other read methods are implemented using it.
dataPtr | Pointer to a buffer into which the data is read. |
dataSize | Number of bytes to be read. |
Implements Common::ReadStream.
|
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.