Destructible.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_UTIL_CONSTRAINTS_DESTRUCTIBLE_H_
36 #define _BLAZE_UTIL_CONSTRAINTS_DESTRUCTIBLE_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
44 
45 
46 namespace blaze {
47 
48 //=================================================================================================
49 //
50 // MUST_BE_DESTRUCTIBLE_TYPE CONSTRAINT
51 //
52 //=================================================================================================
53 
54 //*************************************************************************************************
61 #define BLAZE_CONSTRAINT_MUST_BE_DESTRUCTIBLE_TYPE(T) \
62  static_assert( ::blaze::IsDestructible<T>::value, "Non-destructible type detected" )
63 //*************************************************************************************************
64 
65 
66 
67 
68 //=================================================================================================
69 //
70 // MUST_NOT_BE_DESTRUCTIBLE_TYPE CONSTRAINT
71 //
72 //=================================================================================================
73 
74 //*************************************************************************************************
81 #define BLAZE_CONSTRAINT_MUST_NOT_BE_DESTRUCTIBLE_TYPE(T) \
82  static_assert( !::blaze::IsDestructible<T>::value, "Destructible type detected" )
83 //*************************************************************************************************
84 
85 
86 
87 
88 //=================================================================================================
89 //
90 // MUST_BE_NOTHROW_DESTRUCTIBLE_TYPE CONSTRAINT
91 //
92 //=================================================================================================
93 
94 //*************************************************************************************************
101 #define BLAZE_CONSTRAINT_MUST_BE_NOTHROW_DESTRUCTIBLE_TYPE(T) \
102  static_assert( ::blaze::IsNothrowDestructible<T>::value, "Non-noexcept destructible type detected" )
103 //*************************************************************************************************
104 
105 
106 
107 
108 //=================================================================================================
109 //
110 // MUST_NOT_BE_NOTHROW_DESTRUCTIBLE_TYPE CONSTRAINT
111 //
112 //=================================================================================================
113 
114 //*************************************************************************************************
121 #define BLAZE_CONSTRAINT_MUST_NOT_BE_NOTHROW_DESTRUCTIBLE_TYPE(T) \
122  static_assert( !::blaze::IsNothrowDestructible<T>::value, "Noexcept destructible type detected" )
123 //*************************************************************************************************
124 
125 } // namespace blaze
126 
127 #endif
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the IsDestructible type trait.