IsAdaptor.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISADAPTOR_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISADAPTOR_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <blaze/util/FalseType.h>
44 #include <blaze/util/TrueType.h>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS DEFINITION
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
87 template< typename T >
88 struct IsAdaptor : public FalseType
89 {
90  public:
91  //**********************************************************************************************
93  enum { value = 0 };
94  typedef FalseType Type;
96  //**********************************************************************************************
97 };
98 //*************************************************************************************************
99 
100 
101 //*************************************************************************************************
106 template< typename T >
107 struct IsAdaptor< const T > : public IsAdaptor<T>::Type
108 {
109  public:
110  //**********************************************************************************************
111  enum { value = IsAdaptor<T>::value };
112  typedef typename IsAdaptor<T>::Type Type;
113  //**********************************************************************************************
114 };
116 //*************************************************************************************************
117 
118 
119 //*************************************************************************************************
124 template< typename T >
125 struct IsAdaptor< volatile T > : public IsAdaptor<T>::Type
126 {
127  public:
128  //**********************************************************************************************
129  enum { value = IsAdaptor<T>::value };
130  typedef typename IsAdaptor<T>::Type Type;
131  //**********************************************************************************************
132 };
134 //*************************************************************************************************
135 
136 
137 //*************************************************************************************************
142 template< typename T >
143 struct IsAdaptor< const volatile T > : public IsAdaptor<T>::Type
144 {
145  public:
146  //**********************************************************************************************
147  enum { value = IsAdaptor<T>::value };
148  typedef typename IsAdaptor<T>::Type Type;
149  //**********************************************************************************************
150 };
152 //*************************************************************************************************
153 
154 } // namespace blaze
155 
156 #endif
Header file for the FalseType type/value trait base class.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Compile time check for adaptors.This type trait tests whether the given template parameter is an adap...
Definition: IsAdaptor.h:88
boost::false_type FalseType
Type/value traits base class.The FalseType class is used as base class for type traits and value trai...
Definition: FalseType.h:61
Header file for the TrueType type/value trait base class.