Я хочу сделать это специализированным без изменения основного. Можно ли специализироваться на своем базовом классе? Надеюсь, что так.
-edit -
У меня будет несколько классов, которые наследуют от SomeTag. Я не хочу писать одну и ту же специализацию для каждого из них.
class SomeTag {};
class InheritSomeTag : public SomeTag {};
template <class T, class Tag=T>
struct MyClass
{
};
template <class T>
struct MyClass<T, SomeTag>
{
typedef int isSpecialized;
};
int main()
{
MyClass<SomeTag>::isSpecialized test1; //ok
MyClass<InheritSomeTag>::isSpecialized test2; //how do i make this specialized w/o changing main()
return 0;
}