Removed instanceOf
.
I think it's time to remove MOST of the poor man's RTTI now.
This commit is contained in:
@ -95,34 +95,5 @@ void IdentifiableObject::registerName (const char *className, const std::type_in
|
||||
currentlyConstructedClass = klass;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Returns, whether this class is an instance of the class, given by
|
||||
* \em otherClassId, or of a sub class of this class.
|
||||
*/
|
||||
bool IdentifiableObject::instanceOf_impl (std::intptr_t otherClassId)
|
||||
{
|
||||
if (otherClassId == -1)
|
||||
// Other class has not been registered yet, while it should have been,
|
||||
// if this class is an instance of it or of a sub-class.
|
||||
return false;
|
||||
|
||||
Class *otherClass = classesById.at (otherClassId);
|
||||
|
||||
if (otherClass == NULL) {
|
||||
fprintf (stderr,
|
||||
"WARNING: Something got wrong here, it seems that a "
|
||||
"CLASS_ID was not initialized properly.\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
for (Class *klass = classesById.at (classId); klass != NULL;
|
||||
klass = klass->parent) {
|
||||
if (klass == otherClass)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace identity
|
||||
} // namespace lout
|
||||
|
Reference in New Issue
Block a user