Consider this class:
template<class T, int select> class Foo() { public: Foo() {} ~Foo() {} Param<select> value; void SomeInitialization(); ... } Can I partialy specify SomeInitialization() function without explictly mentioning select value in it's template parametes list? For example I would like to merge functions realization into single one:
template<> void Foo<SomeClass, 0>::SomeInitialization() { ... } template<> void Foo<SomeClass, 1>::SomeInitialization() { ... } template<> void Foo<SomeClass, 2>::SomeInitialization() { ... } Into something like this (pseudocode):
template<> void Foo<SomeClass>::SomeInitialization() { ... } where select can be any value, since my SomeInitialization() function's code doesn't use it anyway and all functions of the above have identical code, but I have to copy paste it for every select value.
How can I achieve that? Please provide an answer using example Foo class in my post.