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

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>

Go to the source code of this file.

Namespaces

namespace  ost

Defines

#define NO_COMPRESSION
#define NS_PREFIX   ost::
#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)


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   ost::
 


Typedef Documentation

typedef class BaseObject*(* ost::NewBaseObjectFunction)(void)
 


Generated on Wed Jul 5 08:05:28 2006 for GNU CommonC++ by  doxygen 1.4.1