29#ifndef __Serializer_H__
30#define __Serializer_H__
88 void writeData(
const void*
const buf,
size_t size,
size_t count);
107 virtual void flipEndian(
void * pData,
size_t size,
size_t count);
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Implementation of a Quaternion, i.e.
Generic class for serialising data to / from binary stream-based files.
void writeFloats(const double *const pfloat, size_t count)
void readObject(DataStreamPtr &stream, Quaternion &pDest)
void readObject(DataStreamPtr &stream, Vector3 &pDest)
String readString(DataStreamPtr &stream)
void writeObject(const Quaternion &q)
virtual unsigned short readChunk(DataStreamPtr &stream)
void readFloats(DataStreamPtr &stream, float *pDest, size_t count)
void writeData(const void *const buf, size_t size, size_t count)
virtual void flipEndian(void *pData, size_t size, size_t count)
void writeBools(const bool *const pLong, size_t count)
Endian
The endianness of written files.
@ ENDIAN_BIG
Use big endian (0x1000 is serialised as 0x10 0x00)
@ ENDIAN_NATIVE
Use the platform native endian.
virtual void flipFromLittleEndian(void *pData, size_t size, size_t count=1)
void writeString(const String &string)
virtual void readFileHeader(DataStreamPtr &stream)
virtual void determineEndianness(Endian requestedEndian)
Determine the endianness to write with based on option.
virtual void flipToLittleEndian(void *pData, size_t size, size_t count=1)
virtual void writeFileHeader(void)
Default to native endian, derive from header.
void writeInts(const uint32 *const pInt, size_t count)
virtual void flipEndian(void *pData, size_t size)
void readInts(DataStreamPtr &stream, uint32 *pDest, size_t count)
virtual void determineEndianness(DataStreamPtr &stream)
Determine the endianness of the incoming stream compared to native.
void readBools(DataStreamPtr &stream, bool *pDest, size_t count)
void readShorts(DataStreamPtr &stream, uint16 *pDest, size_t count)
String readString(DataStreamPtr &stream, size_t numChars)
void writeObject(const Vector3 &vec)
void writeShorts(const uint16 *const pShort, size_t count)
void writeFloats(const float *const pfloat, size_t count)
void readFloats(DataStreamPtr &stream, double *pDest, size_t count)
virtual void writeChunkHeader(uint16 id, size_t size)
Standard 3-dimensional vector.