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, bool compress=true) throw ( 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.
bool more ()
 This says there are more objects to deserialize.
virtual ~Engine ()
void write (const BaseObject &object) throw ( PersistException )
 writes a BaseObject from a reference.
void write (const BaseObject *object) throw ( PersistException )
 writes a BaseObject from a pointer.
void write (int8 i) throw ( PersistException )
void write (uint8 i) throw ( PersistException )
void write (int16 i) throw ( PersistException )
void write (uint16 i) throw ( PersistException )
void write (int32 i) throw ( PersistException )
void write (uint32 i) throw ( PersistException )
void write (int64 i) throw ( PersistException )
void write (uint64 i) throw ( PersistException )
void write (float i) throw ( PersistException )
void write (double i) throw ( PersistException )
void write (const String &str) throw ( PersistException )
void write (const std::string &str) throw ( PersistException )
void writeBinary (const uint8 *data, const uint32 size) throw ( PersistException )
void read (BaseObject &object) throw ( PersistException )
 reads a BaseObject into a reference overwriting the object.
void read (BaseObject *&object) throw ( PersistException )
 reads a BaseObject into a pointer allocating memory for the object if necessary.
void read (int8 &i) throw ( PersistException )
void read (uint8 &i) throw ( PersistException )
void read (int16 &i) throw ( PersistException )
void read (uint16 &i) throw ( PersistException )
void read (int32 &i) throw ( PersistException )
void read (uint32 &i) throw ( PersistException )
void read (int64 &i) throw ( PersistException )
void read (uint64 &i) throw ( PersistException )
void read (float &i) throw ( PersistException )
void read (double &i) throw ( PersistException )
void read (String &str) throw ( PersistException )
void read (std::string &str) throw ( PersistException )
void readBinary (uint8 *data, uint32 size) throw ( PersistException )

Related Functions

(Note that these are not member functions.)



Engine & operator>> (Engine &ar, BaseObject &ob) throw(PersistException)
Engine & operator>> (Engine &ar, BaseObject *&ob) throw(PersistException)
Engine & operator<< (Engine &ar, BaseObject const &ob) throw(PersistException)
Engine & operator<< (Engine &ar, BaseObject const *ob) throw(PersistException)
Engine & operator>> (Engine &ar, int8 &ob) throw(PersistException)
Engine & operator<< (Engine &ar, int8 ob) throw(PersistException)
Engine & operator>> (Engine &ar, uint8 &ob) throw(PersistException)
Engine & operator<< (Engine &ar, uint8 ob) throw(PersistException)
Engine & operator>> (Engine &ar, int16 &ob) throw(PersistException)
Engine & operator<< (Engine &ar, int16 ob) throw(PersistException)
Engine & operator>> (Engine &ar, uint16 &ob) throw(PersistException)
Engine & operator<< (Engine &ar, uint16 ob) throw(PersistException)
Engine & operator>> (Engine &ar, int32 &ob) throw(PersistException)
Engine & operator<< (Engine &ar, int32 ob) throw(PersistException)
Engine & operator>> (Engine &ar, uint32 &ob) throw(PersistException)
Engine & operator<< (Engine &ar, uint32 ob) throw(PersistException)
Engine & operator>> (Engine &ar, int64 &ob) throw(PersistException)
Engine & operator<< (Engine &ar, int64 ob) throw(PersistException)
Engine & operator>> (Engine &ar, uint64 &ob) throw(PersistException)
Engine & operator<< (Engine &ar, uint64 ob) throw(PersistException)
Engine & operator>> (Engine &ar, float &ob) throw(PersistException)
Engine & operator<< (Engine &ar, float ob) throw(PersistException)
Engine & operator>> (Engine &ar, double &ob) throw(PersistException)
Engine & operator<< (Engine &ar, double ob) throw(PersistException)
Engine & operator>> (Engine &ar, String &ob) throw(PersistException)
Engine & operator<< (Engine &ar, String ob) throw(PersistException)
Engine & operator>> (Engine &ar, std::string &ob) throw(PersistException)
Engine & operator<< (Engine &ar, std::string ob) throw(PersistException)
Engine & operator>> (Engine &ar, bool &ob) throw(PersistException)
Engine & operator<< (Engine &ar, bool ob) throw(PersistException)
template<class T >
Engine & operator<< (Engine &ar, typename std::vector< T > const &ob) throw(PersistException)
 The following are templated classes.
template<class T >
Engine & operator>> (Engine &ar, typename std::vector< T > &ob) throw(PersistException)
template<class T >
Engine & operator<< (Engine &ar, typename std::deque< T > const &ob) throw(PersistException)
template<class T >
Engine & operator>> (Engine &ar, typename std::deque< T > &ob) throw(PersistException)
template<class Key , class Value >
Engine & operator<< (Engine &ar, typename std::map< Key, Value > const &ob) throw(PersistException)
template<class Key , class Value >
Engine & operator>> (Engine &ar, typename std::map< Key, Value > &ob) throw(PersistException)
template<class x , class y >
Engine & operator<< (Engine &ar, std::pair< x, y > &ob) throw(PersistException)
template<class x , class y >
Engine & operator>> (Engine &ar, std::pair< x, y > &ob) throw(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,
bool  compress = true 
) throw ( PersistException )

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. If built using zlib compress can be used to enable compression

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

Member Function Documentation

bool ost::Engine::more (  ) 

This says there are more objects to deserialize.

void ost::Engine::read ( std::string &  str  )  throw ( PersistException )
void ost::Engine::read ( String &  str  )  throw ( PersistException )
void ost::Engine::read ( double &  i  )  throw ( PersistException ) [inline]

References CCXX_ENGINEREAD_REF.

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

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( uint64 &  i  )  throw ( PersistException ) [inline]

References CCXX_ENGINEREAD_REF.

void ost::Engine::read ( int64 &  i  )  throw ( PersistException ) [inline]

References CCXX_ENGINEREAD_REF.

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

References CCXX_ENGINEREAD_REF.

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

References CCXX_ENGINEREAD_REF.

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

References CCXX_ENGINEREAD_REF.

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

References CCXX_ENGINEREAD_REF.

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

References CCXX_ENGINEREAD_REF.

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

References CCXX_ENGINEREAD_REF.

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

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

void ost::Engine::read ( BaseObject &  object  )  throw ( PersistException )

reads a BaseObject into a reference overwriting the object.

void ost::Engine::readBinary ( uint8 *  data,
uint32  size 
) throw ( PersistException )
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  )  throw ( PersistException )
void ost::Engine::write ( const String &  str  )  throw ( PersistException )
void ost::Engine::write ( double  i  )  throw ( PersistException ) [inline]

References CCXX_ENGINEWRITE_REF.

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

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( uint64  i  )  throw ( PersistException ) [inline]

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( int64  i  )  throw ( PersistException ) [inline]

References CCXX_ENGINEWRITE_REF.

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

References CCXX_ENGINEWRITE_REF.

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

References CCXX_ENGINEWRITE_REF.

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

References CCXX_ENGINEWRITE_REF.

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

References CCXX_ENGINEWRITE_REF.

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

References CCXX_ENGINEWRITE_REF.

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

References CCXX_ENGINEWRITE_REF.

void ost::Engine::write ( const BaseObject *  object  )  throw ( PersistException )

writes a BaseObject from a pointer.

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

writes a BaseObject from a reference.

References write().

Referenced by write().

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

Friends And Related Function Documentation

template<class x , class y >
Engine & operator<< ( Engine &  ar,
std::pair< x, y > &  ob 
) throw(PersistException) [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 
) throw(PersistException) [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 
) throw(PersistException) [related]

serialize a deque of some serializable content to the engine

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

The following are templated classes.

serialize a vector of some serializable content to the engine

Engine & operator<< ( Engine &  ar,
bool  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
std::string  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
String  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
double  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
float  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
uint64  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
int64  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
uint32  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
int32  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
uint16  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
int16  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
uint8  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
int8  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
BaseObject const *  ob 
) throw(PersistException) [related]
Engine & operator<< ( Engine &  ar,
BaseObject const &  ob 
) throw(PersistException) [related]
template<class x , class y >
Engine & operator>> ( Engine &  ar,
std::pair< x, y > &  ob 
) throw(PersistException) [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 
) throw(PersistException) [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 
) throw(PersistException) [related]

deserialize a deque of deserializable content from an engine.

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

deserialize a vector of deserializable content from an engine.

Engine & operator>> ( Engine &  ar,
bool &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
std::string &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
String &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
double &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
float &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
uint64 &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
int64 &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
uint32 &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
int32 &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
uint16 &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
int16 &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
uint8 &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
int8 &  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
BaseObject *&  ob 
) throw(PersistException) [related]
Engine & operator>> ( Engine &  ar,
BaseObject &  ob 
) throw(PersistException) [related]

The documentation for this class was generated from the following file:
Generated on Thu Jul 22 16:28:52 2010 for GNU CommonC++ by  doxygen 1.6.3