persist.h

Langue: en

Version: 350332 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

persist.h -

Persistence library classes.

SYNOPSIS


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

Classes


class ost::PersistException

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

Namespaces


namespace ost

Defines


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

Detailed Description

Persistence library classes.

Define Documentation

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

Referenced by ost::Engine::read().

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

Referenced by ost::Engine::write().

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

Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.