is_integral<T>
is a type that inherits either from true_type
or false_type
.
is_integral<T>()
is a constructor call, so that an instance of one of those types is an argument to the call to foo
. The overload is then selected according to which one it is.