5 #ifndef CMR_TYPE_MANAGER_INCLUDED
6 #define CMR_TYPE_MANAGER_INCLUDED
30 virtual bool equal(
void* v1,
void* v2) = 0;
32 virtual void assign(
void* v1,
void* v2) = 0;
41 virtual int compare(
const commore::Dummy&,
const commore::Dummy&)
88 :
TypeManager(type, isList, complex, typeName, isWord) {}
95 T* avalue = (T*)value;
96 r += b.
write(*avalue);
101 long r = b.
read(*(T*)value);
110 return (
bool)(*(T*)v1 == *(T*)v2);
114 size_t r =
sizeof(T);
115 r = r + (
sizeof(int) - r %
sizeof(
int));
122 new(data) T(*(T*)value);
133 int compare(
const commore::Dummy& v1,
const commore::Dummy& v2)
135 const T& ov1 = (
const T&)v1;
136 const T& ov2 = (
const T&)v2;
long write_xml(commore::OBStream &o, void *)
commore::Symbol symbType_
Definition: TypeManager.h:73
long write(commore::CommBuffer &b, void *value)
Definition: TypeManager.h:92
virtual long write(commore::CommBuffer &b, void *)=0
long read(const commore::CommBuffer &b, void *value)
Definition: TypeManager.h:99
commore::Types type_
Definition: TypeManager.h:68
bool isWord_
Definition: TypeManager.h:66
static TypeManager * get_type_info(commore::Types type)
Definition: TypeManager.cpp:92
void assign(void *v1, void *v2)
Definition: TypeManager.h:104
bool complex_
Definition: TypeManager.h:61
char AChar
Definition: Type.h:65
bool equal(void *v1, void *v2)
Definition: TypeManager.h:108
virtual long read_xml(commore::XmlParser &i, void *)=0
long write(const AString &v)
Definition: CommBuffer.cpp:925
TypeManager * PTypeManager
Definition: TypeManager.h:78
void construct(commore::Byte *data, const commore::Byte *value)
Definition: TypeManager.h:118
void * get_default()
Definition: TypeManager.h:150
virtual ~TypeManager()
Definition: TypeManager.h:23
virtual long write_xml(commore::OBStream &o, void *)=0
void destroy(void *data)
Definition: TypeManager.h:129
virtual long read(const commore::CommBuffer &b, void *)=0
long read_xml(commore::XmlParser &i, void *)
TypeManager(commore::Types type, bool isList, bool complex, const char *typeName, bool isWord)
Definition: TypeManager.cpp:33
Definition: CommBuffer.h:28
int compare(const commore::Dummy &v1, const commore::Dummy &v2)
Definition: TypeManager.h:133
virtual int compare(const commore::Dummy &, const commore::Dummy &)
Definition: TypeManager.h:41
virtual void construct(commore::Byte *, const commore::Byte *v=0)
Definition: TypeManager.h:39
virtual bool equal(void *v1, void *v2)=0
long read(AString &v) const
Definition: CommBuffer.cpp:1277
unsigned char Byte
Definition: Type.h:64
virtual void destroy(void *)
Definition: TypeManager.h:40
virtual void assign(void *v1, void *v2)=0
virtual void * get_default()
Definition: TypeManager.h:45
Definition: IOBStream.h:166
bool isList_
Definition: TypeManager.h:56
Definition: TypeManager.h:20
virtual size_t size()
Definition: TypeManager.h:35
Definition: TypeManager.h:85
TypeManagerInfo(commore::Types type, const char *typeName, bool isWord, bool isList=false, bool complex=false)
Definition: TypeManager.h:87
size_t hash_
Definition: TypeManager.h:75
size_t size()
Definition: TypeManager.h:112
Types
Definition: Type.h:131