C ++ 11: Specjalizacja funkcji szablonu dla typów całkowitych
Załóżmy, że mam funkcję szablonu:
template<typename T>
void f(T t)
{
...
}
i chcę napisać specjalizację dla wszystkich prymitywnych typów całkowitych. Jak najlepiej to zrobić?
Chodzi mi o to że:
template<typename I where is_integral<I>::value is true>
void f(I i)
{
...
}
a kompilator wybiera drugą wersję dla typów całkowitych, a pierwszą dla wszystkiego innego?