IsAssignable.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_TYPETRAITS_ISASSIGNABLE_H_
36 #define _BLAZE_UTIL_TYPETRAITS_ISASSIGNABLE_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <type_traits>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS ISASSIGNABLE
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
70 template< typename T, typename U >
72  : public BoolConstant< std::is_assignable<T,U>::value >
73 {};
74 //*************************************************************************************************
75 
76 
77 
78 
79 //=================================================================================================
80 //
81 // CLASS ISNOTHROWASSIGNABLE
82 //
83 //=================================================================================================
84 
85 //*************************************************************************************************
101 template< typename T, typename U >
103  : public BoolConstant< std::is_nothrow_assignable<T,U>::value >
104 {};
105 //*************************************************************************************************
106 
107 
108 
109 
110 //=================================================================================================
111 //
112 // CLASS ISCOPYASSIGNABLE
113 //
114 //=================================================================================================
115 
116 //*************************************************************************************************
131 template< typename T >
133  : public BoolConstant< std::is_copy_assignable<T>::value >
134 {};
135 //*************************************************************************************************
136 
137 
138 
139 
140 //=================================================================================================
141 //
142 // CLASS ISNOTHROWCOPYASSIGNABLE
143 //
144 //=================================================================================================
145 
146 //*************************************************************************************************
162 template< typename T >
164  : public BoolConstant< std::is_nothrow_copy_assignable<T>::value >
165 {};
166 //*************************************************************************************************
167 
168 
169 
170 
171 //=================================================================================================
172 //
173 // CLASS ISMOVEASSIGNABLE
174 //
175 //=================================================================================================
176 
177 //*************************************************************************************************
192 template< typename T >
194  : public BoolConstant< std::is_move_assignable<T>::value >
195 {};
196 //*************************************************************************************************
197 
198 
199 
200 
201 //=================================================================================================
202 //
203 // CLASS ISNOTHROWMOVEASSIGNABLE
204 //
205 //=================================================================================================
206 
207 //*************************************************************************************************
223 template< typename T >
225  : public BoolConstant< std::is_nothrow_move_assignable<T>::value >
226 {};
227 //*************************************************************************************************
228 
229 } // namespace blaze
230 
231 #endif
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
Compile time type check.The IsMoveAssignable type trait tests whether the expression.
Definition: IsAssignable.h:193
Compile time type check.The IsCopyAssignable type trait tests whether the expression.
Definition: IsAssignable.h:132
Compile time type check.The IsNothrowMoveAssignable type trait tests whether the expression.
Definition: IsAssignable.h:224
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Compile time type check.The IsNothrowAssignable type trait tests whether the expression.
Definition: IsAssignable.h:102
Compile time type check.The IsAssignable type trait tests whether the expression. ...
Definition: IsAssignable.h:71
Header file for the IntegralConstant class template.
Compile time type check.The IsNothrowCopyAssignable type trait tests whether the expression.
Definition: IsAssignable.h:163