Ogre::Serializer Class Reference
Core » General

Generic class for serialising data to / from binary stream-based files. More...

`#include <OgreSerializer.h>`

Inheritance diagram for Ogre::Serializer:
[legend]

## Public Types

enum | Endian { ENDIAN_NATIVE, ENDIAN_BIG, ENDIAN_LITTLE }
| The endianness of written files. More...

## Public Member Functions

| Serializer ()
virtual | ~Serializer ()
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info More...
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
void * | operator new[] (size_t sz)

## Protected Member Functions

virtual void | determineEndianness (DataStreamPtr &stream)
| Determine the endianness of the incoming stream compared to native. More...
virtual void | determineEndianness (Endian requestedEndian)
| Determine the endianness to write with based on option. More...
virtual void | flipEndian (void *pData, size_t size, size_t count)
virtual void | flipEndian (void *pData, size_t size)
virtual void | flipFromLittleEndian (void *pData, size_t size, size_t count=1)
virtual void | flipToLittleEndian (void *pData, size_t size, size_t count=1)
void | readBools (DataStreamPtr &stream, bool *pDest, size_t count)
virtual unsigned short | readChunk (DataStreamPtr &stream)
virtual void | readFileHeader (DataStreamPtr &stream)
void | readFloats (DataStreamPtr &stream, float *pDest, size_t count)
void | readFloats (DataStreamPtr &stream, double *pDest, size_t count)
void | readInts (DataStreamPtr &stream, uint32 *pDest, size_t count)
void | readObject (DataStreamPtr &stream, Vector3 &pDest)
void | readObject (DataStreamPtr &stream, Quaternion &pDest)
void | readShorts (DataStreamPtr &stream, uint16 *pDest, size_t count)
String | readString (DataStreamPtr &stream)
String | readString (DataStreamPtr &stream, size_t numChars)
void | writeBools (const bool *const pLong, size_t count)
virtual void | writeChunkHeader (uint16 id, size_t size)
void | writeData (const void *const buf, size_t size, size_t count)
virtual void | writeFileHeader (void)
| Default to native endian, derive from header. More...
void | writeFloats (const float *const pfloat, size_t count)
void | writeFloats (const double *const pfloat, size_t count)
void | writeInts (const uint32 *const pInt, size_t count)
void | writeObject (const Vector3 &vec)
void | writeObject (const Quaternion &q)
void | writeShorts (const uint16 *const pShort, size_t count)
void | writeString (const String &string)

## Protected Attributes

uint32 | mCurrentstreamLen
bool | mFlipEndian
DataStreamPtr | mStream
String | mVersion

## Detailed Description

Generic class for serialising data to / from binary stream-based files.

Remarks
  This class provides a number of useful methods for exporting / importing data from stream-oriented binary files (e.g. .mesh and .skeleton).

Definition at line 50 of file OgreSerializer.h.

## Member Enumeration Documentation

## Endian

enum Ogre::Serializer::Endian

The endianness of written files.

Enumerator
ENDIAN_NATIVE | Use the platform native endian.
ENDIAN_BIG | Use big endian (0x1000 is serialised as 0x10 0x00)
ENDIAN_LITTLE | Use little endian (0x1000 is serialised as 0x00 0x10)

Definition at line 57 of file OgreSerializer.h.

## Constructor & Destructor Documentation

## Serializer()

Ogre::Serializer::Serializer | ( |  | ) |

## ~Serializer()

virtual Ogre::Serializer::~Serializer | ( |  | ) |

virtual

## Member Function Documentation

## determineEndianness() [1/2]

virtual void Ogre::Serializer::determineEndianness | ( | DataStreamPtr & | stream | ) |

protected virtual

Determine the endianness of the incoming stream compared to native.

## determineEndianness() [2/2]

virtual void Ogre::Serializer::determineEndianness | ( | Endian | requestedEndian | ) |

protected virtual

Determine the endianness to write with based on option.

## flipEndian() [1/2]

virtual void Ogre::Serializer::flipEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count
| ) |  |

protected virtual

## flipEndian() [2/2]

virtual void Ogre::Serializer::flipEndian | ( | void * | pData,
|  | size_t | size
| ) |  |

protected virtual

## flipFromLittleEndian()

virtual void Ogre::Serializer::flipFromLittleEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count = `1`
| ) |  |

protected virtual

## flipToLittleEndian()

virtual void Ogre::Serializer::flipToLittleEndian | ( | void * | pData,
|  | size_t | size,
|  | size_t | count = `1`
| ) |  |

protected virtual

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) |

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## readBools()

void Ogre::Serializer::readBools | ( | DataStreamPtr & | stream,
|  | bool * | pDest,
|  | size_t | count
| ) |  |

protected

## readChunk()

virtual unsigned short Ogre::Serializer::readChunk | ( | DataStreamPtr & | stream | ) |

protected virtual

## readFileHeader()

virtual void Ogre::Serializer::readFileHeader | ( | DataStreamPtr & | stream | ) |

protected virtual

Reimplemented in Ogre::SkeletonSerializer.

## readFloats() [1/2]

void Ogre::Serializer::readFloats | ( | DataStreamPtr & | stream,
|  | float * | pDest,
|  | size_t | count
| ) |  |

protected

## readFloats() [2/2]

void Ogre::Serializer::readFloats | ( | DataStreamPtr & | stream,
|  | double * | pDest,
|  | size_t | count
| ) |  |

protected

## readInts()

void Ogre::Serializer::readInts | ( | DataStreamPtr & | stream,
|  | uint32 * | pDest,
|  | size_t | count
| ) |  |

protected

## readObject() [1/2]

void Ogre::Serializer::readObject | ( | DataStreamPtr & | stream,
|  | Vector3 & | pDest
| ) |  |

protected

## readObject() [2/2]

void Ogre::Serializer::readObject | ( | DataStreamPtr & | stream,
|  | Quaternion & | pDest
| ) |  |

protected

## readShorts()

void Ogre::Serializer::readShorts | ( | DataStreamPtr & | stream,
|  | uint16 * | pDest,
|  | size_t | count
| ) |  |

protected

## readString() [1/2]

String Ogre::Serializer::readString | ( | DataStreamPtr & | stream | ) |

protected

## readString() [2/2]

String Ogre::Serializer::readString | ( | DataStreamPtr & | stream,
|  | size_t | numChars
| ) |  |

protected

## writeBools()

void Ogre::Serializer::writeBools | ( | const bool *const | pLong,
|  | size_t | count
| ) |  |

protected

## writeChunkHeader()

virtual void Ogre::Serializer::writeChunkHeader | ( | uint16 | id,
|  | size_t | size
| ) |  |

protected virtual

## writeData()

void Ogre::Serializer::writeData | ( | const void *const | buf,
|  | size_t | size,
|  | size_t | count
| ) |  |

protected

## writeFileHeader()

virtual void Ogre::Serializer::writeFileHeader | ( | void |  | ) |

protected virtual

Default to native endian, derive from header.

## writeFloats() [1/2]

void Ogre::Serializer::writeFloats | ( | const float *const | pfloat,
|  | size_t | count
| ) |  |

protected

## writeFloats() [2/2]

void Ogre::Serializer::writeFloats | ( | const double *const | pfloat,
|  | size_t | count
| ) |  |

protected

## writeInts()

void Ogre::Serializer::writeInts | ( | const uint32 *const | pInt,
|  | size_t | count
| ) |  |

protected

## writeObject() [1/2]

void Ogre::Serializer::writeObject | ( | const Vector3 & | vec | ) |

protected

## writeObject() [2/2]

void Ogre::Serializer::writeObject | ( | const Quaternion & | q | ) |

protected

## writeShorts()

void Ogre::Serializer::writeShorts | ( | const uint16 *const | pShort,
|  | size_t | count
| ) |  |

protected

## writeString()

void Ogre::Serializer::writeString | ( | const String & | string | ) |

protected

## Member Data Documentation

## mCurrentstreamLen

uint32 Ogre::Serializer::mCurrentstreamLen

protected

Definition at line 70 of file OgreSerializer.h.

## mFlipEndian

bool Ogre::Serializer::mFlipEndian

protected

Definition at line 73 of file OgreSerializer.h.

## mStream

DataStreamPtr Ogre::Serializer::mStream

protected

Definition at line 71 of file OgreSerializer.h.

## mVersion

String Ogre::Serializer::mVersion

protected

Definition at line 72 of file OgreSerializer.h.

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

- OgreSerializer.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.