C++ темплейтно-шизофренический Имплементировал эмуляцию отсутствующих пока в С++ "template typedefs". Ничего оригинального, известный workaround. Вводим nested typedef, и рассматриваем внешний темплейтный класс как "темплейтный typedef"
Плюс, что небезынтересно, сделал универсальный адаптер, который позволяет работать с обычными темплейтами и с темплейтными typedefs единообразно. Это, как бы, уже возможность всерьёз использовать такие вещи в production code. Если не страшно. :-)))
( Детали под катом )Для развлечения можно еще написать код, который в зависимости от наличия или отсутствия некоторого enum делает с классом разные вещи. Т.е. различить два класса и сделать что-то осмысленное в обоих случаях (а не просто завалить компиляцию):
template <class T>
class Type1
{
public:
};
template <class T>
class Type2
{
public:
enum { HREN };
};