ScummVM API documentation
Common::SeekableSubReadStreamEndian Class Reference

#include <substream.h>

Inheritance diagram for Common::SeekableSubReadStreamEndian:
Common::SeekableSubReadStream Common::SeekableReadStreamEndian Common::SubReadStream Common::SeekableReadStream Common::SeekableReadStream Common::ReadStreamEndian Common::ReadStream Common::ReadStream Common::ReadStream Common::ReadStream Common::Stream Common::Stream Common::Stream Common::Stream

Public Member Functions

 SeekableSubReadStreamEndian (SeekableReadStream *parentStream, uint32 begin, uint32 end, bool bigEndian, DisposeAfterUse::Flag disposeParentStream=DisposeAfterUse::NO)
 
int64 pos () const override
 
int64 size () const override
 
bool seek (int64 offset, int whence=SEEK_SET) override
 
void hexdump (int len, int bytesPerLine=16, int startOffset=0)
 
bool skip (uint32 offset) override
 
- Public Member Functions inherited from Common::SeekableSubReadStream
 SeekableSubReadStream (SeekableReadStream *parentStream, uint32 begin, uint32 end, DisposeAfterUse::Flag disposeParentStream=DisposeAfterUse::NO)
 
- Public Member Functions inherited from Common::SubReadStream
 SubReadStream (ReadStream *parentStream, uint32 end, DisposeAfterUse::Flag disposeParentStream=DisposeAfterUse::NO)
 
virtual bool eos () const
 
virtual bool err () const
 
virtual void clearErr ()
 
virtual uint32 read (void *dataPtr, uint32 dataSize)
 
- 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)
 
SeekableReadStreamreadStream (uint32 dataSize)
 
String readString (char terminator=0, size_t len=String::npos)
 
Common::String readPascalString (bool transformCR=true)
 
- Public Member Functions inherited from Common::SeekableReadStream
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::SeekableReadStreamEndian
 SeekableReadStreamEndian (bool bigEndian)
 
- Public Member Functions inherited from Common::ReadStreamEndian
 ReadStreamEndian (bool bigEndian)
 
bool isBE () const
 
uint16 readUint16 ()
 
uint32 readUint32 ()
 
uint64 readUint64 ()
 
FORCEINLINE int16 readSint16 ()
 
FORCEINLINE int32 readSint32 ()
 
FORCEINLINE int64 readSint64 ()
 
FORCEINLINE float readFloat ()
 
FORCEINLINE double readDouble ()
 

Additional Inherited Members

- Protected Attributes inherited from Common::SeekableSubReadStream
SeekableReadStream_parentStream
 
uint32 _begin
 
- Protected Attributes inherited from Common::SubReadStream
DisposablePtr< ReadStream_parentStream
 
uint32 _pos
 
uint32 _end
 
bool _eos
 

Detailed Description

This is a SeekableSubReadStream subclass which adds non-endian read methods whose endianness is set on the stream creation.

Manipulating the parent stream directly /will/ mess up a substream.

See also
SubReadStream

Member Function Documentation

◆ pos()

int64 Common::SeekableSubReadStreamEndian::pos ( ) const
inlineoverridevirtual

Obtain the current value of the stream position indicator.

Returns
The current position indicator, or -1 if an error occurred.

Reimplemented from Common::SeekableSubReadStream.

◆ size()

int64 Common::SeekableSubReadStreamEndian::size ( ) const
inlineoverridevirtual

Obtain the total 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.

Reimplemented from Common::SeekableSubReadStream.

◆ seek()

bool Common::SeekableSubReadStreamEndian::seek ( int64  offset,
int  whence = SEEK_SET 
)
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.

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

Reimplemented from Common::SeekableSubReadStream.

◆ skip()

bool Common::SeekableSubReadStreamEndian::skip ( uint32  offset)
inlineoverridevirtual

Skip the given number of bytes in the stream.

This is equivalent to calling:

seek(offset, SEEK_CUR)

to add the given number of bytes to the current position indicator of the stream.

Returns
True on success, false in case of a failure.

Reimplemented from Common::SeekableReadStream.


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