IsConstructible.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_TYPETRAITS_ISCONSTRUCTIBLE_H_
36 #define _BLAZE_UTIL_TYPETRAITS_ISCONSTRUCTIBLE_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <type_traits>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS ISCONSTRUCTIBLE
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
70 template< typename T, typename... Args >
72  : public BoolConstant< std::is_constructible<T,Args...>::value >
73 {};
74 //*************************************************************************************************
75 
76 
77 //*************************************************************************************************
90 template< typename T, typename... Args >
92 //*************************************************************************************************
93 
94 
95 
96 
97 //=================================================================================================
98 //
99 // CLASS ISNOTHROWCONSTRUCTIBLE
100 //
101 //=================================================================================================
102 
103 //*************************************************************************************************
118 template< typename T, typename... Args >
120  : public BoolConstant< std::is_nothrow_constructible<T,Args...>::value >
121 {};
122 //*************************************************************************************************
123 
124 
125 //*************************************************************************************************
138 template< typename T, typename... Args >
140 //*************************************************************************************************
141 
142 
143 
144 
145 //=================================================================================================
146 //
147 // CLASS ISDEFAULTCONSTRUCTIBLE
148 //
149 //=================================================================================================
150 
151 //*************************************************************************************************
166 template< typename T >
168  : public BoolConstant< std::is_default_constructible<T>::value >
169 {};
170 //*************************************************************************************************
171 
172 
173 //*************************************************************************************************
186 template< typename T >
188 //*************************************************************************************************
189 
190 
191 
192 
193 //=================================================================================================
194 //
195 // CLASS ISNOTHROWDEFAULTCONSTRUCTIBLE
196 //
197 //=================================================================================================
198 
199 //*************************************************************************************************
214 template< typename T >
216  : public BoolConstant< std::is_nothrow_default_constructible<T>::value >
217 {};
218 //*************************************************************************************************
219 
220 
221 //*************************************************************************************************
234 template< typename T >
236 //*************************************************************************************************
237 
238 
239 
240 
241 //=================================================================================================
242 //
243 // CLASS ISCOPYCONSTRUCTIBLE
244 //
245 //=================================================================================================
246 
247 //*************************************************************************************************
262 template< typename T >
264  : public BoolConstant< std::is_copy_constructible<T>::value >
265 {};
266 //*************************************************************************************************
267 
268 
269 //*************************************************************************************************
282 template< typename T >
284 //*************************************************************************************************
285 
286 
287 
288 
289 //=================================================================================================
290 //
291 // CLASS ISNOTHROWCOPYCONSTRUCTIBLE
292 //
293 //=================================================================================================
294 
295 //*************************************************************************************************
310 template< typename T >
312  : public BoolConstant< std::is_copy_constructible<T>::value >
313 {};
314 //*************************************************************************************************
315 
316 
317 //*************************************************************************************************
330 template< typename T >
332 //*************************************************************************************************
333 
334 
335 
336 
337 //=================================================================================================
338 //
339 // CLASS ISMOVECONSTRUCTIBLE
340 //
341 //=================================================================================================
342 
343 //*************************************************************************************************
358 template< typename T >
360  : public BoolConstant< std::is_move_constructible<T>::value >
361 {};
362 //*************************************************************************************************
363 
364 
365 //*************************************************************************************************
378 template< typename T >
380 //*************************************************************************************************
381 
382 
383 
384 
385 //=================================================================================================
386 //
387 // CLASS ISNOTHROWMOVECONSTRUCTIBLE
388 //
389 //=================================================================================================
390 
391 //*************************************************************************************************
406 template< typename T >
408  : public BoolConstant< std::is_nothrow_move_constructible<T>::value >
409 {};
410 //*************************************************************************************************
411 
412 
413 //*************************************************************************************************
426 template< typename T >
428 //*************************************************************************************************
429 
430 } // namespace blaze
431 
432 #endif
Compile time type check.The IsNothrowCopyConstructible type trait tests whether the expression...
Definition: IsConstructible.h:311
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
Compile time type check.The IsMoveConstructible type trait tests whether the expression.
Definition: IsConstructible.h:359
Compile time type check.The IsDefaultConstructible type trait tests whether the expression.
Definition: IsConstructible.h:167
constexpr bool IsNothrowConstructible_v
Auxiliary variable template for the IsNothrowConstructible type trait.The IsNothrowConstructible_v va...
Definition: IsConstructible.h:139
Compile time type check.The IsCopyConstructible type trait tests whether the expression.
Definition: IsConstructible.h:263
constexpr bool IsNothrowMoveConstructible_v
Auxiliary variable template for the IsNothrowMoveConstructible type trait.The IsNothrowMoveConstructi...
Definition: IsConstructible.h:427
Compile time type check.The IsConstructible type trait tests whether the expression.
Definition: IsConstructible.h:71
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
constexpr bool IsDefaultConstructible_v
Auxiliary variable template for the IsDefaultConstructible type trait.The IsDefaultConstructible_v va...
Definition: IsConstructible.h:187
constexpr bool IsNothrowCopyConstructible_v
Auxiliary variable template for the IsNothrowCopyConstructible type trait.The IsNothrowCopyConstructi...
Definition: IsConstructible.h:331
Compile time type check.The IsNothrowConstructible type trait tests whether the expression.
Definition: IsConstructible.h:119
constexpr bool IsNothrowDefaultConstructible_v
Auxiliary variable template for the IsNothrowDefaultConstructible type trait.The IsNothrowDefaultCons...
Definition: IsConstructible.h:235
Compile time type check.The IsNothrowDefaultConstructible type trait tests whether the expression...
Definition: IsConstructible.h:215
Compile time type check.The IsNothrowMoveConstructible type trait tests whether the expression...
Definition: IsConstructible.h:407
Header file for the IntegralConstant class template.
constexpr bool IsConstructible_v
Auxiliary variable template for the IsConstructible type trait.The IsConstructible_v variable templat...
Definition: IsConstructible.h:91
constexpr bool IsCopyConstructible_v
Auxiliary variable template for the IsCopyConstructible type trait.The IsCopyConstructible_v variable...
Definition: IsConstructible.h:283
constexpr bool IsMoveConstructible_v
Auxiliary variable template for the IsMoveConstructible type trait.The IsMoveConstructible_v variable...
Definition: IsConstructible.h:379