Я помню, как это делалось:
template <ListOfTypenames>
class X : public ListOfTypenames {};
то есть X наследует из списка переменных длины имен имен, переданных в качестве аргументов шаблона. Разумеется, этот код гипотетический.
Я не могу найти никаких ссылок для этого. Является ли это возможным? Это С++ 0x?