Blaze
3.9
blaze
util
constraints
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
43
#include <
blaze/util/typetraits/HasSize.h
>
44
45
46
namespace
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
HasSize.h
Header file for the HasSize type trait.
Generated by
1.9.3