LLVM  8.0.1
Static Public Attributes | List of all members
llvm::is_integral_or_enum< T > Class Template Reference

Metafunction that determines whether the given type is either an integral type or an enumeration type, including enum classes. More...

#include "llvm/Support/type_traits.h"

Collaboration diagram for llvm::is_integral_or_enum< T >:
Collaboration graph
[legend]

Static Public Attributes

static const bool value
 

Detailed Description

template<typename T>
class llvm::is_integral_or_enum< T >

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.

Definition at line 65 of file type_traits.h.

Member Data Documentation

◆ value

template<typename T >
const bool llvm::is_integral_or_enum< T >::value
static
Initial value:
=
!std::is_class<UnderlyingT>::value &&
!std::is_pointer<UnderlyingT>::value &&
!std::is_floating_point<UnderlyingT>::value &&
(std::is_enum<UnderlyingT>::value ||
std::is_convertible<UnderlyingT, unsigned long long>::value)

Definition at line 69 of file type_traits.h.


The documentation for this class was generated from the following file: