Cześć,
Mam szablon klas niech będzie
template <typename T, int N>
class MyClass
{
public: void metoda();
// inne metody
};
Kod metoda() zależy od parametrów T oraz N. Czy da się dokonać CZĘŚCIOWEJ specjalizacji tej metody np dla określonego N? Jedna opcja oczywiście to po prostu w kodzie metody if (N==coś), ale chciałbym to zrobić jak sztuka nakazuje. Z tego co ja się orientuję, to nie można dokonać częściowej specjalizacji funkcji - muszą one mieć pełne specjalizacje. Z klasą się da... czyli niby mógłbym napisać specjalizację MyClass<T, 10> (dla N=10) ale wtedy muszę też przepisać inne metody z klasy bazowej, bo MyClass dla N=10 nie będzie ich widziała...
Jak to zrobić najbardziej elegancko za pomocą właśnie szablonów?
Z góry dziękuję!