Blaze  3.6
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  using Type = T;
83  //**********************************************************************************************
84 };
85 //*************************************************************************************************
86 
87 
88 //*************************************************************************************************
93 template< typename T >
94 struct RemoveAdaptor< const T >
95 {
96  public:
97  //**********************************************************************************************
98  using Type = const typename RemoveAdaptor<T>::Type;
99  //**********************************************************************************************
100 };
102 //*************************************************************************************************
103 
104 
105 //*************************************************************************************************
110 template< typename T >
111 struct RemoveAdaptor< volatile T >
112 {
113  public:
114  //**********************************************************************************************
115  using Type = volatile typename RemoveAdaptor<T>::Type;
116  //**********************************************************************************************
117 };
119 //*************************************************************************************************
120 
121 
122 //*************************************************************************************************
127 template< typename T >
128 struct RemoveAdaptor< const volatile T >
129 {
130  public:
131  //**********************************************************************************************
132  using Type = const volatile typename RemoveAdaptor<T>::Type;
133  //**********************************************************************************************
134 };
136 //*************************************************************************************************
137 
138 
139 //*************************************************************************************************
152 template< typename T >
154 //*************************************************************************************************
155 
156 } // namespace blaze
157 
158 #endif
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
typename RemoveAdaptor< T >::Type RemoveAdaptor_t
Auxiliary alias declaration for the RemoveAdaptor type trait.The RemoveAdaptor_t alias declaration pr...
Definition: RemoveAdaptor.h:153
Removal of top level adaptor types.In case the given type is an adaptor type (SymmetricMatrix,...
Definition: RemoveAdaptor.h:76