C ++ 11: Especialização de função de modelo para tipos inteiros
Suponha que eu tenha uma função de modelo:
template<typename T>
void f(T t)
{
...
}
e eu quero escrever uma especialização para todos os tipos inteiros primitivos. Qual é a melhor maneira de fazer isso?
O que eu quero dizer é:
template<typename I where is_integral<I>::value is true>
void f(I i)
{
...
}
e o compilador seleciona a segunda versão para tipos inteiros, e a primeira versão para todo o resto?