Say I have a templated class:
template <typename T>
class foo {
void do_someting(T obj) {
// do something generic...
}
};
and I want to specialize do_something, but within it I want to call the "normal" do_something function:
template<>
void foo<MyObj>::do_something(MyObj obj) {
// do something specific...
// and ALSO do something generic!
}
is there a way to refer to the normal version of do_something within my specialized function? Or do I just have to copy the code?
(I know that I could refactor foo in such a way that I wouldn't have this exact problem, but as it happens I can't really modify the "real" foo, as it's heavily-shared code.)