Is it possible to access values of non-type template parameters in specialized template class?
If I have template class with specialization:
template <int major, int minor> struct A {
void f() { cout << major << endl; }
}
template <> struct A<4,0> {
void f() { cout << ??? << endl; }
}
I know it the above case it is simple to hardcode values 4 and 0 instead of using variables but what I have a larger class that I'm specializing and I would like to be able to access the values.
Is it possible in A<4,0> to access major
and minor
values (4 and 0)? Or do I have to assign them on template instantiation as constants:
template <> struct A<4,0> {
static const int major = 4;
static const int minor = 0;
...
}