#include <substream.h>
Public Member Functions | |
SafeSeekableSubReadStream (SeekableReadStream *parentStream, uint32 begin, uint32 end, DisposeAfterUse::Flag disposeParentStream=DisposeAfterUse::NO) | |
virtual uint32 | read (void *dataPtr, uint32 dataSize) |
Public Member Functions inherited from Common::SeekableSubReadStream | |
SeekableSubReadStream (SeekableReadStream *parentStream, uint32 begin, uint32 end, DisposeAfterUse::Flag disposeParentStream=DisposeAfterUse::NO) | |
virtual int64 | pos () const |
virtual int64 | size () const |
virtual bool | seek (int64 offset, int whence=SEEK_SET) |
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 () |
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::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) |
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 |
A seekable substream that removes the exclusivity demand required by the normal SeekableSubReadStream, at the cost of seek()ing the parent stream before each read().
More than one SafeSeekableSubReadStream to the same parent stream can be used at the same time; they won't mess up each other. They will, however, reposition the parent stream, so don't depend on its position to be the same after a read() or seek() on one of its SafeSeekableSubReadStream.
Note that this stream is not threading safe. Calling read from the audio thread and from the main thread might mess up the data retrieved.
|
virtual |
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. |
Reimplemented from Common::SubReadStream.
Reimplemented in Common::SafeMutexedSeekableSubReadStream.