Blaze 3.9
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
47namespace blaze {
48
49//=================================================================================================
50//
51// CLASS ISASSIGNABLE
52//
53//=================================================================================================
54
55//*************************************************************************************************
70template< typename T, typename U >
72 : public BoolConstant< std::is_assignable<T,U>::value >
73{};
74//*************************************************************************************************
75
76
77//*************************************************************************************************
90template< typename T, typename U >
92//*************************************************************************************************
93
94
95
96
97//=================================================================================================
98//
99// CLASS ISNOTHROWASSIGNABLE
100//
101//=================================================================================================
102
103//*************************************************************************************************
119template< typename T, typename U >
121 : public BoolConstant< std::is_nothrow_assignable<T,U>::value >
122{};
123//*************************************************************************************************
124
125
126//*************************************************************************************************
139template< typename T, typename U >
141//*************************************************************************************************
142
143
144
145
146//=================================================================================================
147//
148// CLASS ISCOPYASSIGNABLE
149//
150//=================================================================================================
151
152//*************************************************************************************************
167template< typename T >
169 : public BoolConstant< std::is_copy_assignable<T>::value >
170{};
171//*************************************************************************************************
172
173
174//*************************************************************************************************
187template< typename T >
189//*************************************************************************************************
190
191
192
193
194//=================================================================================================
195//
196// CLASS ISNOTHROWCOPYASSIGNABLE
197//
198//=================================================================================================
199
200//*************************************************************************************************
216template< typename T >
218 : public BoolConstant< std::is_nothrow_copy_assignable<T>::value >
219{};
220//*************************************************************************************************
221
222
223//*************************************************************************************************
236template< typename T >
238//*************************************************************************************************
239
240
241
242
243//=================================================================================================
244//
245// CLASS ISMOVEASSIGNABLE
246//
247//=================================================================================================
248
249//*************************************************************************************************
264template< typename T >
266 : public BoolConstant< std::is_move_assignable<T>::value >
267{};
268//*************************************************************************************************
269
270
271//*************************************************************************************************
284template< typename T >
286//*************************************************************************************************
287
288
289
290
291//=================================================================================================
292//
293// CLASS ISNOTHROWMOVEASSIGNABLE
294//
295//=================================================================================================
296
297//*************************************************************************************************
313template< typename T >
315 : public BoolConstant< std::is_nothrow_move_assignable<T>::value >
316{};
317//*************************************************************************************************
318
319
320//*************************************************************************************************
333template< typename T >
335//*************************************************************************************************
336
337} // namespace blaze
338
339#endif
Header file for the IntegralConstant class template.
constexpr bool IsNothrowAssignable_v
Auxiliary variable template for the IsNothrowAssignable type trait.
Definition: IsAssignable.h:140
constexpr bool IsNothrowCopyAssignable_v
Auxiliary variable template for the IsNothrowCopyAssignable type trait.
Definition: IsAssignable.h:237
constexpr bool IsCopyAssignable_v
Auxiliary variable template for the IsCopyAssignable type trait.
Definition: IsAssignable.h:188
constexpr bool IsAssignable_v
Auxiliary variable template for the IsAssignable type trait.
Definition: IsAssignable.h:91
constexpr bool IsMoveAssignable_v
Auxiliary variable template for the IsMoveAssignable type trait.
Definition: IsAssignable.h:285
constexpr bool IsNothrowMoveAssignable_v
Auxiliary variable template for the IsNothrowMoveAssignable type trait.
Definition: IsAssignable.h:334
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time type check.
Definition: IsAssignable.h:73
Compile time type check.
Definition: IsAssignable.h:170
Compile time type check.
Definition: IsAssignable.h:267
Compile time type check.
Definition: IsAssignable.h:122
Compile time type check.
Definition: IsAssignable.h:219
Compile time type check.
Definition: IsAssignable.h:316