GNU CommonC++
ost::Engine Class Reference

Engine. More...

#include <persist.h>

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) 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.
 
bool more ()
 This says there are more objects to deserialize.
 
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 Symbols

(Note that these are not member symbols.)

__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)
 deserialize a vector of deserializable content from an engine.
 
template<class T>
Engineoperator<< (Engine &ar, typename std::deque< T > const &ob) THROWS(PersistException)
 serialize a deque of some serializable content to the engine
 
template<class T>
Engineoperator>> (Engine &ar, typename std::deque< T > &ob) THROWS(PersistException)
 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(PersistException)
 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(PersistException)
 deserialize a map with keys/values which both are serializeable from an engine.
 
template<class x, class y>
Engineoperator<< (Engine &ar, std::pair< x, y > &ob) THROWS(PersistException)
 serialize a pair of some serializable content to the engine.
 
template<class x, class y>
Engineoperator>> (Engine &ar, std::pair< x, y > &ob) THROWS(PersistException)
 deserialize a pair of some serializable content to the engine.
 

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

◆ EngineMode

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

Enumerator
modeRead 
modeWrite 

Constructor & Destructor Documentation

◆ Engine()

ost::Engine::Engine ( std::iostream & stream,
EngineMode mode,
bool compress = true )

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

References THROWS.

Referenced by operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), operator>>(), and ~Engine().

◆ ~Engine()

virtual ost::Engine::~Engine ( )
virtual

References Engine().

Member Function Documentation

◆ more()

bool ost::Engine::more ( )

This says there are more objects to deserialize.

References more().

Referenced by more().

◆ read() [1/12]

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

reads a BaseObject into a reference overwriting the object.

◆ read() [2/12]

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

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

◆ read() [3/12]

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

References CCXX_ENGINEREAD_REF.

◆ read() [4/12]

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

References CCXX_ENGINEREAD_REF.

◆ read() [5/12]

void ost::Engine::read ( int16 & i)
inline

References CCXX_ENGINEREAD_REF.

◆ read() [6/12]

void ost::Engine::read ( int32 & i)
inline

References CCXX_ENGINEREAD_REF.

◆ read() [7/12]

void ost::Engine::read ( int8 & i)
inline

References CCXX_ENGINEREAD_REF.

◆ read() [8/12]

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

◆ read() [9/12]

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

◆ read() [10/12]

void ost::Engine::read ( uint16 & i)
inline

References CCXX_ENGINEREAD_REF.

◆ read() [11/12]

void ost::Engine::read ( uint32 & i)
inline

References CCXX_ENGINEREAD_REF.

◆ read() [12/12]

void ost::Engine::read ( uint8 & i)
inline

References CCXX_ENGINEREAD_REF.

◆ readBinary()

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

References THROWS.

◆ sync()

void ost::Engine::sync ( )

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

References sync().

Referenced by sync().

◆ write() [1/12]

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

writes a BaseObject from a reference.

References THROWS, and write().

Referenced by write().

◆ write() [2/12]

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

writes a BaseObject from a pointer.

◆ write() [3/12]

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

◆ write() [4/12]

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

◆ write() [5/12]

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

References CCXX_ENGINEWRITE_REF.

◆ write() [6/12]

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

References CCXX_ENGINEWRITE_REF.

◆ write() [7/12]

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

References CCXX_ENGINEWRITE_REF.

◆ write() [8/12]

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

References CCXX_ENGINEWRITE_REF.

◆ write() [9/12]

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

References CCXX_ENGINEWRITE_REF.

◆ write() [10/12]

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

References CCXX_ENGINEWRITE_REF.

◆ write() [11/12]

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

References CCXX_ENGINEWRITE_REF.

◆ write() [12/12]

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

References CCXX_ENGINEWRITE_REF.

◆ writeBinary()

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

Friends And Related Symbol Documentation

◆ operator<<() [1/17]

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

References __EXPORT, and Engine().

◆ operator<<() [2/17]

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

References __EXPORT, and Engine().

◆ operator<<() [3/17]

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

References __EXPORT, and Engine().

◆ operator<<() [4/17]

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

References __EXPORT, and Engine().

◆ operator<<() [5/17]

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

References __EXPORT, and Engine().

◆ operator<<() [6/17]

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

References __EXPORT, and Engine().

◆ operator<<() [7/17]

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

References __EXPORT, and Engine().

◆ operator<<() [8/17]

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

References __EXPORT, and Engine().

◆ operator<<() [9/17]

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.

References Engine().

◆ operator<<() [10/17]

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

References __EXPORT, and Engine().

◆ operator<<() [11/17]

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

References __EXPORT, and Engine().

◆ operator<<() [12/17]

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

serialize a deque of some serializable content to the engine

References Engine().

◆ operator<<() [13/17]

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.

References Engine().

◆ operator<<() [14/17]

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

References Engine().

◆ operator<<() [15/17]

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

References __EXPORT, and Engine().

◆ operator<<() [16/17]

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

References __EXPORT, and Engine().

◆ operator<<() [17/17]

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

References __EXPORT, and Engine().

◆ operator>>() [1/17]

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

References __EXPORT, and Engine().

◆ operator>>() [2/17]

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

References __EXPORT, and Engine().

◆ operator>>() [3/17]

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

References __EXPORT, and Engine().

◆ operator>>() [4/17]

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

References __EXPORT, and Engine().

◆ operator>>() [5/17]

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

References __EXPORT, and Engine().

◆ operator>>() [6/17]

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

References __EXPORT, and Engine().

◆ operator>>() [7/17]

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

References __EXPORT, and Engine().

◆ operator>>() [8/17]

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

References __EXPORT, and Engine().

◆ operator>>() [9/17]

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.

References Engine().

◆ operator>>() [10/17]

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

References __EXPORT, and Engine().

◆ operator>>() [11/17]

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

References __EXPORT, and Engine().

◆ operator>>() [12/17]

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

deserialize a deque of deserializable content from an engine.

References Engine().

◆ operator>>() [13/17]

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.

References Engine().

◆ operator>>() [14/17]

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

deserialize a vector of deserializable content from an engine.

References Engine().

◆ operator>>() [15/17]

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

References __EXPORT, and Engine().

◆ operator>>() [16/17]

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

References __EXPORT, and Engine().

◆ operator>>() [17/17]

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

References __EXPORT, and Engine().


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