Blaze  3.6
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 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS DEFINITION
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
79 template< typename T >
80 struct IsEnum
81  : public BoolConstant< std::is_enum<T>::value >
82 {};
83 //*************************************************************************************************
84 
85 
86 //*************************************************************************************************
99 template< typename T >
100 constexpr bool IsEnum_v = IsEnum<T>::value;
101 //*************************************************************************************************
102 
103 } // namespace blaze
104 
105 #endif
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:72
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
constexpr bool IsEnum_v
Auxiliary variable template for the IsEnum type trait.The IsEnum_v variable template provides a conve...
Definition: IsEnum.h:100
Header file for the IntegralConstant class template.
Compile time check for complete enumeration types.This type trait tests whether or not the given temp...
Definition: IsEnum.h:80