Blaze 3.9
IsNumeric.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_UTIL_TYPETRAITS_ISNUMERIC_H_
36#define _BLAZE_UTIL_TYPETRAITS_ISNUMERIC_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <blaze/util/Complex.h>
48
49
50namespace blaze {
51
52//=================================================================================================
53//
54// CLASS DEFINITION
55//
56//=================================================================================================
57
58//*************************************************************************************************
78template< typename T >
80 : public BoolConstant< ( IsArithmetic_v<T> && !IsBoolean_v<T> ) || IsComplex_v<T> >
81{};
82//*************************************************************************************************
83
84
85//*************************************************************************************************
87
88template< typename T >
89struct IsNumeric< const T >
90 : public IsNumeric<T>::Type
91{};
93//*************************************************************************************************
94
95
96//*************************************************************************************************
98
99template< typename T >
100struct IsNumeric< volatile T >
101 : public IsNumeric<T>::Type
102{};
104//*************************************************************************************************
105
106
107//*************************************************************************************************
109
110template< typename T >
111struct IsNumeric< const volatile T >
112 : public IsNumeric<T>::Type
113{};
115//*************************************************************************************************
116
117
118//*************************************************************************************************
131template< typename T >
133//*************************************************************************************************
134
135} // namespace blaze
136
137#endif
Header file for the complex data type.
Header file for the IntegralConstant class template.
Header file for the IsArithmetic type trait.
Header file for the IsBoolean type trait.
Header file for the IsComplex type trait.
constexpr bool IsNumeric_v
Auxiliary variable template for the IsNumeric type trait.
Definition: IsNumeric.h:132
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for numeric types.
Definition: IsNumeric.h:81