Есть такой код:
template<class FooType>
class Foo
{
};
class Sr
{
template<class T>
typename std::enable_if<std::is_array<T>::value, bool>::type
Func(T& val)
{
}
template<class T>
typename std::enable_if<!std::is_integral<T>::value && !std::is_array<T>::value, bool>::type
Func(T& val)
{
}
};
Как можно специфицировать функцию Func конкретно для класса Foo?
Пробовал так:
template<class T>
typename std::enable_if<std::is_same<Foo, T>::value, bool>::type
Func( T& val)
{
}
Но компилятор требует указания FooType у Foo. Хотя мне это не важно, главное специфицировать функцию для всех Foo независимо какой у них FooType.
Такое вообще возможно?
Спасибо заранее.