31using namespace object;
32using namespace container::typed;
35 const char *className)
52 parent->intoStringBuffer (sb);
58HashTable <ConstString, IdentifiableObject::Class>
62 new Vector <IdentifiableObject::Class> (16,
false);
96 this->classId = klass->
id;
107 if (otherClassId == -1)
114 if (otherClass == NULL) {
116 "WARNING: Something got wrong here, it seems that a "
117 "CLASS_ID was not initialized properly.\n");
122 klass = klass->parent) {
123 if (klass == otherClass)
Typed version of container::untyped::HashTable.
void intoStringBuffer(misc::StringBuffer *sb)
Store a textual representation of the object in a misc::StringBuffer.
Class(Class *parent, int id, const char *className)
static container::typed::HashTable< object::ConstString, Class > * classesByName
static Class * currentlyConstructedClass
bool instanceOf(int otherClassId)
Returns, whether this class is an instance of the class, given by otherClassId, or of a sub class of ...
static container::typed::Vector< Class > * classesById
const char * getClassName()
Return the name, under which the class of this object was registered.
void registerName(const char *className, int *classId)
This method must be called in the constructor for the sub class.
void intoStringBuffer(misc::StringBuffer *sb)
Store a textual representation of the object in a misc::StringBuffer.
A class for fast concatenation of a large number of strings.
void appendPointer(void *p)
void append(const char *str)
Append a NUL-terminated string to the buffer, with copying.
An object::Object wrapper for constant strings (char*).