All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IsDouble.h
Go to the documentation of this file.
1 //=================================================================================================
20 //=================================================================================================
21 
22 #ifndef _BLAZE_UTIL_TYPETRAITS_ISDOUBLE_H_
23 #define _BLAZE_UTIL_TYPETRAITS_ISDOUBLE_H_
24 
25 
26 //*************************************************************************************************
27 // Includes
28 //*************************************************************************************************
29 
30 #include <blaze/util/FalseType.h>
31 #include <blaze/util/TrueType.h>
32 
33 
34 namespace blaze {
35 
36 //=================================================================================================
37 //
38 // CLASS DEFINITION
39 //
40 //=================================================================================================
41 
42 //*************************************************************************************************
61 template< typename T >
62 struct IsDouble : public FalseType
63 {
64  public:
65  //**********************************************************************************************
67  enum { value = 0 };
68  typedef FalseType Type;
70  //**********************************************************************************************
71 };
72 //*************************************************************************************************
73 
74 
75 //*************************************************************************************************
77 
78 template<>
79 struct IsDouble<double> : public TrueType
80 {
81  public:
82  //**********************************************************************************************
83  enum { value = 1 };
84  typedef TrueType Type;
85  //**********************************************************************************************
86 };
88 //*************************************************************************************************
89 
90 
91 //*************************************************************************************************
93 
94 template<>
95 struct IsDouble<const double> : public TrueType
96 {
97  public:
98  //**********************************************************************************************
99  enum { value = 1 };
100  typedef TrueType Type;
101  //**********************************************************************************************
102 };
104 //*************************************************************************************************
105 
106 
107 //*************************************************************************************************
109 
110 template<>
111 struct IsDouble<volatile double> : public TrueType
112 {
113  public:
114  //**********************************************************************************************
115  enum { value = 1 };
116  typedef TrueType Type;
117  //**********************************************************************************************
118 };
120 //*************************************************************************************************
121 
122 
123 //*************************************************************************************************
125 
126 template<>
127 struct IsDouble<const volatile double> : public TrueType
128 {
129  public:
130  //**********************************************************************************************
131  enum { value = 1 };
132  typedef TrueType Type;
133  //**********************************************************************************************
134 };
136 //*************************************************************************************************
137 
138 } // namespace blaze
139 
140 #endif