logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

persist.h - Persistence library classes.

Author

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

GNU CommonC++                                    Sun Dec 27 2020                                    persist.h(3)

Detailed Description

       Persistence library classes.

Macro Definition Documentation

#defineCCXX_ENGINEREAD_REF(valref)readBinary((uint8*)&valref,sizeof(valref))#defineCCXX_ENGINEWRITE_REF(valref)writeBinary((constuint8*)&valref,sizeof(valref))#defineDECLARE_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;

   #defineIMPLEMENT_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);

   #defineNO_COMPRESSION#defineNS_PREFIXost::

Name

       persist.h - Persistence library classes.

Synopsis

       #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>

   Classes
       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::BaseObjectBaseObject.
       class ost::EngineEngine.

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

See Also