: , , . , void enable_if, . , :
template <class T>
struct foo {};
template <class T>
struct S<foo<T>> {};
. , , , , .
std::hash , . , , hash , .
: std:: hash . - , , . ++ , , OP , . , , .
hash , , , . , -, . , . , , :
template <class T, class = void>
struct S {};
template <>
struct S<double> {};
.