Bayonne2 / Common C++ 2 Framework
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Macros | Typedefs
persist.h File Reference

Persistence library classes. More...

#include <cc++/config.h>
#include <cc++/exception.h>
#include <cc++/missing.h>
#include <cc++/string.h>
#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <map>
Include dependency graph for persist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  TypeManager
 This class manages the types for generation of the persistent objects. More...
 
class  TypeManager::Registration
 This manages a registration to the typemanager - attempting to remove problems with the optimisers. More...
 
class  BaseObject
 BaseObject. More...
 
class  Engine
 Engine. More...
 

Macros

#define NO_COMPRESSION
 
#define NS_PREFIX
 
#define DECLARE_PERSISTENCE(ClassType)
 
#define IMPLEMENT_PERSISTENCE(ClassType, FullyQualifiedName)
 
#define CCXX_ENGINEWRITE_REF(valref)   writeBinary((const uint8*)&valref,sizeof(valref))
 
#define CCXX_ENGINEREAD_REF(valref)   readBinary((uint8*)&valref,sizeof(valref))
 

Typedefs

typedef class BaseObject *(* NewBaseObjectFunction )(void)
 

Detailed Description

Persistence library classes.

Definition in file persist.h.

Macro Definition Documentation

#define CCXX_ENGINEREAD_REF (   valref)    readBinary((uint8*)&valref,sizeof(valref))

Definition at line 336 of file persist.h.

#define CCXX_ENGINEWRITE_REF (   valref)    writeBinary((const uint8*)&valref,sizeof(valref))

Definition at line 300 of file persist.h.

#define DECLARE_PERSISTENCE (   ClassType)
Value:
public: \
friend NS_PREFIX Engine& operator>>( NS_PREFIX Engine& ar, ClassType *&ob); \
friend NS_PREFIX Engine& operator<<( NS_PREFIX Engine& ar, ClassType const &ob); \
friend NS_PREFIX BaseObject *createNew##ClassType(); \
virtual const char* getPersistenceID() const; \
static NS_PREFIX TypeManager::Registration registrationFor##ClassType;
#define NS_PREFIX
Definition: persist.h:81
BaseObject.
Definition: persist.h:206
Engine.
Definition: persist.h:252
This manages a registration to the typemanager - attempting to remove problems with the optimisers...
Definition: persist.h:129
__EXPORT Engine & operator<<(Engine &ar, BaseObject const &ob) THROWS(PersistException)
__EXPORT Engine & operator>>(Engine &ar, BaseObject &ob) THROWS(PersistException)

Definition at line 164 of file persist.h.

#define IMPLEMENT_PERSISTENCE (   ClassType,
  FullyQualifiedName 
)
Value:
NS_PREFIX BaseObject *createNew##ClassType() { return new ClassType; } \
const char* ClassType::getPersistenceID() const {return FullyQualifiedName;} \
{ ar >> (NS_PREFIX BaseObject &) ob; return ar; } \
NS_PREFIX Engine& operator>>(NS_PREFIX Engine& ar, ClassType *&ob) \
{ ar >> (NS_PREFIX BaseObject *&) ob; return ar; } \
NS_PREFIX Engine& operator<<(NS_PREFIX Engine& ar, ClassType const &ob) \
{ ar << (NS_PREFIX BaseObject const *)&ob; return ar; } \
NS_PREFIX TypeManager::Registration \
ClassType::registrationFor##ClassType(FullyQualifiedName, \
createNew##ClassType);
#define NS_PREFIX
Definition: persist.h:81
BaseObject.
Definition: persist.h:206
Engine.
Definition: persist.h:252
__EXPORT Engine & operator<<(Engine &ar, BaseObject const &ob) THROWS(PersistException)
__EXPORT Engine & operator>>(Engine &ar, BaseObject &ob) THROWS(PersistException)

Definition at line 172 of file persist.h.

#define NO_COMPRESSION

Definition at line 68 of file persist.h.

#define NS_PREFIX

Definition at line 81 of file persist.h.

Typedef Documentation

typedef class BaseObject*(* NewBaseObjectFunction)(void)

Definition at line 111 of file persist.h.