#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 |
Classes | |
class | ost::TypeManager |
This class manages the types for generation of the persistent objects. More... | |
class | ost::TypeManager::Registration |
This manages a registration to the typemanager - attempting to remove problems with the optimisers. More... | |
class | ost::BaseObject |
BaseObject. More... | |
class | ost::Engine |
Engine. More... | |
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 class BaseObject *(* | ost::NewBaseObjectFunction )(void) |
#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 NO_COMPRESSION |
#define NS_PREFIX ost:: |