Предположим, что у меня есть функция шаблона:
template<typename T>
void f(T t)
{
...
}
и я хочу написать специализацию для всех примитивных целочисленных типов. Каков наилучший способ сделать это?
Что я имею в виду:
template<typename I where is_integral<I>::value is true>
void f(I i)
{
...
}
и компилятор выбирает вторую версию для целых типов, а первую версию для всего остального?