ScummVM API documentation
Common::SeekableWriteStream Class Referenceabstract

#include <stream.h>

Inheritance diagram for Common::SeekableWriteStream:
Common::WriteStream Common::Stream Common::DumpFile Common::MemoryReadWriteStream Common::MemorySeekableReadWriteStream Common::MemoryWriteStream Common::MemoryWriteStreamDynamic Common::OutSaveFile PspIoStream RomfsStream StdioStream Twp::OutMemStream

Public Member Functions

virtual bool seek (int64 offset, int whence=SEEK_SET)=0
 
virtual int64 size () const =0
 
- Public Member Functions inherited from Common::WriteStream
virtual uint32 write (const void *dataPtr, uint32 dataSize)=0
 
virtual bool flush ()
 
virtual void finalize ()
 
virtual int64 pos () const =0
 
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 ()
 

Detailed Description

Derived abstract base class for write streams that are seekable.

Member Function Documentation

◆ seek()

virtual bool Common::SeekableWriteStream::seek ( int64  offset,
int  whence = SEEK_SET 
)
pure virtual

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.

Note
The semantics of any implementation of this method is supposed to match that of ISO C fseek().
Parameters
offsetThe relative offset in bytes.
whenceThe seek reference: SEEK_SET, SEEK_CUR, or SEEK_END.
Returns
True on success, false in case of a failure.

Implemented in Common::MemorySeekableReadWriteStream, Common::MemoryReadWriteStream, Common::MemoryWriteStreamDynamic, Common::DumpFile, Common::SeekableMemoryWriteStream, Common::MemoryWriteStream, Common::OutSaveFile, LastExpress::SavegameStream, Bagel::SaveReadWriteStream, PspIoStream, StdioStream, Twp::OutMemStream, and RomfsStream.

◆ size()

virtual int64 Common::SeekableWriteStream::size ( ) const
pure virtual

Obtain the current size of the stream, measured in bytes.

If this value is unknown or cannot be computed, -1 is returned.

Returns
The size of the stream, or -1 if an error occurred.

Implemented in Common::MemorySeekableReadWriteStream, Common::MemoryReadWriteStream, Common::MemoryWriteStreamDynamic, Common::DumpFile, Common::MemoryWriteStream, Common::OutSaveFile, LastExpress::SavegameStream, Bagel::SaveReadWriteStream, PspIoStream, StdioStream, Twp::OutMemStream, RomfsStream, and PosixIoStream.


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