Differences between std::is_integer and std::is_integral?
std::is_integer<T> does not exist. That being said, std::numeric_limits<T>::is_integer does exist. I’m not aware of any significant difference between std::numeric_limits<T>::is_integer and std::is_integral<T>. The latter was designed much later and became standard in C++11, whereas the former was introduced in C++98.