Supongamos que tengo una función de plantilla:C++ 11: Plantilla de especialización de funciones de los tipos enteros
template<typename T>
void f(T t)
{
...
}
y yo quiero escribir una especialización para todos los tipos enteros primitivos. ¿Cuál es la mejor manera de hacer esto?
Lo que quiero decir es:
template<typename I where is_integral<I>::value is true>
void f(I i)
{
...
}
y el compilador selecciona la segunda versión de los tipos enteros, y la primera versión para todo lo demás?
¿Hay especialización de plantillas para funciones en C++ 11? Creo que en C++ 03 solo estaba sobrecargando. –
He estado buscando algo similar, pero fallé. todo lo que podía hacer era simplemente definir una plantilla normal, y en el interior compruebo si el parámetro dado es del tipo integral –
@AlexanderChertov, está en C++ 03, pero [es complicado] (http://www.gotw.ca) /publications/mill17.htm). Lo mismo se aplica a C++ 11. – juanchopanza