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 
78 
79 //=================================================================================================
80 //
81 // CLASS ISNOTHROWCONSTRUCTIBLE
82 //
83 //=================================================================================================
84 
85 //*************************************************************************************************
100 template< typename T, typename... Args >
102  : public BoolConstant< std::is_nothrow_constructible<T,Args...>::value >
103 {};
104 //*************************************************************************************************
105 
106 
107 
108 
109 //=================================================================================================
110 //
111 // CLASS ISDEFAULTCONSTRUCTIBLE
112 //
113 //=================================================================================================
114 
115 //*************************************************************************************************
130 template< typename T >
132  : public BoolConstant< std::is_default_constructible<T>::value >
133 {};
134 //*************************************************************************************************
135 
136 
137 
138 
139 //=================================================================================================
140 //
141 // CLASS ISNOTHROWDEFAULTCONSTRUCTIBLE
142 //
143 //=================================================================================================
144 
145 //*************************************************************************************************
160 template< typename T >
162  : public BoolConstant< std::is_nothrow_default_constructible<T>::value >
163 {};
164 //*************************************************************************************************
165 
166 
167 
168 
169 //=================================================================================================
170 //
171 // CLASS ISCOPYCONSTRUCTIBLE
172 //
173 //=================================================================================================
174 
175 //*************************************************************************************************
190 template< typename T >
192  : public BoolConstant< std::is_copy_constructible<T>::value >
193 {};
194 //*************************************************************************************************
195 
196 
197 
198 
199 //=================================================================================================
200 //
201 // CLASS ISNOTHROWCOPYCONSTRUCTIBLE
202 //
203 //=================================================================================================
204 
205 //*************************************************************************************************
220 template< typename T >
222  : public BoolConstant< std::is_copy_constructible<T>::value >
223 {};
224 //*************************************************************************************************
225 
226 
227 
228 
229 //=================================================================================================
230 //
231 // CLASS ISMOVECONSTRUCTIBLE
232 //
233 //=================================================================================================
234 
235 //*************************************************************************************************
250 template< typename T >
252  : public BoolConstant< std::is_move_constructible<T>::value >
253 {};
254 //*************************************************************************************************
255 
256 
257 
258 
259 //=================================================================================================
260 //
261 // CLASS ISNOTHROWMOVECONSTRUCTIBLE
262 //
263 //=================================================================================================
264 
265 //*************************************************************************************************
280 template< typename T >
282  : public BoolConstant< std::is_nothrow_move_constructible<T>::value >
283 {};
284 //*************************************************************************************************
285 
286 } // namespace blaze
287 
288 #endif
Compile time type check.The IsNothrowCopyConstructible type trait tests whether the expression...
Definition: IsConstructible.h:221
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:251
Compile time type check.The IsDefaultConstructible type trait tests whether the expression.
Definition: IsConstructible.h:131
Compile time type check.The IsCopyConstructible type trait tests whether the expression.
Definition: IsConstructible.h:191
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
Compile time type check.The IsNothrowConstructible type trait tests whether the expression.
Definition: IsConstructible.h:101
Compile time type check.The IsNothrowDefaultConstructible type trait tests whether the expression...
Definition: IsConstructible.h:161
Compile time type check.The IsNothrowMoveConstructible type trait tests whether the expression...
Definition: IsConstructible.h:281
Header file for the IntegralConstant class template.