class is_integral_or_enum

Declaration

template <typename T>
class is_integral_or_enum { /* full declaration omitted */ };

Description

Metafunction that determines whether the given type is either an integral type or an enumeration type, including enum classes. Note that this accepts potentially more integral types than is_integral because it is based on being implicitly convertible to an integral type. Also note that enum classes aren't implicitly convertible to integral types, the value may therefore need to be explicitly converted before being used.

Declared at: llvm/include/llvm/Support/type_traits.h:30

Templates

T

Member Variables

public static const bool value = !std::is_class<typename remove_reference<type-parameter-0-0>::type>::value && !std::is_pointer<typename remove_reference<type-parameter-0-0>::type>::value && !std::is_floating_point<typename remove_reference<type-parameter-0-0>::type>::value && (std::is_enum<typename remove_reference<type-parameter-0-0>::type>::value || std::is_convertible<typename remove_reference<type-parameter-0-0>::type, unsigned long long>::value)