Bayonne2 / Common C++ 2 Framework
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Related Functions
Engine Class Reference

Engine. More...

#include <persist.h>

Collaboration diagram for Engine:
Collaboration graph
[legend]

Public Types

  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. More...
 
void  sync ()
  This Flushes the buffers and closes the Persistence::Engine this must happen before the underlying stream is shut down. More...
 
bool  more ()
  This says there are more objects to deserialize. More...
 
virtual  ~Engine ()
 
void  write (const BaseObject &object) THROWS(PersistException)
  writes a BaseObject from a reference. More...
 
void  write (const BaseObject *object) THROWS(PersistException)
  writes a BaseObject from a pointer. More...
 
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. More...
 
void  read (BaseObject *&object) THROWS(PersistException)
  reads a BaseObject into a pointer allocating memory for the object if necessary. More...
 
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)
 

Private Types

typedef std::vector< BaseObject * >  ArchiveVector
  Typedefs for the Persistence::BaseObject support. More...
 
typedef std::map< BaseObject
const *, int32 >  ArchiveMap
 
typedef std::vector< StringClassVector
 
typedef std::map< String, int32 >  ClassMap
 

Private Member Functions

void  readObject (BaseObject *object) THROWS(PersistException)
  reads the actual object data into a pre-instantiated object pointer by calling the read function of the derived class. More...
 
const String  readClass () THROWS(PersistException)
  reads in a class name, and caches it into the ClassMap. More...
 

Private Attributes

std::iostream &  myUnderlyingStream
  The underlying stream. More...
 
  The mode of the engine. More...
 
 
 
 
 
 

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

Definition at line 252 of file persist.h.

Member Typedef Documentation

typedef std::map<BaseObject const*, int32> Engine::ArchiveMap
private

Definition at line 384 of file persist.h.

typedef std::vector<BaseObject*> Engine::ArchiveVector
private

Typedefs for the Persistence::BaseObject support.

Definition at line 383 of file persist.h.

typedef std::map<String, int32> Engine::ClassMap
private

Definition at line 386 of file persist.h.

typedef std::vector<String> Engine::ClassVector
private

Definition at line 385 of file persist.h.

Member Enumeration Documentation

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

Enumerator
modeRead 
modeWrite 

Definition at line 258 of file persist.h.

Constructor & Destructor Documentation

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

virtual Engine::~Engine ( )
virtual

Member Function Documentation

bool Engine::more ( )

This says there are more objects to deserialize.

void Engine::read ( BaseObjectobject )

reads a BaseObject into a reference overwriting the object.

void Engine::read ( BaseObject *&  object )

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

void Engine::read ( int8 &  i )
inline

Definition at line 337 of file persist.h.

void Engine::read ( uint8 &  i )
inline

Definition at line 338 of file persist.h.

void Engine::read ( int16 &  i )
inline

Definition at line 339 of file persist.h.

void Engine::read ( uint16 &  i )
inline

Definition at line 340 of file persist.h.

void Engine::read ( int32 &  i )
inline

Definition at line 341 of file persist.h.

void Engine::read ( uint32 &  i )
inline

Definition at line 342 of file persist.h.

void Engine::read ( float &  i )
inline

Definition at line 347 of file persist.h.

void Engine::read ( double &  i )
inline

Definition at line 348 of file persist.h.

void Engine::read ( Stringstr )
void Engine::read ( std::string &  str )
void Engine::readBinary ( uint8 *  data,
uint32  size 
)
const String Engine::readClass ( )
private

reads in a class name, and caches it into the ClassMap.

void Engine::readObject ( BaseObjectobject )
private

reads the actual object data into a pre-instantiated object pointer by calling the read function of the derived class.

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 BaseObjectobject )
inline

writes a BaseObject from a reference.

Definition at line 290 of file persist.h.

void Engine::write ( const BaseObjectobject )

writes a BaseObject from a pointer.

void Engine::write ( int8  i )
inline

Definition at line 301 of file persist.h.

void Engine::write ( uint8  i )
inline

Definition at line 302 of file persist.h.

void Engine::write ( int16  i )
inline

Definition at line 303 of file persist.h.

void Engine::write ( uint16  i )
inline

Definition at line 304 of file persist.h.

void Engine::write ( int32  i )
inline

Definition at line 305 of file persist.h.

void Engine::write ( uint32  i )
inline

Definition at line 306 of file persist.h.

void Engine::write ( float  i )
inline

Definition at line 311 of file persist.h.

void Engine::write ( double  i )
inline

Definition at line 312 of file persist.h.

void Engine::write ( const Stringstr )
void Engine::write ( const std::string &  str )
void Engine::writeBinary ( const uint8 *  data,
const uint32  size 
)

Friends And Related Function Documentation

__EXPORT Engine & operator<< ( Enginear,
BaseObject const &  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
BaseObject const *  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
int8  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
uint8  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
int16  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
uint16  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
int32  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
uint32  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
float  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
double  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
String  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
std::string  ob 
)
related
__EXPORT Engine & operator<< ( Enginear,
bool  ob 
)
related
template<class T >
Engine & operator<< ( Enginear,
typename std::vector< T > const &  ob 
)
related

The following are templated classes.

serialize a vector of some serializable content to the engine

Definition at line 490 of file persist.h.

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

serialize a deque of some serializable content to the engine

Definition at line 521 of file persist.h.

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

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

Definition at line 556 of file persist.h.

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

serialize a pair of some serializable content to the engine.

Definition at line 588 of file persist.h.

__EXPORT Engine & operator>> ( Enginear,
BaseObjectob 
)
related
__EXPORT Engine & operator>> ( Enginear,
BaseObject *&  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
int8 &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
uint8 &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
int16 &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
uint16 &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
int32 &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
uint32 &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
float &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
double &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
Stringob 
)
related
__EXPORT Engine & operator>> ( Enginear,
std::string &  ob 
)
related
__EXPORT Engine & operator>> ( Enginear,
bool &  ob 
)
related
template<class T >
Engine & operator>> ( Enginear,
typename std::vector< T > &  ob 
)
related

deserialize a vector of deserializable content from an engine.

Definition at line 504 of file persist.h.

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

deserialize a deque of deserializable content from an engine.

Definition at line 535 of file persist.h.

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

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

Definition at line 570 of file persist.h.

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

deserialize a pair of some serializable content to the engine.

Definition at line 599 of file persist.h.

Field Documentation

ArchiveMap Engine::myArchiveMap
private

Definition at line 389 of file persist.h.

ArchiveVector Engine::myArchiveVector
private

Definition at line 388 of file persist.h.

ClassMap Engine::myClassMap
private

Definition at line 391 of file persist.h.

ClassVector Engine::myClassVector
private

Definition at line 390 of file persist.h.

EngineMode Engine::myOperationalMode
private

The mode of the engine.

read or write

Definition at line 378 of file persist.h.

std::iostream& Engine::myUnderlyingStream
private

The underlying stream.

Definition at line 373 of file persist.h.

bool Engine::use_compression
private

Definition at line 394 of file persist.h.


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

Generated on Dec 21, 2017 for commoncpp2-1.8.1, ccrtp-1.7.2, libzrtpcpp-2.3.4, ccscript3-1.1.7, ccaudio2-1.0.0 and bayonne2-2.3.2 (after installation in /usr/local/) by   doxygen 1.8.6

AltStyle によって変換されたページ (->オリジナル) /