Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

Engine Class Reference

Engine stream serialization of persistent classes. 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(Exception)
 writes a BaseObject from a reference.
void write (const BaseObject *object) THROWS(Exception)
 writes a BaseObject from a pointer.
void write (int8 i) THROWS(Exception)
void write (uint8 i) THROWS(Exception)
void write (int16 i) THROWS(Exception)
void write (uint16 i) THROWS(Exception)
void write (int32 i) THROWS(Exception)
void write (uint32 i) THROWS(Exception)
void write (float i) THROWS(Exception)
void write (double i) THROWS(Exception)
void write (const String &str) THROWS(Exception)
void write (const std::string &str) THROWS(Exception)
void writeBinary (const uint8 *data, const uint32 size) THROWS(Exception)
void read (BaseObject &object) THROWS(Exception)
 reads a BaseObject into a reference overwriting the object.
void read (BaseObject *&object) THROWS(Exception)
 reads a BaseObject into a pointer allocating memory for the object if necessary.
void read (int8 &i) THROWS(Exception)
void read (uint8 &i) THROWS(Exception)
void read (int16 &i) THROWS(Exception)
void read (uint16 &i) THROWS(Exception)
void read (int32 &i) THROWS(Exception)
void read (uint32 &i) THROWS(Exception)
void read (float &i) THROWS(Exception)
void read (double &i) THROWS(Exception)
void read (String &str) THROWS(Exception)
void read (std::string &str) THROWS(Exception)
void readBinary (uint8 *data, uint32 size) THROWS(Exception)

Related Functions

(Note that these are not member functions.)

template<class T>
__EXPORT Engineoperator>> (Engine &ar, BaseObject &ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, BaseObject *&ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, BaseObject const &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, BaseObject const *ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, int8 &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, int8 ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, uint8 &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, uint8 ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, int16 &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, int16 ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, uint16 &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, uint16 ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, int32 &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, int32 ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, uint32 &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, uint32 ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, float &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, float ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, double &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, double ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, String &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, String ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, std::string &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, std::string ob) THROWS(Engine __EXPORT Engine &operator>>(Engine &ar, bool &ob) THROWS(Engine __EXPORT Engine &operator<< (Engine &ar, bool ob) THROWS(Engine Engine &operator<<(Engine &ar, typename std::vector< T > const &ob) THROWS(Engine
 serialize a vector of some serializable content to the engine
template<class T>
Engineoperator>> (Engine &ar, typename std::vector< T > &ob) THROWS(Engine
 deserialize a vector of deserializable content from an engine.
template<class T>
Engineoperator<< (Engine &ar, typename std::deque< T > const &ob) THROWS(Engine
 serialize a deque of some serializable content to the engine
template<class T>
Engineoperator>> (Engine &ar, typename std::deque< T > &ob) THROWS(Engine
 deserialize a deque of deserializable content from an engine.
template<class Key, class Value>
Engineoperator<< (Engine &ar, typename std::map< Key, Value > const &ob) THROWS(Engine
 serialize a map with keys/values which both are serializeable to an engine.
template<class Key, class Value>
Engineoperator>> (Engine &ar, typename std::map< Key, Value > &ob) THROWS(Engine
 deserialize a map with keys/values which both are serializeable from an engine.


Detailed Description

Engine stream serialization of persistent classes.

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


Member Enumeration Documentation

enum Engine::EngineMode
 

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

Enumeration values:
modeRead 
modeWrite 


Constructor & Destructor Documentation

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 Engine::~Engine  )  [virtual]
 


Member Function Documentation

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

void Engine::read String str  ) 
 

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

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

void Engine::read uint32 i  )  [inline]
 

void Engine::read int32 i  )  [inline]
 

void Engine::read uint16 i  )  [inline]
 

void Engine::read int16 i  )  [inline]
 

void Engine::read uint8 i  )  [inline]
 

void Engine::read int8 i  )  [inline]
 

void Engine::read BaseObject *&  object  ) 
 

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

void Engine::read BaseObject object  ) 
 

reads a BaseObject into a reference overwriting the object.

void Engine::readBinary uint8 data,
uint32  size
 

void Engine::sync  ) 
 

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

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

void Engine::write const String str  ) 
 

void Engine::write double  i  )  [inline]
 

void Engine::write float  i  )  [inline]
 

void Engine::write uint32  i  )  [inline]
 

void Engine::write int32  i  )  [inline]
 

void Engine::write uint16  i  )  [inline]
 

void Engine::write int16  i  )  [inline]
 

void Engine::write uint8  i  )  [inline]
 

void Engine::write int8  i  )  [inline]
 

void Engine::write const BaseObject object  ) 
 

writes a BaseObject from a pointer.

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

writes a BaseObject from a reference.

void Engine::writeBinary const uint8 data,
const uint32  size
 


Friends And Related Function Documentation

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 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.

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

serialize a vector of some serializable content to the engine


The documentation for this class was generated from the following file:
Generated on Tue Jan 18 14:32:37 2005 for GNU CommonC++ by  doxygen 1.3.9.1