Можно ли реализовать type_id (T) в С++, который не требовал бы регистрация типа вручную или RTTI?
Все решения, которые я видел (в том числе boost:: typeindex), основаны на специализации и требуют ручной "регистрации" следующим образом:
class A {
public:
BOOST_TYPE_INDEX_REGISTER_CLASS
virtual ~A(){}
};
struct B: public A {
BOOST_TYPE_INDEX_REGISTER_CLASS
};
Но я хочу иметь возможность получить идентификатор типа для любого произвольного типа, включая типы библиотек, которые я не могу переопределить в своем коде.