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;
}
template specialization based on inherit class
I want to make this specialized w/o changing main. Is it possible to specialize something based on its base class? i hope so.
-edit-
I'll have several classes inheriting SomeTag. I dont want to write the same specialization for each of them.
[Edited by - AcidZombie24 on November 11, 2008 12:22:45 PM]
Um..
template <>struct MyClass<InheritSomeTag>{ typedef int isSpecialized;};
Or is there something else that complicates the matters?
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement