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

persist.h File Reference

Persistence library classes. More...

#include <cc++/missing.h>
#include <cc++/string.h>
#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <map>

Go to the source code of this file.

Classes

class  BaseObject
 BaseObject Base class for classes that will be persistent. More...

class  Engine
 Engine stream serialization of persistent classes. More...

class  Engine::Exception
 If problems happen which are fatal - expect one of these thrown at you. More...

class  PersistException
class  TypeManager
 This class manages the types for generation of the persistent objects. Type manager for persistence engine. More...

class  TypeManager::Registration
 This manages a registration to the typemanager - attempting to remove problems with the optimisers. More...


Defines

#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 BaseObject *(* NewBaseObjectFunction )(void)

Functions

BaseObject &ob THROWS (Engine::Exception)


Detailed Description

Persistence library classes.


Define Documentation

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

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

#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 IMPLEMENT_PERSISTENCE ClassType,
FullyQualifiedName   ) 
 

Value:

NS_PREFIX BaseObject *createNew##ClassType() { return new ClassType; }                \
  const char* ClassType::getPersistenceID() const {return FullyQualifiedName;} \
  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 *&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 NO_COMPRESSION
 

#define NS_PREFIX
 


Typedef Documentation

typedef class BaseObject*(* NewBaseObjectFunction)(void)
 


Function Documentation

bool ob THROWS Engine::Exception   ) 
 


Generated on Fri Feb 27 11:37:10 2004 for GNU CommonC++ by doxygen 1.3.5