L
lwaif
Unregistered / Unconfirmed
GUEST, unregistred user!
#define PCLASSINFO(cls, par) /
public: /
static const char * Class() /
{ return #cls;
} /
virtual const char * GetClass(unsigned ancestor = 0) const /
{ return ancestor > 0 ? par::GetClass(ancestor-1) : cls::Class();
} /
virtual BOOL IsClass(const char * clsName) const /
{ return strcmp(clsName, cls::Class()) == 0;
} /
virtual BOOL IsDescendant(const char * clsName) const /
{ return strcmp(clsName, cls::Class()) == 0 || /
par::IsDescendant(clsName);
} /
virtual Comparison CompareObjectMemoryDirect(const PObject &
obj) const /
{ return (Comparison)memcmp(this, &obj, sizeof(cls));
} /
PNEW_AND_DELETE_FUNCTIONS
public: /
static const char * Class() /
{ return #cls;
} /
virtual const char * GetClass(unsigned ancestor = 0) const /
{ return ancestor > 0 ? par::GetClass(ancestor-1) : cls::Class();
} /
virtual BOOL IsClass(const char * clsName) const /
{ return strcmp(clsName, cls::Class()) == 0;
} /
virtual BOOL IsDescendant(const char * clsName) const /
{ return strcmp(clsName, cls::Class()) == 0 || /
par::IsDescendant(clsName);
} /
virtual Comparison CompareObjectMemoryDirect(const PObject &
obj) const /
{ return (Comparison)memcmp(this, &obj, sizeof(cls));
} /
PNEW_AND_DELETE_FUNCTIONS