Blaze 3.9
IsComplex.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_UTIL_TYPETRAITS_ISCOMPLEX_H_
36#define _BLAZE_UTIL_TYPETRAITS_ISCOMPLEX_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <blaze/util/Complex.h>
45
46
47namespace blaze {
48
49//=================================================================================================
50//
51// CLASS DEFINITION
52//
53//=================================================================================================
54
55//*************************************************************************************************
74template< typename T >
76 : public FalseType
77{};
78//*************************************************************************************************
79
80
81//*************************************************************************************************
83
84template< typename T >
85struct IsComplex< complex<T> >
86 : public TrueType
87{};
89//*************************************************************************************************
90
91
92//*************************************************************************************************
94
95template< typename T >
96struct IsComplex< const complex<T> >
97 : public TrueType
98{};
100//*************************************************************************************************
101
102
103//*************************************************************************************************
105
106template< typename T >
107struct IsComplex< volatile complex<T> >
108 : public TrueType
109{};
111//*************************************************************************************************
112
113
114//*************************************************************************************************
116
117template< typename T >
118struct IsComplex< const volatile complex<T> >
119 : public TrueType
120{};
122//*************************************************************************************************
123
124
125//*************************************************************************************************
138template< typename T >
140//*************************************************************************************************
141
142} // namespace blaze
143
144#endif
Header file for the complex data type.
Header file for the IntegralConstant class template.
Complex data type of the Blaze library.
constexpr bool IsComplex_v
Auxiliary variable template for the IsComplex type trait.
Definition: IsComplex.h:139
BoolConstant< true > TrueType
Type traits base class.
Definition: IntegralConstant.h:132
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for complex types.
Definition: IsComplex.h:77