RemoveAdaptor.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_REMOVEADAPTOR_H_
36 #define _BLAZE_MATH_TYPETRAITS_REMOVEADAPTOR_H_
37 
38 
39 namespace blaze {
40 
41 //=================================================================================================
42 //
43 // CLASS DEFINITION
44 //
45 //=================================================================================================
46 
47 //*************************************************************************************************
75 template< typename T >
77 {
78  public:
79  //**********************************************************************************************
81  typedef T Type;
83  //**********************************************************************************************
84 };
85 //*************************************************************************************************
86 
87 
88 //*************************************************************************************************
93 template< typename T >
94 struct RemoveAdaptor< const T >
95 {
96  public:
97  //**********************************************************************************************
98  typedef const typename RemoveAdaptor<T>::Type Type;
99  //**********************************************************************************************
100 };
102 //*************************************************************************************************
103 
104 
105 //*************************************************************************************************
110 template< typename T >
111 struct RemoveAdaptor< volatile T >
112 {
113  public:
114  //**********************************************************************************************
115  typedef volatile typename RemoveAdaptor<T>::Type Type;
116  //**********************************************************************************************
117 };
119 //*************************************************************************************************
120 
121 
122 //*************************************************************************************************
127 template< typename T >
128 struct RemoveAdaptor< const volatile T >
129 {
130  public:
131  //**********************************************************************************************
132  typedef const volatile typename RemoveAdaptor<T>::Type Type;
133  //**********************************************************************************************
134 };
136 //*************************************************************************************************
137 
138 
139 //*************************************************************************************************
152 template< typename T >
154 //*************************************************************************************************
155 
156 } // namespace blaze
157 
158 #endif
typename RemoveAdaptor< T >::Type RemoveAdaptor_
Auxiliary alias declaration for the RemoveAdaptor type trait.The RemoveAdaptor_ alias declaration pro...
Definition: RemoveAdaptor.h:153
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Removal of top level adaptor types.In case the given type is an adaptor type (SymmetricMatrix, LowerMatrix, UpperMatrix, ...), the RemoveAdaptor type trait removes the adaptor and extracts the contained general matrix type. Else the given type is returned as is. Note that cv-qualifiers are preserved.
Definition: RemoveAdaptor.h:76