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 DEFINITIONS
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
70 template< typename T, typename... Args >
72  : public BoolConstant< std::is_constructible<T,Args...>::value >
73 {};
74 //*************************************************************************************************
75 
76 
77 //*************************************************************************************************
92 template< typename T, typename... Args >
94  : public BoolConstant< std::is_nothrow_constructible<T,Args...>::value >
95 {};
96 //*************************************************************************************************
97 
98 
99 //*************************************************************************************************
114 template< typename T >
116  : public BoolConstant< std::is_default_constructible<T>::value >
117 {};
118 //*************************************************************************************************
119 
120 
121 //*************************************************************************************************
136 template< typename T >
138  : public BoolConstant< std::is_nothrow_default_constructible<T>::value >
139 {};
140 //*************************************************************************************************
141 
142 
143 //*************************************************************************************************
158 template< typename T >
160  : public BoolConstant< std::is_copy_constructible<T>::value >
161 {};
162 //*************************************************************************************************
163 
164 
165 //*************************************************************************************************
180 template< typename T >
182  : public BoolConstant< std::is_copy_constructible<T>::value >
183 {};
184 //*************************************************************************************************
185 
186 
187 //*************************************************************************************************
202 template< typename T >
204  : public BoolConstant< std::is_move_constructible<T>::value >
205 {};
206 //*************************************************************************************************
207 
208 
209 //*************************************************************************************************
224 template< typename T >
226  : public BoolConstant< std::is_nothrow_move_constructible<T>::value >
227 {};
228 //*************************************************************************************************
229 
230 } // namespace blaze
231 
232 #endif
Compile time type check.The IsNothrowCopyConstructible type trait tests whether the expression...
Definition: IsConstructible.h:181
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:203
Compile time type check.The IsDefaultConstructible type trait tests whether the expression.
Definition: IsConstructible.h:115
Compile time type check.The IsCopyConstructible type trait tests whether the expression.
Definition: IsConstructible.h:159
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:57
Compile time type check.The IsNothrowConstructible type trait tests whether the expression.
Definition: IsConstructible.h:93
Compile time type check.The IsDefaultConstructible type trait tests whether the expression.
Definition: IsConstructible.h:137
Compile time type check.The IsNothrowMoveConstructible type trait tests whether the expression...
Definition: IsConstructible.h:225
Header file for the IntegralConstant class template.