#include <memstream.h>
Public Member Functions | |
MemoryWriteStreamDynamic (DisposeAfterUse::Flag disposeMemory) | |
uint32 | write (const void *dataPtr, uint32 dataSize) override |
int64 | pos () const override |
int64 | size () const override |
byte * | getData () |
bool | seek (int64 offs, 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) |
Public Member Functions inherited from Common::Stream | |
virtual bool | err () const |
virtual void | clearErr () |
Protected Member Functions | |
void | ensureCapacity (uint32 capacity) |
Static Protected Member Functions | |
static size_t | roundUpCapacity (size_t capacity) |
Protected Attributes | |
uint32 | _capacity |
uint32 | _size |
byte * | _ptr |
byte * | _data |
uint32 | _pos |
DisposeAfterUse::Flag | _disposeMemory |
A sort of hybrid between MemoryWriteStream and Array classes. A stream that grows as it's written to.
|
inlinestaticprotected |
Round up capacity to the next power of 2. A minimal capacity of 8 is used.
|
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.
Reimplemented in LastExpress::SavegameStream.
|
inlineoverridevirtual |
Obtain the current value of the stream position indicator.
Implements Common::WriteStream.
Reimplemented in LastExpress::SavegameStream, and Bagel::SaveReadWriteStream.
|
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.
Reimplemented in LastExpress::SavegameStream, and Bagel::SaveReadWriteStream.
|
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 LastExpress::SavegameStream, and Bagel::SaveReadWriteStream.