#include <stream.h>
Public Member Functions | |
virtual uint32 | write (const void *dataPtr, uint32 dataSize)=0 |
virtual bool | flush () |
virtual void | finalize () |
virtual int64 | pos () const =0 |
Functions for writing data | |
The following methods all have default implementations. Subclasses need not (and should not) overload them. | |
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 () |
Generic interface for a writable data stream.
|
pure virtual |
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. |
Implemented in Common::MemorySeekableReadWriteStream, Common::MemoryReadWriteStream, Common::MemoryWriteStreamDynamic, MM::Xeen::OutFile, Common::DumpFile, Common::MemoryWriteStream, MM::Xeen::SubWriteStream, LastExpress::SavegameStream, Common::OutSaveFile, BladeRunner::SaveFileWriteStream, NGI::MfcArchive, PspIoStream, OutFRAMSave, OutPAKSave, Twp::OutMemStream, StdioStream, and RomfsStream.
|
inlinevirtual |
Commit any buffered data to the underlying channel or storage medium. Unbuffered streams can use the default implementation.
Reimplemented in Common::DumpFile, MM::Xeen::SubWriteStream, BladeRunner::SaveFileWriteStream, Common::OutSaveFile, PspIoStream, StdioStream, and RomfsStream.
|
inlinevirtual |
Finalize and close this stream.
Call this method right before this stream instance is deleted. The goal is to enable the client code to detect and handle I/O errors that might occur when closing (and flushing, if buffered) the stream.
After this method has been called, no further writes can be performed on the stream. Calling err() is allowed.
By default, this just flushes the stream.
Reimplemented in MM::Xeen::OutFile, MM::Xeen::SubWriteStream, OutPAKSave, OutFRAMSave, and Common::OutSaveFile.
|
pure virtual |
Obtain the current value of the stream position indicator.
Implemented in Common::MemorySeekableReadWriteStream, Common::MemoryReadWriteStream, Common::MemoryWriteStreamDynamic, MM::Xeen::OutFile, Common::DumpFile, Common::MemoryWriteStream, MM::Xeen::SubWriteStream, LastExpress::SavegameStream, Common::OutSaveFile, BladeRunner::SaveFileWriteStream, Bagel::SaveReadWriteStream, PspIoStream, NGI::MfcArchive, OutPAKSave, OutFRAMSave, StdioStream, Twp::OutMemStream, and RomfsStream.
|
inline |
Write the given byte to the current position in the stream.
|
inline |
Write the given signed byte to the current position in the stream.
|
inline |
Write an unsigned 16-bit word stored in little endian order into the stream.
|
inline |
Write an unsigned 32-bit word stored in little endian order into the stream.
|
inline |
Write an unsigned 64-bit word stored in little endian order into the stream.
|
inline |
Write an unsigned 16-bit word stored in big endian order into the stream.
|
inline |
Write an unsigned 32-bit word stored in big endian order into the stream.
|
inline |
Write an unsigned 64-bit word stored in big endian order into the stream.
|
inline |
Write a signed 16-bit word stored in little endian order into the stream.
|
inline |
Write a signed 32-bit word stored in little endian order into the stream.
|
inline |
Write a signed 64-bit word stored in little endian order into the stream.
|
inline |
Write a signed 16-bit word stored in big endian order into the stream.
|
inline |
Write a signed 32-bit word stored in big endian order into the stream.
|
inline |
Write a signed 64-bit word stored in big endian order into the stream.
|
inline |
Write a 32-bit floating point value stored in little endian (LSB first) order into the stream.
|
inline |
Write a 32-bit floating point value stored in big endian order into the stream.
|
inline |
Write a 64-bit floating point value (with decimals) stored in little endian (LSB first) order into the stream.
|
inline |
Write the given 64-bit floating point value (with decimals) stored in big endian order into the stream.
|
inline |
Write multiple values to the stream using a specified data format, return true on success and false on failure.
|
inline |
Write multiple values to the stream using a specified endianness, return true on success and false on failure.
|
inline |
Write multiple values to the stream in little endian format, return true on success and false on failure.
|
inline |
Write multiple values to the stream in big endian format, return true on success and false on failure.
uint32 Common::WriteStream::writeStream | ( | ReadStream * | stream, |
uint32 | dataSize | ||
) |
Write at most dataSize
of data from another stream into this one, starting from the current stream position.
uint32 Common::WriteStream::writeStream | ( | ReadStream * | stream | ) |
Write data from another stream into this one, starting from its current position to the end of the stream.
void Common::WriteStream::writeString | ( | const String & | str | ) |
Write the given string to the stream. This writes str.size() characters, but no terminating zero byte.