И это всё МОЁ
Есть ли способ получить текстовое представление специализации класса? Для целей контроля при повторых использованиях, что второй раз за тем же идентификатором запрашивается таже специализация класса. Или как можно как-либо по другому это проконтролировать?
Для примера, пусть будет простой базовый класс A с виртуальными методами, от него наследую шаблонный класс B. При использованнии делаю new B<SomeType> шаблонного класса и указатели таких классов сохраняю в std::map<string,A*> - где string это глобальный идетификатор.
Что-то вроде:
std::map<string,A*> global_map;
A* get_global_prop<SomeType>(const string& id) {
A*& cell = global_map[id];
if (cell != nullptr) {
// здесь контроль, что в прошлый раз была таже специализация
assert( ... );
return cell;
}
return cell = static_cast<A*>(new B<SomeType>
;
}