xoreos
0.0.5
|
This is a wrapper around MemoryReadStream, but it adds non-endian read methods whose endianness is set on the stream creation. More...
#include <memreadstream.h>
Public Member Functions | |
MemoryReadStreamEndian (const byte *dataPtr, size_t dataSize, bool bigEndian=false, bool disposeMemory=false) | |
~MemoryReadStreamEndian () | |
uint16 | readUint16 () |
uint32 | readUint32 () |
uint64 | readUint64 () |
uint16 | readSint16 () |
uint32 | readSint32 () |
uint64 | readSint64 () |
float | readIEEEFloat () |
double | readIEEEDouble () |
Public Member Functions inherited from Common::MemoryReadStream | |
MemoryReadStream (const byte *dataPtr, size_t dataSize, bool disposeMemory=false) | |
This constructor takes a pointer to a memory buffer and a length, and wraps it. More... | |
MemoryReadStream (const char *str, bool useTerminator=false) | |
Create a MemoryReadStream around a static string buffer, optionally including the terminating \0. More... | |
template<size_t N> | |
MemoryReadStream (const byte(&array)[N]) | |
Template constructor to create a MemoryReadStream around a static array buffer. More... | |
~MemoryReadStream () | |
size_t | read (void *dataPtr, size_t dataSize) |
Read data from the stream. More... | |
bool | eos () const |
Returns true if a read failed because the stream has been reached. More... | |
size_t | pos () const |
Obtains the current value of the stream position indicator of the stream. More... | |
size_t | size () const |
Obtains the total size of the stream, measured in bytes. More... | |
size_t | seek (ptrdiff_t offset, Origin whence=kOriginBegin) |
Sets the stream position indicator for the stream. More... | |
const byte * | getData () const |
Public Member Functions inherited from Common::SeekableReadStream | |
SeekableReadStream () | |
~SeekableReadStream () | |
virtual size_t | skip (ptrdiff_t offset) |
Skip the specified number of bytes, adding that offset to the current position in the stream. More... | |
Public Member Functions inherited from Common::ReadStream | |
ReadStream () | |
virtual | ~ReadStream () |
byte | readByte () |
Read an unsigned byte from the stream and return it. More... | |
FORCEINLINE int8 | readSByte () |
Read a signed byte from the stream and return it. More... | |
uint32 | readChar () |
Reads the next character from stream and returns it as an unsigned char cast to an uint32, or kEOF on end of file or error. More... | |
uint16 | readUint16LE () |
Read an unsigned 16-bit word stored in little endian (LSB first) order from the stream and return it. More... | |
uint32 | readUint32LE () |
Read an unsigned 32-bit word stored in little endian (LSB first) order from the stream and return it. More... | |
uint64 | readUint64LE () |
Read an unsigned 64-bit word stored in little endian (LSB first) order from the stream and return it. More... | |
uint16 | readUint16BE () |
Read an unsigned 16-bit word stored in big endian (MSB first) order from the stream and return it. More... | |
uint32 | readUint32BE () |
Read an unsigned 32-bit word stored in big endian (MSB first) order from the stream and return it. More... | |
uint64 | readUint64BE () |
Read an unsigned 64-bit word stored in big endian (MSB first) order from the stream and return it. More... | |
FORCEINLINE int16 | readSint16LE () |
Read a signed 16-bit word stored in little endian (LSB first) order from the stream and return it. More... | |
FORCEINLINE int32 | readSint32LE () |
Read a signed 32-bit word stored in little endian (LSB first) order from the stream and return it. More... | |
FORCEINLINE int64 | readSint64LE () |
Read a signed 64-bit word stored in little endian (LSB first) order from the stream and return it. More... | |
FORCEINLINE int16 | readSint16BE () |
Read a signed 16-bit word stored in big endian (MSB first) order from the stream and return it. More... | |
FORCEINLINE int32 | readSint32BE () |
Read a signed 32-bit word stored in big endian (MSB first) order from the stream and return it. More... | |
FORCEINLINE int64 | readSint64BE () |
Read a signed 64-bit word stored in big endian (MSB first) order from the stream and return it. More... | |
FORCEINLINE float | readIEEEFloatLE () |
Read a 32-bit IEEE float stored in little endian (LSB first) order from the stream and return it. More... | |
FORCEINLINE float | readIEEEFloatBE () |
Read a 32-bit IEEE float stored in big endian (MSB first) order from the stream and return it. More... | |
FORCEINLINE double | readIEEEDoubleLE () |
Read a 64-bit IEEE double stored in little endian (LSB first) order from the stream and return it. More... | |
FORCEINLINE double | readIEEEDoubleBE () |
Read a 64-bit IEEE double stored in big endian (MSB first) order from the stream and return it. More... | |
MemoryReadStream * | readStream (size_t dataSize) |
Read the specified amount of data into a new[]'ed buffer which then is wrapped into a MemoryReadStream. More... | |
Private Attributes | |
const bool | _bigEndian |
Additional Inherited Members | |
Public Types inherited from Common::SeekableReadStream | |
enum | Origin { kOriginBegin = 0, kOriginCurrent = 1, kOriginEnd = 2, kOriginMAX } |
The position a seeking offset takes as a base. More... | |
Static Public Member Functions inherited from Common::SeekableReadStream | |
static size_t | evalSeek (ptrdiff_t offset, Origin whence, size_t pos, size_t begin, size_t size) |
Evaluate the seek offset relative to whence into a position from the beginning. More... | |
Static Public Attributes inherited from Common::ReadStream | |
static const uint32 | kEOF = 0xFFFFFFFF |
Return value for end-of-file. More... | |
static const size_t | kSizeInvalid = SIZE_MAX |
static const size_t | kPositionInvalid = SIZE_MAX |
This is a wrapper around MemoryReadStream, but it adds non-endian read methods whose endianness is set on the stream creation.
Definition at line 120 of file memreadstream.h.
Common::MemoryReadStreamEndian::MemoryReadStreamEndian | ( | const byte * | dataPtr, |
size_t | dataSize, | ||
bool | bigEndian = false , |
||
bool | disposeMemory = false |
||
) |
Definition at line 109 of file memreadstream.cpp.
Common::MemoryReadStreamEndian::~MemoryReadStreamEndian | ( | ) |
Definition at line 115 of file memreadstream.cpp.
|
inline |
Definition at line 157 of file memreadstream.h.
References _bigEndian, Common::ReadStream::readIEEEDoubleBE(), and Common::ReadStream::readIEEEDoubleLE().
|
inline |
Definition at line 153 of file memreadstream.h.
References _bigEndian, Common::ReadStream::readIEEEFloatBE(), and Common::ReadStream::readIEEEFloatLE().
|
inline |
Definition at line 141 of file memreadstream.h.
References _bigEndian, Common::ReadStream::readSint16BE(), and Common::ReadStream::readSint16LE().
|
inline |
Definition at line 145 of file memreadstream.h.
References _bigEndian, Common::ReadStream::readSint32BE(), and Common::ReadStream::readSint32LE().
|
inline |
Definition at line 149 of file memreadstream.h.
References _bigEndian, Common::ReadStream::readSint64BE(), and Common::ReadStream::readSint64LE().
|
inline |
Definition at line 129 of file memreadstream.h.
References _bigEndian, Common::ReadStream::readUint16BE(), and Common::ReadStream::readUint16LE().
|
inline |
Definition at line 133 of file memreadstream.h.
References _bigEndian, Common::ReadStream::readUint32BE(), and Common::ReadStream::readUint32LE().
|
inline |
Definition at line 137 of file memreadstream.h.
References _bigEndian, Common::ReadStream::readUint64BE(), and Common::ReadStream::readUint64LE().
|
private |
Definition at line 122 of file memreadstream.h.
Referenced by readIEEEDouble(), readIEEEFloat(), readSint16(), readSint32(), readSint64(), readUint16(), readUint32(), and readUint64().