In the description of some std template function I saw something like:
if the template parameter is of integral type, the behavior is such and such.
Boost.TypeTraits provides is_integral<>(), as described in another response, if your compiler does not yet support C++ features of the next standard.