Blaze 3.9
IsEnum.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_UTIL_TYPETRAITS_ISENUM_H_
36#define _BLAZE_UTIL_TYPETRAITS_ISENUM_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <type_traits>
45
46
47namespace blaze {
48
49//=================================================================================================
50//
51// CLASS DEFINITION
52//
53//=================================================================================================
54
55//*************************************************************************************************
79template< typename T >
80struct IsEnum
81 : public BoolConstant< std::is_enum<T>::value >
82{};
83//*************************************************************************************************
84
85
86//*************************************************************************************************
99template< typename T >
100constexpr bool IsEnum_v = IsEnum<T>::value;
101//*************************************************************************************************
102
103} // namespace blaze
104
105#endif
Header file for the IntegralConstant class template.
constexpr bool IsEnum_v
Auxiliary variable template for the IsEnum type trait.
Definition: IsEnum.h:100
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for complete enumeration types.
Definition: IsEnum.h:82