std::is_enum
Min standard notice:
Header: <type_traits>
std::is_enum is a UnaryTypeTrait.
# Declarations
template< class T >
struct is_enum;
(since C++11)
# Example
#include <type_traits>
struct A { enum E {}; };
static_assert(std::is_enum_v<A> == false);
static_assert(std::is_enum_v<A::E> == true);
enum E {};
static_assert(std::is_enum_v<E> == true);
enum class Ec : int {};
static_assert(std::is_enum_v<Ec> == true);
static_assert(std::is_enum_v<int> == false);
int main() {}