OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::Serializer Class Reference

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

#include <OgreSerializer.h>

+ Inheritance diagram for Ogre::Serializer:
+ Collaboration diagram for Ogre::Serializer:

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 backpedalChunkHeader (DataStreamPtr &stream)
 
virtual size_t calcChunkHeaderSize ()
 
size_t calcStringSize (const String &string)
 
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)
 
virtual void popInnerChunk (const DataStreamPtr &stream)
 
virtual void pushInnerChunk (const DataStreamPtr &stream)
 
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 52 of file OgreSerializer.h.

Member Enumeration Documentation

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 59 of file OgreSerializer.h.

Constructor & Destructor Documentation

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

Member Function Documentation

virtual void Ogre::Serializer::backpedalChunkHeader ( DataStreamPtr stream)
protectedvirtual
virtual size_t Ogre::Serializer::calcChunkHeaderSize ( )
protectedvirtual
size_t Ogre::Serializer::calcStringSize ( const String string)
protected
virtual void Ogre::Serializer::determineEndianness ( DataStreamPtr stream)
protectedvirtual

Determine the endianness of the incoming stream compared to native.

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

Determine the endianness to write with based on option.

virtual void Ogre::Serializer::flipEndian ( void *  pData,
size_t  size,
size_t  count 
)
protectedvirtual
virtual void Ogre::Serializer::flipEndian ( void *  pData,
size_t  size 
)
protectedvirtual
virtual void Ogre::Serializer::flipFromLittleEndian ( void *  pData,
size_t  size,
size_t  count = 1 
)
protectedvirtual
virtual void Ogre::Serializer::flipToLittleEndian ( void *  pData,
size_t  size,
size_t  count = 1 
)
protectedvirtual
template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

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

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

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

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

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

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

virtual void Ogre::Serializer::popInnerChunk ( const DataStreamPtr stream)
protectedvirtual
virtual void Ogre::Serializer::pushInnerChunk ( const DataStreamPtr stream)
protectedvirtual
void Ogre::Serializer::readBools ( DataStreamPtr stream,
bool *  pDest,
size_t  count 
)
protected
virtual unsigned short Ogre::Serializer::readChunk ( DataStreamPtr stream)
protectedvirtual
virtual void Ogre::Serializer::readFileHeader ( DataStreamPtr stream)
protectedvirtual

Reimplemented in Ogre::SkeletonSerializer.

void Ogre::Serializer::readFloats ( DataStreamPtr stream,
float *  pDest,
size_t  count 
)
protected
void Ogre::Serializer::readFloats ( DataStreamPtr stream,
double *  pDest,
size_t  count 
)
protected
void Ogre::Serializer::readInts ( DataStreamPtr stream,
uint32 pDest,
size_t  count 
)
protected
void Ogre::Serializer::readObject ( DataStreamPtr stream,
Vector3 pDest 
)
protected
void Ogre::Serializer::readObject ( DataStreamPtr stream,
Quaternion pDest 
)
protected
void Ogre::Serializer::readShorts ( DataStreamPtr stream,
uint16 pDest,
size_t  count 
)
protected
String Ogre::Serializer::readString ( DataStreamPtr stream)
protected
String Ogre::Serializer::readString ( DataStreamPtr stream,
size_t  numChars 
)
protected
void Ogre::Serializer::writeBools ( const bool *const  pLong,
size_t  count 
)
protected
virtual void Ogre::Serializer::writeChunkHeader ( uint16  id,
size_t  size 
)
protectedvirtual
void Ogre::Serializer::writeData ( const void *const  buf,
size_t  size,
size_t  count 
)
protected
virtual void Ogre::Serializer::writeFileHeader ( void  )
protectedvirtual

Default to native endian, derive from header.

void Ogre::Serializer::writeFloats ( const float *const  pfloat,
size_t  count 
)
protected
void Ogre::Serializer::writeFloats ( const double *const  pfloat,
size_t  count 
)
protected
void Ogre::Serializer::writeInts ( const uint32 *const  pInt,
size_t  count 
)
protected
void Ogre::Serializer::writeObject ( const Vector3 vec)
protected
void Ogre::Serializer::writeObject ( const Quaternion q)
protected
void Ogre::Serializer::writeShorts ( const uint16 *const  pShort,
size_t  count 
)
protected
void Ogre::Serializer::writeString ( const String string)
protected

Member Data Documentation

uint32 Ogre::Serializer::mCurrentstreamLen
protected

Definition at line 72 of file OgreSerializer.h.

bool Ogre::Serializer::mFlipEndian
protected

Definition at line 75 of file OgreSerializer.h.

DataStreamPtr Ogre::Serializer::mStream
protected

Definition at line 73 of file OgreSerializer.h.

String Ogre::Serializer::mVersion
protected

Definition at line 74 of file OgreSerializer.h.


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