ost::Engine Class Reference

Engine. More...

#include <persist.h>

List of all members.

Public Types

enum  EngineMode { modeRead, modeWrite }
 These are the modes the Persistence::Engine can work in. More...

Public Member Functions

 Engine (std::iostream &stream, EngineMode mode) THROWS(PersistException)
 Constructs a Persistence::Engine with the specified stream in the given mode.
void sync ()
 This Flushes the buffers and closes the Persistence::Engine this must happen before the underlying stream is shut down.
virtual ~Engine ()
void write (const BaseObject &object) THROWS(PersistException)
 writes a BaseObject from a reference.
void write (const BaseObject *object) THROWS(PersistException)
 writes a BaseObject from a pointer.
void write (int8 i) THROWS(PersistException)
void write (uint8 i) THROWS(PersistException)
void write (int16 i) THROWS(PersistException)
void write (uint16 i) THROWS(PersistException)
void write (int32 i) THROWS(PersistException)
void write (uint32 i) THROWS(PersistException)
void write (float i) THROWS(PersistException)
void write (double i) THROWS(PersistException)
void write (const String &str) THROWS(PersistException)
void write (const std::string &str) THROWS(PersistException)
void writeBinary (const uint8 *data, const uint32 size) THROWS(PersistException)
void read (BaseObject &object) THROWS(PersistException)
 reads a BaseObject into a reference overwriting the object.
void read (BaseObject *&object) THROWS(PersistException)
 reads a BaseObject into a pointer allocating memory for the object if necessary.
void read (int8 &i) THROWS(PersistException)
void read (uint8 &i) THROWS(PersistException)
void read (int16 &i) THROWS(PersistException)
void read (uint16 &i) THROWS(PersistException)
void read (int32 &i) THROWS(PersistException)
void read (uint32 &i) THROWS(PersistException)
void read (float &i) THROWS(PersistException)
void read (double &i) THROWS(PersistException)
void read (String &str) THROWS(PersistException)
void read (std::string &str) THROWS(PersistException)
void readBinary (uint8 *data, uint32 size) THROWS(PersistException)

Related Functions

(Note that these are not member functions.)

__EXPORT Engineoperator>> (Engine &ar, BaseObject &ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, BaseObject *&ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, BaseObject const &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, BaseObject const *ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, int8 &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, int8 ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, uint8 &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, uint8 ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, int16 &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, int16 ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, uint16 &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, uint16 ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, int32 &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, int32 ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, uint32 &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, uint32 ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, float &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, float ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, double &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, double ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, String &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, String ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, std::string &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, std::string ob) THROWS(PersistException)
__EXPORT Engineoperator>> (Engine &ar, bool &ob) THROWS(PersistException)
__EXPORT Engineoperator<< (Engine &ar, bool ob) THROWS(PersistException)
template<class T >
Engineoperator<< (Engine &ar, typename std::vector< T > const &ob) THROWS(PersistException)
 The following are templated classes.
template<class T >
Engineoperator>> (Engine &ar, typename std::vector< T > &ob) THROWS(PersistException)
template<class T >
Engineoperator<< (Engine &ar, typename std::deque< T > const &ob) THROWS(PersistException)
template<class T >
Engineoperator>> (Engine &ar, typename std::deque< T > &ob) THROWS(PersistException)
template<class Key , class Value >
Engineoperator<< (Engine &ar, typename std::map< Key, Value > const &ob) THROWS(PersistException)
template<class Key , class Value >
Engineoperator>> (Engine &ar, typename std::map< Key, Value > &ob) THROWS(PersistException)
template<class x , class y >
Engineoperator<< (Engine &ar, std::pair< x, y > &ob) THROWS(PersistException)
template<class x , class y >
Engineoperator>> (Engine &ar, std::pair< x, y > &ob) THROWS(PersistException)


Detailed Description

Engine.

This class constructs on a standard C++ STL stream and then operates in the mode specified. The stream passed into the constructor must be a binary mode to function properly.

Author:
Daniel Silverstone stream serialization of persistent classes.

Member Enumeration Documentation

These are the modes the Persistence::Engine can work in.

Enumerator:
modeRead 
modeWrite 


Constructor & Destructor Documentation

ost::Engine::Engine ( std::iostream &  stream,
EngineMode  mode 
)

Constructs a Persistence::Engine with the specified stream in the given mode.

The stream must be initialised properly prior to this call or problems will ensue.

virtual ost::Engine::~Engine (  )  [virtual]


Member Function Documentation

void ost::Engine::read ( std::string &  str  ) 

void ost::Engine::read ( String str  ) 

void ost::Engine::read ( double &  i  )  [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( float &  i  )  [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( uint32 i  )  [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( int32 i  )  [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( uint16 i  )  [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( int16 i  )  [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( uint8 i  )  [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( int8 i  )  [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( BaseObject *&  object  ) 

reads a BaseObject into a pointer allocating memory for the object if necessary.

void ost::Engine::read ( BaseObject object  ) 

reads a BaseObject into a reference overwriting the object.

void ost::Engine::readBinary ( uint8 data,
uint32  size 
)

void ost::Engine::sync (  ) 

This Flushes the buffers and closes the Persistence::Engine this must happen before the underlying stream is shut down.

void ost::Engine::write ( const std::string &  str  ) 

void ost::Engine::write ( const String str  ) 

void ost::Engine::write ( double  i  )  [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( float  i  )  [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( uint32  i  )  [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( int32  i  )  [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( uint16  i  )  [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( int16  i  )  [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( uint8  i  )  [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( int8  i  )  [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( const BaseObject object  ) 

writes a BaseObject from a pointer.

void ost::Engine::write ( const BaseObject object  )  [inline]

writes a BaseObject from a reference.

References write().

Referenced by write().

void ost::Engine::writeBinary ( const uint8 data,
const uint32  size 
)


Friends And Related Function Documentation

template<class x , class y >
Engine & operator<< ( Engine ar,
std::pair< x, y > &  ob 
) [related]

serialize a pair of some serializable content to the engine.

template<class Key , class Value >
Engine & operator<< ( Engine ar,
typename std::map< Key, Value > const &  ob 
) [related]

serialize a map with keys/values which both are serializeable to an engine.

template<class T >
Engine & operator<< ( Engine ar,
typename std::deque< T > const &  ob 
) [related]

serialize a deque of some serializable content to the engine

template<class T >
Engine & operator<< ( Engine ar,
typename std::vector< T > const &  ob 
) [related]

The following are templated classes.

serialize a vector of some serializable content to the engine

__EXPORT Engine & operator<< ( Engine ar,
bool  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
std::string  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
String  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
double  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
float  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
uint32  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
int32  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
uint16  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
int16  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
uint8  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
int8  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
BaseObject const *  ob 
) [related]

__EXPORT Engine & operator<< ( Engine ar,
BaseObject const &  ob 
) [related]

template<class x , class y >
Engine & operator>> ( Engine ar,
std::pair< x, y > &  ob 
) [related]

deserialize a pair of some serializable content to the engine.

template<class Key , class Value >
Engine & operator>> ( Engine ar,
typename std::map< Key, Value > &  ob 
) [related]

deserialize a map with keys/values which both are serializeable from an engine.

template<class T >
Engine & operator>> ( Engine ar,
typename std::deque< T > &  ob 
) [related]

deserialize a deque of deserializable content from an engine.

template<class T >
Engine & operator>> ( Engine ar,
typename std::vector< T > &  ob 
) [related]

deserialize a vector of deserializable content from an engine.

__EXPORT Engine & operator>> ( Engine ar,
bool &  ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
std::string &  ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
String ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
double &  ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
float &  ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
uint32 ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
int32 ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
uint16 ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
int16 ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
uint8 ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
int8 ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
BaseObject *&  ob 
) [related]

__EXPORT Engine & operator>> ( Engine ar,
BaseObject ob 
) [related]


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

Generated on Sat May 16 22:57:38 2009 for GNU CommonC++ by  doxygen 1.5.8