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