Blaze 3.9
Size.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_UTIL_CONSTRAINTS_SIZE_H_
36#define _BLAZE_UTIL_CONSTRAINTS_SIZE_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
44
45
46namespace blaze {
47
48//=================================================================================================
49//
50// MUST_HAVE_SIZE CONSTRAINT
51//
52//=================================================================================================
53
54//*************************************************************************************************
60#define BLAZE_CONSTRAINT_MUST_HAVE_SIZE(T,S) \
61 static_assert( ::blaze::HasSize_v<T,S>, "Invalid size detected" )
62//*************************************************************************************************
63
64
65
66
67//=================================================================================================
68//
69// MUST_NOT_HAVE_SIZE CONSTRAINT
70//
71//=================================================================================================
72
73//*************************************************************************************************
79#define BLAZE_CONSTRAINT_MUST_NOT_HAVE_SIZE(T,S) \
80 static_assert( !::blaze::HasSize_v<T,S>, "Invalid size detected" )
81//*************************************************************************************************
82
83
84
85
86//=================================================================================================
87//
88// MUST_HAVE_1_BYTE CONSTRAINT
89//
90//=================================================================================================
91
92//*************************************************************************************************
98#define BLAZE_CONSTRAINT_MUST_HAVE_1_BYTE(T) \
99 static_assert( ::blaze::Has1Byte_v<T>, "Invalid size detected" )
100//*************************************************************************************************
101
102
103
104
105//=================================================================================================
106//
107// MUST_NOT_HAVE_1_BYTE CONSTRAINT
108//
109//=================================================================================================
110
111//*************************************************************************************************
117#define BLAZE_CONSTRAINT_MUST_NOT_HAVE_1_BYTE(T) \
118 static_assert( !::blaze::Has1Byte_v<T>, "Invalid size detected" )
119//*************************************************************************************************
120
121
122
123
124//=================================================================================================
125//
126// MUST_HAVE_2_BYTES CONSTRAINT
127//
128//=================================================================================================
129
130//*************************************************************************************************
136#define BLAZE_CONSTRAINT_MUST_HAVE_2_BYTES(T) \
137 static_assert( ::blaze::Has2Byte_v<T>, "Invalid size detected" )
138//*************************************************************************************************
139
140
141
142
143//=================================================================================================
144//
145// MUST_NOT_HAVE_2_BYTES CONSTRAINT
146//
147//=================================================================================================
148
149//*************************************************************************************************
155#define BLAZE_CONSTRAINT_MUST_NOT_HAVE_2_BYTES(T) \
156 static_assert( !::blaze::Has2Byte_v<T>, "Invalid size detected" )
157//*************************************************************************************************
158
159
160
161
162//=================================================================================================
163//
164// MUST_HAVE_4_BYTES CONSTRAINT
165//
166//=================================================================================================
167
168//*************************************************************************************************
174#define BLAZE_CONSTRAINT_MUST_HAVE_4_BYTES(T) \
175 static_assert( ::blaze::Has4Byte_v<T>, "Invalid size detected" )
176//*************************************************************************************************
177
178
179
180
181//=================================================================================================
182//
183// MUST_NOT_HAVE_4_BYTES CONSTRAINT
184//
185//=================================================================================================
186
187//*************************************************************************************************
193#define BLAZE_CONSTRAINT_MUST_NOT_HAVE_4_BYTES(T) \
194 static_assert( !::blaze::Has4Byte_v<T>, "Invalid size detected" )
195//*************************************************************************************************
196
197
198
199
200//=================================================================================================
201//
202// MUST_HAVE_8_BYTES CONSTRAINT
203//
204//=================================================================================================
205
206
207//*************************************************************************************************
213#define BLAZE_CONSTRAINT_MUST_HAVE_8_BYTES(T) \
214 static_assert( ::blaze::Has8Byte_v<T>, "Invalid size detected" )
215//*************************************************************************************************
216
217
218
219
220//=================================================================================================
221//
222// MUST_NOT_HAVE_8_BYTES CONSTRAINT
223//
224//=================================================================================================
225
226//*************************************************************************************************
232#define BLAZE_CONSTRAINT_MUST_NOT_HAVE_8_BYTES(T) \
233 static_assert( !::blaze::Has8Byte_v<T>, "Invalid size detected" )
234//*************************************************************************************************
235
236} // namespace blaze
237
238#endif
Header file for the HasSize type trait.