Suppose I have a template class with a lot of functions and I want to specialize them to change only a few of them and keep the other ones exactly as specified in the base templ
Another solution would be to add a level of indirection in the function you want to redefine, i.e.
template
struct foo
{
template
void bar_impl()
{
//generic function
}
void bar()
{
bar_impl();
}
};
Then you can specialize each function individually for each type or specialize the whole type as wanted.