enable_if iterator como um parâmetro de modelo padrão?
Eu tenho um construtor assim:
class MyClass
{
template<class TI> MyClass(TI first, TI last);
};
template<class TI> MyClass::MyClass(TI first, TI last)
{
;
}
Eu gostaria de habilitar este construtor somente se TI é um iterador (isso significa que TI tem um iterator_category eu acho). Como fazer isso em C ++ 2011 usando um enable_if como um parâmetro de modelo padrão (na declaração e na definição)?
Muito obrigado.