std::numeric_limits<T>::is_specialized
Min standard notice:
The value of std::numeric_limits
# Declarations
static const bool is_specialized;
(until C++11)
static constexpr bool is_specialized;
(since C++11)
# Example
#include <iostream>
#include <limits>
#include <type_traits>
int main()
{
enum E{};
std::cout << std::boolalpha
<< std::numeric_limits<bool>::is_specialized << '\n'
<< std::numeric_limits<long long>::is_specialized << '\n'
<< std::numeric_limits<std::true_type>::is_specialized << '\n'
<< std::numeric_limits<E>::is_specialized << '\n';
}