Consider
enum My_Enum {
x1, x2
};
template<class T, My_Enum X>
class A {
void f1();
void f2();
};
template<class T>
class A<T,x1> {
void g();
}
I want to use the member functions f1()
and f2()
of the primary template in my partially specialized template. What should I do ?
One solution would be not to do the partial specialization and then:
template<class T>
class AA<T> : public A<T,x1> {
void g();
}
but it has the drawback that when I'm instatiating A<T,X>
s of all sorts by generic programming, my A<T,x1>
are no longer of type AA<T>
and hence I cannot apply A<T,x1>.g()
Any idea ?