Пытался сам решить — но не осилил, хотя с mpl знаком.
Задачу привожу упрощённо. Есть неопределённое кол-во классов, предком которых является один шаблонный класс 'unit'.
template< typename T>
class unit
{
}
////
class A: public unit<A>
{
}
////
class B : public unit<B>
{
}
////
class C : public unit<C>
{
}
/////
....
////
Вопрос: как и в каком виде мне накопить информацию, для каких типов класс unit был проинстационирован? То есть — в разрезе примера, как мне накопить типы A,B,C,...
Хотел в результате получить кортеж с этими типами, или какой нибудь boost::fusion::vector<A,B,C,..> , но ума не хватает.
Спасибо.
ЗЫ Данная конструкция нужна мне для контроля за кол-вом экземпляров созданных и уничтоженых экземляров классов A,B,C ... в плане борьбы с утечками.