Статический полиморфизм в динамический
От: los puercos  
Дата: 20.04.11 14:24
Оценка:
Есть объемная иерархия классов, реализующая статический полиморфизм через CRTP.


template <typename Derived>
class BasicPacket{
public:
// ...
};

class SpecificPacket : public BasicPacket<SpecificPacket> {
// ...
};

// + много классов


Требуется реализовать генерацию классов в рантайме, т.е. динамический полиморфизм.
В общих чертах, как-то так:


SomeBasicPacket* get_packet(int id){
// здесь switch
}



Менять существующую модель крайне нежелательно
В принципе, есть идея велосипеда, как "обернуть" статический полиморфизм в динамический.
Но интересует, есть ли для этого более-менее стандартные средства?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.