Habilitar iterador como un parámetro de plantilla por defecto?
Tengo un constructor así:
class MyClass
{
template<class TI> MyClass(TI first, TI last);
};
template<class TI> MyClass::MyClass(TI first, TI last)
{
;
}
Me gustaría habilitar este constructor solo si TI es un iterador (eso significa que TI tiene una categoría iterador, creo). ¿Cómo hacer eso en C ++ 2011 utilizando un enable_if como un parámetro de plantilla predeterminado (en la declaración y en la definición)?
Muchas gracias.