Есть ли способ проверить, что такое type_info суперкласса? В моей системе объекты идентифицируются набором битов. Который идентифицируется хэш-кодом type_info. Я хотел бы, чтобы некоторые из этих типов включали полиморфизм в том смысле, что моя система считает, что они находятся под одним и тем же битом. type_info создает уникальный хэш-код для каждого типа класса. Вместо этого я хочу, чтобы производные классы брали битовый набор своего суперкласса следующим образом:
Component > ISomeInterfaceComponent -> bit = 00001
|
\ ComponentContextA -> bit = ISomeInterFaceComponent bit
|
\ ComponentContextB -> bit = ISomeInterFaceComponent bit
|
\ ComponentContextC -> bit = ISomeInterFaceComponent bit
Это должно добавить объект, содержащий компоненты, в одну систему для обработки.
На данный момент происходит вот что:
Component > ISomeInterFaceComponent -> bit = 00001
|
\ ComponentContextA -> bit = 00010
|
\ ComponentContextB -> bit = 00100
|
\ ComponentContextC -> bit = 01000
Что требует, чтобы я создавал разные системы для всех компонентов.
Если бы кто-нибудь мог дать мне указания о том, как я мог бы достичь этого, это было бы здорово.
Редактировать: Чтобы избежать путаницы, чтобы установить бит для типа, это выглядит следующим образом: ComponentTypeManager::getBit();
Поэтому я не работаю с экземплярами. И я хотел бы сохранить текущую систему в замке.