WSF
MessageDefines_Details.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11#define DEFINE_DEBUG_MEMBERS1(C1) \
12 virtual const char* GetFieldName(int i) \
13 { \
14 const char* names[] = {#C1}; \
15 return names[i]; \
16 }
17#define DEFINE_DEBUG_MEMBERS2(C1, C2) \
18 virtual const char* GetFieldName(int i) \
19 { \
20 const char* names[] = {#C1, #C2}; \
21 return names[i]; \
22 }
23#define DEFINE_DEBUG_MEMBERS3(C1, C2, C3) \
24 virtual const char* GetFieldName(int i) \
25 { \
26 const char* names[] = {#C1, #C2, #C3}; \
27 return names[i]; \
28 }
29#define DEFINE_DEBUG_MEMBERS4(C1, C2, C3, C4) \
30 virtual const char* GetFieldName(int i) \
31 { \
32 const char* names[] = {#C1, #C2, #C3, #C4}; \
33 return names[i]; \
34 }
35#define DEFINE_DEBUG_MEMBERS5(C1, C2, C3, C4, C5) \
36 virtual const char* GetFieldName(int i) \
37 { \
38 const char* names[] = {#C1, #C2, #C3, #C4, #C5}; \
39 return names[i]; \
40 }
41#define DEFINE_DEBUG_MEMBERS6(C1, C2, C3, C4, C5, C6) \
42 virtual const char* GetFieldName(int i) \
43 { \
44 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6}; \
45 return names[i]; \
46 }
47#define DEFINE_DEBUG_MEMBERS7(C1, C2, C3, C4, C5, C6, C7) \
48 virtual const char* GetFieldName(int i) \
49 { \
50 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7}; \
51 return names[i]; \
52 }
53#define DEFINE_DEBUG_MEMBERS8(C1, C2, C3, C4, C5, C6, C7, C8) \
54 virtual const char* GetFieldName(int i) \
55 { \
56 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8}; \
57 return names[i]; \
58 }
59#define DEFINE_DEBUG_MEMBERS9(C1, C2, C3, C4, C5, C6, C7, C8, C9) \
60 virtual const char* GetFieldName(int i) \
61 { \
62 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9}; \
63 return names[i]; \
64 }
65#define DEFINE_DEBUG_MEMBERS10(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10) \
66 virtual const char* GetFieldName(int i) \
67 { \
68 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10}; \
69 return names[i]; \
70 }
71#define DEFINE_DEBUG_MEMBERS11(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11) \
72 virtual const char* GetFieldName(int i) \
73 { \
74 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11}; \
75 return names[i]; \
76 }
77#define DEFINE_DEBUG_MEMBERS12(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12) \
78 virtual const char* GetFieldName(int i) \
79 { \
80 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12}; \
81 return names[i]; \
82 }
83#define DEFINE_DEBUG_MEMBERS13(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13) \
84 virtual const char* GetFieldName(int i) \
85 { \
86 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13}; \
87 return names[i]; \
88 }
89#define DEFINE_DEBUG_MEMBERS14(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14) \
90 virtual const char* GetFieldName(int i) \
91 { \
92 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14}; \
93 return names[i]; \
94 }
95#define DEFINE_DEBUG_MEMBERS15(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15) \
96 virtual const char* GetFieldName(int i) \
97 { \
98 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, #C15}; \
99 return names[i]; \
100 }
101#define DEFINE_DEBUG_MEMBERS16(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16) \
102 virtual const char* GetFieldName(int i) \
103 { \
104 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, #C15, #C16}; \
105 return names[i]; \
106 }
107#define DEFINE_DEBUG_MEMBERS17(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17) \
108 virtual const char* GetFieldName(int i) \
109 { \
110 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, #C15, #C16, #C17}; \
111 return names[i]; \
112 }
113#define DEFINE_DEBUG_MEMBERS18(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18) \
114 virtual const char* GetFieldName(int i) \
115 { \
116 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, #C15, #C16, #C17, #C18}; \
117 return names[i]; \
118 }
119#define DEFINE_DEBUG_MEMBERS19(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19) \
120 virtual const char* GetFieldName(int i) \
121 { \
122 const char* names[] = \
123 {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, #C15, #C16, #C17, #C18, #C19}; \
124 return names[i]; \
125 }
126#define DEFINE_DEBUG_MEMBERS20(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20) \
127 virtual const char* GetFieldName(int i) \
128 { \
129 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, \
130 #C11, #C12, #C13, #C14, #C15, #C16, #C17, #C18, #C19, #C20}; \
131 return names[i]; \
132 }
133#define DEFINE_DEBUG_MEMBERS21(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21) \
134 virtual const char* GetFieldName(int i) \
135 { \
136 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, \
137 #C12, #C13, #C14, #C15, #C16, #C17, #C18, #C19, #C20, #C21}; \
138 return names[i]; \
139 }
140#define DEFINE_DEBUG_MEMBERS22(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22) \
141 virtual const char* GetFieldName(int i) \
142 { \
143 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, \
144 #C12, #C13, #C14, #C15, #C16, #C17, #C18, #C19, #C20, #C21, #C22}; \
145 return names[i]; \
146 }
147#define DEFINE_DEBUG_MEMBERS23(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23) \
148 virtual const char* GetFieldName(int i) \
149 { \
150 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, \
151 #C13, #C14, #C15, #C16, #C17, #C18, #C19, #C20, #C21, #C22, #C23}; \
152 return names[i]; \
153 }
154#define DEFINE_DEBUG_MEMBERS24(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24) \
155 virtual const char* GetFieldName(int i) \
156 { \
157 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, \
158 #C13, #C14, #C15, #C16, #C17, #C18, #C19, #C20, #C21, #C22, #C23, #C24}; \
159 return names[i]; \
160 }
161#define DEFINE_DEBUG_MEMBERS25(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25) \
162 virtual const char* GetFieldName(int i) \
163 { \
164 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, \
165 #C14, #C15, #C16, #C17, #C18, #C19, #C20, #C21, #C22, #C23, #C24, #C25}; \
166 return names[i]; \
167 }
168#define DEFINE_DEBUG_MEMBERS26(C1, \
169 C2, \
170 C3, \
171 C4, \
172 C5, \
173 C6, \
174 C7, \
175 C8, \
176 C9, \
177 C10, \
178 C11, \
179 C12, \
180 C13, \
181 C14, \
182 C15, \
183 C16, \
184 C17, \
185 C18, \
186 C19, \
187 C20, \
188 C21, \
189 C22, \
190 C23, \
191 C24, \
192 C25, \
193 C26) \
194 virtual const char* GetFieldName(int i) \
195 { \
196 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, \
197 #C14, #C15, #C16, #C17, #C18, #C19, #C20, #C21, #C22, #C23, #C24, #C25, #C26}; \
198 return names[i]; \
199 }
200#define DEFINE_DEBUG_MEMBERS27(C1, \
201 C2, \
202 C3, \
203 C4, \
204 C5, \
205 C6, \
206 C7, \
207 C8, \
208 C9, \
209 C10, \
210 C11, \
211 C12, \
212 C13, \
213 C14, \
214 C15, \
215 C16, \
216 C17, \
217 C18, \
218 C19, \
219 C20, \
220 C21, \
221 C22, \
222 C23, \
223 C24, \
224 C25, \
225 C26, \
226 C27) \
227 virtual const char* GetFieldName(int i) \
228 { \
229 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, \
230 #C15, #C16, #C17, #C18, #C19, #C20, #C21, #C22, #C23, #C24, #C25, #C26, #C27}; \
231 return names[i]; \
232 }
233#define DEFINE_DEBUG_MEMBERS28(C1, \
234 C2, \
235 C3, \
236 C4, \
237 C5, \
238 C6, \
239 C7, \
240 C8, \
241 C9, \
242 C10, \
243 C11, \
244 C12, \
245 C13, \
246 C14, \
247 C15, \
248 C16, \
249 C17, \
250 C18, \
251 C19, \
252 C20, \
253 C21, \
254 C22, \
255 C23, \
256 C24, \
257 C25, \
258 C26, \
259 C27, \
260 C28) \
261 virtual const char* GetFieldName(int i) \
262 { \
263 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, \
264 #C15, #C16, #C17, #C18, #C19, #C20, #C21, #C22, #C23, #C24, #C25, #C26, #C27, #C28}; \
265 return names[i]; \
266 }
267#define DEFINE_DEBUG_MEMBERS29(C1, \
268 C2, \
269 C3, \
270 C4, \
271 C5, \
272 C6, \
273 C7, \
274 C8, \
275 C9, \
276 C10, \
277 C11, \
278 C12, \
279 C13, \
280 C14, \
281 C15, \
282 C16, \
283 C17, \
284 C18, \
285 C19, \
286 C20, \
287 C21, \
288 C22, \
289 C23, \
290 C24, \
291 C25, \
292 C26, \
293 C27, \
294 C28, \
295 C29) \
296 virtual const char* GetFieldName(int i) \
297 { \
298 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, #C15, \
299 #C16, #C17, #C18, #C19, #C20, #C21, #C22, #C23, #C24, #C25, #C26, #C27, #C28, #C29}; \
300 return names[i]; \
301 }
302#define DEFINE_DEBUG_MEMBERS30(C1, \
303 C2, \
304 C3, \
305 C4, \
306 C5, \
307 C6, \
308 C7, \
309 C8, \
310 C9, \
311 C10, \
312 C11, \
313 C12, \
314 C13, \
315 C14, \
316 C15, \
317 C16, \
318 C17, \
319 C18, \
320 C19, \
321 C20, \
322 C21, \
323 C22, \
324 C23, \
325 C24, \
326 C25, \
327 C26, \
328 C27, \
329 C28, \
330 C29, \
331 C30) \
332 virtual const char* GetFieldName(int i) \
333 { \
334 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, #C12, #C13, #C14, #C15, \
335 #C16, #C17, #C18, #C19, #C20, #C21, #C22, #C23, #C24, #C25, #C26, #C27, #C28, #C29, #C30}; \
336 return names[i]; \
337 }
338#define DEFINE_DEBUG_MEMBERS31(C1, \
339 C2, \
340 C3, \
341 C4, \
342 C5, \
343 C6, \
344 C7, \
345 C8, \
346 C9, \
347 C10, \
348 C11, \
349 C12, \
350 C13, \
351 C14, \
352 C15, \
353 C16, \
354 C17, \
355 C18, \
356 C19, \
357 C20, \
358 C21, \
359 C22, \
360 C23, \
361 C24, \
362 C25, \
363 C26, \
364 C27, \
365 C28, \
366 C29, \
367 C30, \
368 C31) \
369 virtual const char* GetFieldName(int i) \
370 { \
371 const char* names[] = {#C1, #C2, #C3, #C4, #C5, #C6, #C7, #C8, #C9, #C10, #C11, \
372 #C12, #C13, #C14, #C15, #C16, #C17, #C18, #C19, #C20, #C21, #C22, \
373 #C23, #C24, #C25, #C26, #C27, #C28, #C29, #C30, #C31}; \
374 return names[i]; \
375 }
376#define DEFINE_MEMBERS1(C1) \
377 FieldType1 C1; \
378 static const unsigned int FieldCount = 1; \
379 MessageSizeCheck<___RequiredMessageSize, FieldType1> __MessageSizeChecker__; \
380 template<class T> \
381 void Transfer(T& ar) \
382 { \
383 ar << C1; \
384 } \
385 DEFINE_DEBUG_MEMBERS1(C1)
386
387#define DEFINE_MEMBERS2(C1, C2) \
388 FieldType1 C1; \
389 FieldType2 C2; \
390 static const unsigned int FieldCount = 2; \
391 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2> __MessageSizeChecker__; \
392 template<class T> \
393 void Transfer(T& ar) \
394 { \
395 ar << C1 << C2; \
396 } \
397 DEFINE_DEBUG_MEMBERS2(C1, C2)
398
399#define DEFINE_MEMBERS3(C1, C2, C3) \
400 FieldType1 C1; \
401 FieldType2 C2; \
402 FieldType3 C3; \
403 static const unsigned int FieldCount = 3; \
404 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3> __MessageSizeChecker__; \
405 template<class T> \
406 void Transfer(T& ar) \
407 { \
408 ar << C1 << C2 << C3; \
409 } \
410 DEFINE_DEBUG_MEMBERS3(C1, C2, C3)
411
412#define DEFINE_MEMBERS4(C1, C2, C3, C4) \
413 FieldType1 C1; \
414 FieldType2 C2; \
415 FieldType3 C3; \
416 FieldType4 C4; \
417 static const unsigned int FieldCount = 4; \
418 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4> __MessageSizeChecker__; \
419 template<class T> \
420 void Transfer(T& ar) \
421 { \
422 ar << C1 << C2 << C3 << C4; \
423 } \
424 DEFINE_DEBUG_MEMBERS4(C1, C2, C3, C4)
425
426#define DEFINE_MEMBERS5(C1, C2, C3, C4, C5) \
427 FieldType1 C1; \
428 FieldType2 C2; \
429 FieldType3 C3; \
430 FieldType4 C4; \
431 FieldType5 C5; \
432 static const unsigned int FieldCount = 5; \
433 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5> __MessageSizeChecker__; \
434 template<class T> \
435 void Transfer(T& ar) \
436 { \
437 ar << C1 << C2 << C3 << C4 << C5; \
438 } \
439 DEFINE_DEBUG_MEMBERS5(C1, C2, C3, C4, C5)
440
441#define DEFINE_MEMBERS6(C1, C2, C3, C4, C5, C6) \
442 FieldType1 C1; \
443 FieldType2 C2; \
444 FieldType3 C3; \
445 FieldType4 C4; \
446 FieldType5 C5; \
447 FieldType6 C6; \
448 static const unsigned int FieldCount = 6; \
449 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5, FieldType6> __MessageSizeChecker__; \
450 template<class T> \
451 void Transfer(T& ar) \
452 { \
453 ar << C1 << C2 << C3 << C4 << C5 << C6; \
454 } \
455 DEFINE_DEBUG_MEMBERS6(C1, C2, C3, C4, C5, C6)
456
457#define DEFINE_MEMBERS7(C1, C2, C3, C4, C5, C6, C7) \
458 FieldType1 C1; \
459 FieldType2 C2; \
460 FieldType3 C3; \
461 FieldType4 C4; \
462 FieldType5 C5; \
463 FieldType6 C6; \
464 FieldType7 C7; \
465 static const unsigned int FieldCount = 7; \
466 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5, FieldType6, FieldType7> \
467 __MessageSizeChecker__; \
468 template<class T> \
469 void Transfer(T& ar) \
470 { \
471 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7; \
472 } \
473 DEFINE_DEBUG_MEMBERS7(C1, C2, C3, C4, C5, C6, C7)
474
475#define DEFINE_MEMBERS8(C1, C2, C3, C4, C5, C6, C7, C8) \
476 FieldType1 C1; \
477 FieldType2 C2; \
478 FieldType3 C3; \
479 FieldType4 C4; \
480 FieldType5 C5; \
481 FieldType6 C6; \
482 FieldType7 C7; \
483 FieldType8 C8; \
484 static const unsigned int FieldCount = 8; \
485 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5, FieldType6, FieldType7, FieldType8> \
486 __MessageSizeChecker__; \
487 template<class T> \
488 void Transfer(T& ar) \
489 { \
490 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8; \
491 } \
492 DEFINE_DEBUG_MEMBERS8(C1, C2, C3, C4, C5, C6, C7, C8)
493
494#define DEFINE_MEMBERS9(C1, C2, C3, C4, C5, C6, C7, C8, C9) \
495 FieldType1 C1; \
496 FieldType2 C2; \
497 FieldType3 C3; \
498 FieldType4 C4; \
499 FieldType5 C5; \
500 FieldType6 C6; \
501 FieldType7 C7; \
502 FieldType8 C8; \
503 FieldType9 C9; \
504 static const unsigned int FieldCount = 9; \
505 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5, FieldType6, FieldType7, FieldType8, FieldType9> \
506 __MessageSizeChecker__; \
507 template<class T> \
508 void Transfer(T& ar) \
509 { \
510 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9; \
511 } \
512 DEFINE_DEBUG_MEMBERS9(C1, C2, C3, C4, C5, C6, C7, C8, C9)
513
514#define DEFINE_MEMBERS10(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10) \
515 FieldType1 C1; \
516 FieldType2 C2; \
517 FieldType3 C3; \
518 FieldType4 C4; \
519 FieldType5 C5; \
520 FieldType6 C6; \
521 FieldType7 C7; \
522 FieldType8 C8; \
523 FieldType9 C9; \
524 FieldType10 C10; \
525 static const unsigned int FieldCount = 10; \
526 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5, FieldType6, FieldType7, FieldType8, FieldType9, FieldType10> \
527 __MessageSizeChecker__; \
528 template<class T> \
529 void Transfer(T& ar) \
530 { \
531 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10; \
532 } \
533 DEFINE_DEBUG_MEMBERS10(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)
534
535#define DEFINE_MEMBERS11(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11) \
536 FieldType1 C1; \
537 FieldType2 C2; \
538 FieldType3 C3; \
539 FieldType4 C4; \
540 FieldType5 C5; \
541 FieldType6 C6; \
542 FieldType7 C7; \
543 FieldType8 C8; \
544 FieldType9 C9; \
545 FieldType10 C10; \
546 FieldType11 C11; \
547 static const unsigned int FieldCount = 11; \
548 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5, FieldType6, FieldType7, FieldType8, FieldType9, FieldType10, FieldType11> \
549 __MessageSizeChecker__; \
550 template<class T> \
551 void Transfer(T& ar) \
552 { \
553 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11; \
554 } \
555 DEFINE_DEBUG_MEMBERS11(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)
556
557#define DEFINE_MEMBERS12(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12) \
558 FieldType1 C1; \
559 FieldType2 C2; \
560 FieldType3 C3; \
561 FieldType4 C4; \
562 FieldType5 C5; \
563 FieldType6 C6; \
564 FieldType7 C7; \
565 FieldType8 C8; \
566 FieldType9 C9; \
567 FieldType10 C10; \
568 FieldType11 C11; \
569 FieldType12 C12; \
570 static const unsigned int FieldCount = 12; \
571 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5, FieldType6, FieldType7, FieldType8, FieldType9, FieldType10, FieldType11, FieldType12> \
572 __MessageSizeChecker__; \
573 template<class T> \
574 void Transfer(T& ar) \
575 { \
576 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12; \
577 } \
578 DEFINE_DEBUG_MEMBERS12(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12)
579
580#define DEFINE_MEMBERS13(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13) \
581 FieldType1 C1; \
582 FieldType2 C2; \
583 FieldType3 C3; \
584 FieldType4 C4; \
585 FieldType5 C5; \
586 FieldType6 C6; \
587 FieldType7 C7; \
588 FieldType8 C8; \
589 FieldType9 C9; \
590 FieldType10 C10; \
591 FieldType11 C11; \
592 FieldType12 C12; \
593 FieldType13 C13; \
594 static const unsigned int FieldCount = 13; \
595 MessageSizeCheck<___RequiredMessageSize, FieldType1, FieldType2, FieldType3, FieldType4, FieldType5, FieldType6, FieldType7, FieldType8, FieldType9, FieldType10, FieldType11, FieldType12, FieldType13> \
596 __MessageSizeChecker__; \
597 template<class T> \
598 void Transfer(T& ar) \
599 { \
600 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13; \
601 } \
602 DEFINE_DEBUG_MEMBERS13(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13)
603
604#define DEFINE_MEMBERS14(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14) \
605 FieldType1 C1; \
606 FieldType2 C2; \
607 FieldType3 C3; \
608 FieldType4 C4; \
609 FieldType5 C5; \
610 FieldType6 C6; \
611 FieldType7 C7; \
612 FieldType8 C8; \
613 FieldType9 C9; \
614 FieldType10 C10; \
615 FieldType11 C11; \
616 FieldType12 C12; \
617 FieldType13 C13; \
618 FieldType14 C14; \
619 static const unsigned int FieldCount = 14; \
620 MessageSizeCheck<___RequiredMessageSize, \
621 FieldType1, \
622 FieldType2, \
623 FieldType3, \
624 FieldType4, \
625 FieldType5, \
626 FieldType6, \
627 FieldType7, \
628 FieldType8, \
629 FieldType9, \
630 FieldType10, \
631 FieldType11, \
632 FieldType12, \
633 FieldType13, \
634 FieldType14> \
635 __MessageSizeChecker__; \
636 template<class T> \
637 void Transfer(T& ar) \
638 { \
639 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14; \
640 } \
641 DEFINE_DEBUG_MEMBERS14(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14)
642
643#define DEFINE_MEMBERS15(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15) \
644 FieldType1 C1; \
645 FieldType2 C2; \
646 FieldType3 C3; \
647 FieldType4 C4; \
648 FieldType5 C5; \
649 FieldType6 C6; \
650 FieldType7 C7; \
651 FieldType8 C8; \
652 FieldType9 C9; \
653 FieldType10 C10; \
654 FieldType11 C11; \
655 FieldType12 C12; \
656 FieldType13 C13; \
657 FieldType14 C14; \
658 FieldType15 C15; \
659 static const unsigned int FieldCount = 15; \
660 MessageSizeCheck<___RequiredMessageSize, \
661 FieldType1, \
662 FieldType2, \
663 FieldType3, \
664 FieldType4, \
665 FieldType5, \
666 FieldType6, \
667 FieldType7, \
668 FieldType8, \
669 FieldType9, \
670 FieldType10, \
671 FieldType11, \
672 FieldType12, \
673 FieldType13, \
674 FieldType14, \
675 FieldType15> \
676 __MessageSizeChecker__; \
677 template<class T> \
678 void Transfer(T& ar) \
679 { \
680 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15; \
681 } \
682 DEFINE_DEBUG_MEMBERS15(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15)
683
684#define DEFINE_MEMBERS16(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16) \
685 FieldType1 C1; \
686 FieldType2 C2; \
687 FieldType3 C3; \
688 FieldType4 C4; \
689 FieldType5 C5; \
690 FieldType6 C6; \
691 FieldType7 C7; \
692 FieldType8 C8; \
693 FieldType9 C9; \
694 FieldType10 C10; \
695 FieldType11 C11; \
696 FieldType12 C12; \
697 FieldType13 C13; \
698 FieldType14 C14; \
699 FieldType15 C15; \
700 FieldType16 C16; \
701 static const unsigned int FieldCount = 16; \
702 MessageSizeCheck<___RequiredMessageSize, \
703 FieldType1, \
704 FieldType2, \
705 FieldType3, \
706 FieldType4, \
707 FieldType5, \
708 FieldType6, \
709 FieldType7, \
710 FieldType8, \
711 FieldType9, \
712 FieldType10, \
713 FieldType11, \
714 FieldType12, \
715 FieldType13, \
716 FieldType14, \
717 FieldType15, \
718 FieldType16> \
719 __MessageSizeChecker__; \
720 template<class T> \
721 void Transfer(T& ar) \
722 { \
723 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16; \
724 } \
725 DEFINE_DEBUG_MEMBERS16(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16)
726
727#define DEFINE_MEMBERS17(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17) \
728 FieldType1 C1; \
729 FieldType2 C2; \
730 FieldType3 C3; \
731 FieldType4 C4; \
732 FieldType5 C5; \
733 FieldType6 C6; \
734 FieldType7 C7; \
735 FieldType8 C8; \
736 FieldType9 C9; \
737 FieldType10 C10; \
738 FieldType11 C11; \
739 FieldType12 C12; \
740 FieldType13 C13; \
741 FieldType14 C14; \
742 FieldType15 C15; \
743 FieldType16 C16; \
744 FieldType17 C17; \
745 static const unsigned int FieldCount = 17; \
746 MessageSizeCheck<___RequiredMessageSize, \
747 FieldType1, \
748 FieldType2, \
749 FieldType3, \
750 FieldType4, \
751 FieldType5, \
752 FieldType6, \
753 FieldType7, \
754 FieldType8, \
755 FieldType9, \
756 FieldType10, \
757 FieldType11, \
758 FieldType12, \
759 FieldType13, \
760 FieldType14, \
761 FieldType15, \
762 FieldType16, \
763 FieldType17> \
764 __MessageSizeChecker__; \
765 template<class T> \
766 void Transfer(T& ar) \
767 { \
768 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17; \
769 } \
770 DEFINE_DEBUG_MEMBERS17(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17)
771
772#define DEFINE_MEMBERS18(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18) \
773 FieldType1 C1; \
774 FieldType2 C2; \
775 FieldType3 C3; \
776 FieldType4 C4; \
777 FieldType5 C5; \
778 FieldType6 C6; \
779 FieldType7 C7; \
780 FieldType8 C8; \
781 FieldType9 C9; \
782 FieldType10 C10; \
783 FieldType11 C11; \
784 FieldType12 C12; \
785 FieldType13 C13; \
786 FieldType14 C14; \
787 FieldType15 C15; \
788 FieldType16 C16; \
789 FieldType17 C17; \
790 FieldType18 C18; \
791 static const unsigned int FieldCount = 18; \
792 MessageSizeCheck<___RequiredMessageSize, \
793 FieldType1, \
794 FieldType2, \
795 FieldType3, \
796 FieldType4, \
797 FieldType5, \
798 FieldType6, \
799 FieldType7, \
800 FieldType8, \
801 FieldType9, \
802 FieldType10, \
803 FieldType11, \
804 FieldType12, \
805 FieldType13, \
806 FieldType14, \
807 FieldType15, \
808 FieldType16, \
809 FieldType17, \
810 FieldType18> \
811 __MessageSizeChecker__; \
812 template<class T> \
813 void Transfer(T& ar) \
814 { \
815 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
816 << C18; \
817 } \
818 DEFINE_DEBUG_MEMBERS18(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18)
819
820#define DEFINE_MEMBERS19(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19) \
821 FieldType1 C1; \
822 FieldType2 C2; \
823 FieldType3 C3; \
824 FieldType4 C4; \
825 FieldType5 C5; \
826 FieldType6 C6; \
827 FieldType7 C7; \
828 FieldType8 C8; \
829 FieldType9 C9; \
830 FieldType10 C10; \
831 FieldType11 C11; \
832 FieldType12 C12; \
833 FieldType13 C13; \
834 FieldType14 C14; \
835 FieldType15 C15; \
836 FieldType16 C16; \
837 FieldType17 C17; \
838 FieldType18 C18; \
839 FieldType19 C19; \
840 static const unsigned int FieldCount = 19; \
841 MessageSizeCheck<___RequiredMessageSize, \
842 FieldType1, \
843 FieldType2, \
844 FieldType3, \
845 FieldType4, \
846 FieldType5, \
847 FieldType6, \
848 FieldType7, \
849 FieldType8, \
850 FieldType9, \
851 FieldType10, \
852 FieldType11, \
853 FieldType12, \
854 FieldType13, \
855 FieldType14, \
856 FieldType15, \
857 FieldType16, \
858 FieldType17, \
859 FieldType18, \
860 FieldType19> \
861 __MessageSizeChecker__; \
862 template<class T> \
863 void Transfer(T& ar) \
864 { \
865 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
866 << C18 << C19; \
867 } \
868 DEFINE_DEBUG_MEMBERS19(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19)
869
870#define DEFINE_MEMBERS20(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20) \
871 FieldType1 C1; \
872 FieldType2 C2; \
873 FieldType3 C3; \
874 FieldType4 C4; \
875 FieldType5 C5; \
876 FieldType6 C6; \
877 FieldType7 C7; \
878 FieldType8 C8; \
879 FieldType9 C9; \
880 FieldType10 C10; \
881 FieldType11 C11; \
882 FieldType12 C12; \
883 FieldType13 C13; \
884 FieldType14 C14; \
885 FieldType15 C15; \
886 FieldType16 C16; \
887 FieldType17 C17; \
888 FieldType18 C18; \
889 FieldType19 C19; \
890 FieldType20 C20; \
891 static const unsigned int FieldCount = 20; \
892 MessageSizeCheck<___RequiredMessageSize, \
893 FieldType1, \
894 FieldType2, \
895 FieldType3, \
896 FieldType4, \
897 FieldType5, \
898 FieldType6, \
899 FieldType7, \
900 FieldType8, \
901 FieldType9, \
902 FieldType10, \
903 FieldType11, \
904 FieldType12, \
905 FieldType13, \
906 FieldType14, \
907 FieldType15, \
908 FieldType16, \
909 FieldType17, \
910 FieldType18, \
911 FieldType19, \
912 FieldType20> \
913 __MessageSizeChecker__; \
914 template<class T> \
915 void Transfer(T& ar) \
916 { \
917 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
918 << C18 << C19 << C20; \
919 } \
920 DEFINE_DEBUG_MEMBERS20(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20)
921
922#define DEFINE_MEMBERS21(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21) \
923 FieldType1 C1; \
924 FieldType2 C2; \
925 FieldType3 C3; \
926 FieldType4 C4; \
927 FieldType5 C5; \
928 FieldType6 C6; \
929 FieldType7 C7; \
930 FieldType8 C8; \
931 FieldType9 C9; \
932 FieldType10 C10; \
933 FieldType11 C11; \
934 FieldType12 C12; \
935 FieldType13 C13; \
936 FieldType14 C14; \
937 FieldType15 C15; \
938 FieldType16 C16; \
939 FieldType17 C17; \
940 FieldType18 C18; \
941 FieldType19 C19; \
942 FieldType20 C20; \
943 FieldType21 C21; \
944 static const unsigned int FieldCount = 21; \
945 MessageSizeCheck<___RequiredMessageSize, \
946 FieldType1, \
947 FieldType2, \
948 FieldType3, \
949 FieldType4, \
950 FieldType5, \
951 FieldType6, \
952 FieldType7, \
953 FieldType8, \
954 FieldType9, \
955 FieldType10, \
956 FieldType11, \
957 FieldType12, \
958 FieldType13, \
959 FieldType14, \
960 FieldType15, \
961 FieldType16, \
962 FieldType17, \
963 FieldType18, \
964 FieldType19, \
965 FieldType20, \
966 FieldType21> \
967 __MessageSizeChecker__; \
968 template<class T> \
969 void Transfer(T& ar) \
970 { \
971 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
972 << C18 << C19 << C20 << C21; \
973 } \
974 DEFINE_DEBUG_MEMBERS21(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21)
975
976#define DEFINE_MEMBERS22(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22) \
977 FieldType1 C1; \
978 FieldType2 C2; \
979 FieldType3 C3; \
980 FieldType4 C4; \
981 FieldType5 C5; \
982 FieldType6 C6; \
983 FieldType7 C7; \
984 FieldType8 C8; \
985 FieldType9 C9; \
986 FieldType10 C10; \
987 FieldType11 C11; \
988 FieldType12 C12; \
989 FieldType13 C13; \
990 FieldType14 C14; \
991 FieldType15 C15; \
992 FieldType16 C16; \
993 FieldType17 C17; \
994 FieldType18 C18; \
995 FieldType19 C19; \
996 FieldType20 C20; \
997 FieldType21 C21; \
998 FieldType22 C22; \
999 static const unsigned int FieldCount = 22; \
1000 MessageSizeCheck<___RequiredMessageSize, \
1001 FieldType1, \
1002 FieldType2, \
1003 FieldType3, \
1004 FieldType4, \
1005 FieldType5, \
1006 FieldType6, \
1007 FieldType7, \
1008 FieldType8, \
1009 FieldType9, \
1010 FieldType10, \
1011 FieldType11, \
1012 FieldType12, \
1013 FieldType13, \
1014 FieldType14, \
1015 FieldType15, \
1016 FieldType16, \
1017 FieldType17, \
1018 FieldType18, \
1019 FieldType19, \
1020 FieldType20, \
1021 FieldType21, \
1022 FieldType22> \
1023 __MessageSizeChecker__; \
1024 template<class T> \
1025 void Transfer(T& ar) \
1026 { \
1027 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1028 << C18 << C19 << C20 << C21 << C22; \
1029 } \
1030 DEFINE_DEBUG_MEMBERS22(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22)
1031
1032#define DEFINE_MEMBERS23(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23) \
1033 FieldType1 C1; \
1034 FieldType2 C2; \
1035 FieldType3 C3; \
1036 FieldType4 C4; \
1037 FieldType5 C5; \
1038 FieldType6 C6; \
1039 FieldType7 C7; \
1040 FieldType8 C8; \
1041 FieldType9 C9; \
1042 FieldType10 C10; \
1043 FieldType11 C11; \
1044 FieldType12 C12; \
1045 FieldType13 C13; \
1046 FieldType14 C14; \
1047 FieldType15 C15; \
1048 FieldType16 C16; \
1049 FieldType17 C17; \
1050 FieldType18 C18; \
1051 FieldType19 C19; \
1052 FieldType20 C20; \
1053 FieldType21 C21; \
1054 FieldType22 C22; \
1055 FieldType23 C23; \
1056 static const unsigned int FieldCount = 23; \
1057 MessageSizeCheck<___RequiredMessageSize, \
1058 FieldType1, \
1059 FieldType2, \
1060 FieldType3, \
1061 FieldType4, \
1062 FieldType5, \
1063 FieldType6, \
1064 FieldType7, \
1065 FieldType8, \
1066 FieldType9, \
1067 FieldType10, \
1068 FieldType11, \
1069 FieldType12, \
1070 FieldType13, \
1071 FieldType14, \
1072 FieldType15, \
1073 FieldType16, \
1074 FieldType17, \
1075 FieldType18, \
1076 FieldType19, \
1077 FieldType20, \
1078 FieldType21, \
1079 FieldType22, \
1080 FieldType23> \
1081 __MessageSizeChecker__; \
1082 template<class T> \
1083 void Transfer(T& ar) \
1084 { \
1085 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1086 << C18 << C19 << C20 << C21 << C22 << C23; \
1087 } \
1088 DEFINE_DEBUG_MEMBERS23(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23)
1089
1090#define DEFINE_MEMBERS24(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24) \
1091 FieldType1 C1; \
1092 FieldType2 C2; \
1093 FieldType3 C3; \
1094 FieldType4 C4; \
1095 FieldType5 C5; \
1096 FieldType6 C6; \
1097 FieldType7 C7; \
1098 FieldType8 C8; \
1099 FieldType9 C9; \
1100 FieldType10 C10; \
1101 FieldType11 C11; \
1102 FieldType12 C12; \
1103 FieldType13 C13; \
1104 FieldType14 C14; \
1105 FieldType15 C15; \
1106 FieldType16 C16; \
1107 FieldType17 C17; \
1108 FieldType18 C18; \
1109 FieldType19 C19; \
1110 FieldType20 C20; \
1111 FieldType21 C21; \
1112 FieldType22 C22; \
1113 FieldType23 C23; \
1114 FieldType24 C24; \
1115 static const unsigned int FieldCount = 24; \
1116 MessageSizeCheck<___RequiredMessageSize, \
1117 FieldType1, \
1118 FieldType2, \
1119 FieldType3, \
1120 FieldType4, \
1121 FieldType5, \
1122 FieldType6, \
1123 FieldType7, \
1124 FieldType8, \
1125 FieldType9, \
1126 FieldType10, \
1127 FieldType11, \
1128 FieldType12, \
1129 FieldType13, \
1130 FieldType14, \
1131 FieldType15, \
1132 FieldType16, \
1133 FieldType17, \
1134 FieldType18, \
1135 FieldType19, \
1136 FieldType20, \
1137 FieldType21, \
1138 FieldType22, \
1139 FieldType23, \
1140 FieldType24> \
1141 __MessageSizeChecker__; \
1142 template<class T> \
1143 void Transfer(T& ar) \
1144 { \
1145 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1146 << C18 << C19 << C20 << C21 << C22 << C23 << C24; \
1147 } \
1148 DEFINE_DEBUG_MEMBERS24(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24)
1149
1150#define DEFINE_MEMBERS25(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25) \
1151 FieldType1 C1; \
1152 FieldType2 C2; \
1153 FieldType3 C3; \
1154 FieldType4 C4; \
1155 FieldType5 C5; \
1156 FieldType6 C6; \
1157 FieldType7 C7; \
1158 FieldType8 C8; \
1159 FieldType9 C9; \
1160 FieldType10 C10; \
1161 FieldType11 C11; \
1162 FieldType12 C12; \
1163 FieldType13 C13; \
1164 FieldType14 C14; \
1165 FieldType15 C15; \
1166 FieldType16 C16; \
1167 FieldType17 C17; \
1168 FieldType18 C18; \
1169 FieldType19 C19; \
1170 FieldType20 C20; \
1171 FieldType21 C21; \
1172 FieldType22 C22; \
1173 FieldType23 C23; \
1174 FieldType24 C24; \
1175 FieldType25 C25; \
1176 static const unsigned int FieldCount = 25; \
1177 MessageSizeCheck<___RequiredMessageSize, \
1178 FieldType1, \
1179 FieldType2, \
1180 FieldType3, \
1181 FieldType4, \
1182 FieldType5, \
1183 FieldType6, \
1184 FieldType7, \
1185 FieldType8, \
1186 FieldType9, \
1187 FieldType10, \
1188 FieldType11, \
1189 FieldType12, \
1190 FieldType13, \
1191 FieldType14, \
1192 FieldType15, \
1193 FieldType16, \
1194 FieldType17, \
1195 FieldType18, \
1196 FieldType19, \
1197 FieldType20, \
1198 FieldType21, \
1199 FieldType22, \
1200 FieldType23, \
1201 FieldType24, \
1202 FieldType25> \
1203 __MessageSizeChecker__; \
1204 template<class T> \
1205 void Transfer(T& ar) \
1206 { \
1207 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1208 << C18 << C19 << C20 << C21 << C22 << C23 << C24 << C25; \
1209 } \
1210 DEFINE_DEBUG_MEMBERS25(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25)
1211
1212#define DEFINE_MEMBERS26(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26) \
1213 FieldType1 C1; \
1214 FieldType2 C2; \
1215 FieldType3 C3; \
1216 FieldType4 C4; \
1217 FieldType5 C5; \
1218 FieldType6 C6; \
1219 FieldType7 C7; \
1220 FieldType8 C8; \
1221 FieldType9 C9; \
1222 FieldType10 C10; \
1223 FieldType11 C11; \
1224 FieldType12 C12; \
1225 FieldType13 C13; \
1226 FieldType14 C14; \
1227 FieldType15 C15; \
1228 FieldType16 C16; \
1229 FieldType17 C17; \
1230 FieldType18 C18; \
1231 FieldType19 C19; \
1232 FieldType20 C20; \
1233 FieldType21 C21; \
1234 FieldType22 C22; \
1235 FieldType23 C23; \
1236 FieldType24 C24; \
1237 FieldType25 C25; \
1238 FieldType26 C26; \
1239 static const unsigned int FieldCount = 26; \
1240 MessageSizeCheck<___RequiredMessageSize, \
1241 FieldType1, \
1242 FieldType2, \
1243 FieldType3, \
1244 FieldType4, \
1245 FieldType5, \
1246 FieldType6, \
1247 FieldType7, \
1248 FieldType8, \
1249 FieldType9, \
1250 FieldType10, \
1251 FieldType11, \
1252 FieldType12, \
1253 FieldType13, \
1254 FieldType14, \
1255 FieldType15, \
1256 FieldType16, \
1257 FieldType17, \
1258 FieldType18, \
1259 FieldType19, \
1260 FieldType20, \
1261 FieldType21, \
1262 FieldType22, \
1263 FieldType23, \
1264 FieldType24, \
1265 FieldType25, \
1266 FieldType26> \
1267 __MessageSizeChecker__; \
1268 template<class T> \
1269 void Transfer(T& ar) \
1270 { \
1271 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1272 << C18 << C19 << C20 << C21 << C22 << C23 << C24 << C25 << C26; \
1273 } \
1274 DEFINE_DEBUG_MEMBERS26(C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26)
1275
1276#define DEFINE_MEMBERS27(C1, \
1277 C2, \
1278 C3, \
1279 C4, \
1280 C5, \
1281 C6, \
1282 C7, \
1283 C8, \
1284 C9, \
1285 C10, \
1286 C11, \
1287 C12, \
1288 C13, \
1289 C14, \
1290 C15, \
1291 C16, \
1292 C17, \
1293 C18, \
1294 C19, \
1295 C20, \
1296 C21, \
1297 C22, \
1298 C23, \
1299 C24, \
1300 C25, \
1301 C26, \
1302 C27) \
1303 FieldType1 C1; \
1304 FieldType2 C2; \
1305 FieldType3 C3; \
1306 FieldType4 C4; \
1307 FieldType5 C5; \
1308 FieldType6 C6; \
1309 FieldType7 C7; \
1310 FieldType8 C8; \
1311 FieldType9 C9; \
1312 FieldType10 C10; \
1313 FieldType11 C11; \
1314 FieldType12 C12; \
1315 FieldType13 C13; \
1316 FieldType14 C14; \
1317 FieldType15 C15; \
1318 FieldType16 C16; \
1319 FieldType17 C17; \
1320 FieldType18 C18; \
1321 FieldType19 C19; \
1322 FieldType20 C20; \
1323 FieldType21 C21; \
1324 FieldType22 C22; \
1325 FieldType23 C23; \
1326 FieldType24 C24; \
1327 FieldType25 C25; \
1328 FieldType26 C26; \
1329 FieldType27 C27; \
1330 static const unsigned int FieldCount = 27; \
1331 MessageSizeCheck<___RequiredMessageSize, \
1332 FieldType1, \
1333 FieldType2, \
1334 FieldType3, \
1335 FieldType4, \
1336 FieldType5, \
1337 FieldType6, \
1338 FieldType7, \
1339 FieldType8, \
1340 FieldType9, \
1341 FieldType10, \
1342 FieldType11, \
1343 FieldType12, \
1344 FieldType13, \
1345 FieldType14, \
1346 FieldType15, \
1347 FieldType16, \
1348 FieldType17, \
1349 FieldType18, \
1350 FieldType19, \
1351 FieldType20, \
1352 FieldType21, \
1353 FieldType22, \
1354 FieldType23, \
1355 FieldType24, \
1356 FieldType25, \
1357 FieldType26, \
1358 FieldType27> \
1359 __MessageSizeChecker__; \
1360 template<class T> \
1361 void Transfer(T& ar) \
1362 { \
1363 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1364 << C18 << C19 << C20 << C21 << C22 << C23 << C24 << C25 << C26 << C27; \
1365 } \
1366 DEFINE_DEBUG_MEMBERS27(C1, \
1367 C2, \
1368 C3, \
1369 C4, \
1370 C5, \
1371 C6, \
1372 C7, \
1373 C8, \
1374 C9, \
1375 C10, \
1376 C11, \
1377 C12, \
1378 C13, \
1379 C14, \
1380 C15, \
1381 C16, \
1382 C17, \
1383 C18, \
1384 C19, \
1385 C20, \
1386 C21, \
1387 C22, \
1388 C23, \
1389 C24, \
1390 C25, \
1391 C26, \
1392 C27)
1393
1394#define DEFINE_MEMBERS28(C1, \
1395 C2, \
1396 C3, \
1397 C4, \
1398 C5, \
1399 C6, \
1400 C7, \
1401 C8, \
1402 C9, \
1403 C10, \
1404 C11, \
1405 C12, \
1406 C13, \
1407 C14, \
1408 C15, \
1409 C16, \
1410 C17, \
1411 C18, \
1412 C19, \
1413 C20, \
1414 C21, \
1415 C22, \
1416 C23, \
1417 C24, \
1418 C25, \
1419 C26, \
1420 C27, \
1421 C28) \
1422 FieldType1 C1; \
1423 FieldType2 C2; \
1424 FieldType3 C3; \
1425 FieldType4 C4; \
1426 FieldType5 C5; \
1427 FieldType6 C6; \
1428 FieldType7 C7; \
1429 FieldType8 C8; \
1430 FieldType9 C9; \
1431 FieldType10 C10; \
1432 FieldType11 C11; \
1433 FieldType12 C12; \
1434 FieldType13 C13; \
1435 FieldType14 C14; \
1436 FieldType15 C15; \
1437 FieldType16 C16; \
1438 FieldType17 C17; \
1439 FieldType18 C18; \
1440 FieldType19 C19; \
1441 FieldType20 C20; \
1442 FieldType21 C21; \
1443 FieldType22 C22; \
1444 FieldType23 C23; \
1445 FieldType24 C24; \
1446 FieldType25 C25; \
1447 FieldType26 C26; \
1448 FieldType27 C27; \
1449 FieldType28 C28; \
1450 static const unsigned int FieldCount = 28; \
1451 MessageSizeCheck<___RequiredMessageSize, \
1452 FieldType1, \
1453 FieldType2, \
1454 FieldType3, \
1455 FieldType4, \
1456 FieldType5, \
1457 FieldType6, \
1458 FieldType7, \
1459 FieldType8, \
1460 FieldType9, \
1461 FieldType10, \
1462 FieldType11, \
1463 FieldType12, \
1464 FieldType13, \
1465 FieldType14, \
1466 FieldType15, \
1467 FieldType16, \
1468 FieldType17, \
1469 FieldType18, \
1470 FieldType19, \
1471 FieldType20, \
1472 FieldType21, \
1473 FieldType22, \
1474 FieldType23, \
1475 FieldType24, \
1476 FieldType25, \
1477 FieldType26, \
1478 FieldType27, \
1479 FieldType28> \
1480 __MessageSizeChecker__; \
1481 template<class T> \
1482 void Transfer(T& ar) \
1483 { \
1484 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1485 << C18 << C19 << C20 << C21 << C22 << C23 << C24 << C25 << C26 << C27 << C28; \
1486 } \
1487 DEFINE_DEBUG_MEMBERS28(C1, \
1488 C2, \
1489 C3, \
1490 C4, \
1491 C5, \
1492 C6, \
1493 C7, \
1494 C8, \
1495 C9, \
1496 C10, \
1497 C11, \
1498 C12, \
1499 C13, \
1500 C14, \
1501 C15, \
1502 C16, \
1503 C17, \
1504 C18, \
1505 C19, \
1506 C20, \
1507 C21, \
1508 C22, \
1509 C23, \
1510 C24, \
1511 C25, \
1512 C26, \
1513 C27, \
1514 C28)
1515
1516#define DEFINE_MEMBERS29(C1, \
1517 C2, \
1518 C3, \
1519 C4, \
1520 C5, \
1521 C6, \
1522 C7, \
1523 C8, \
1524 C9, \
1525 C10, \
1526 C11, \
1527 C12, \
1528 C13, \
1529 C14, \
1530 C15, \
1531 C16, \
1532 C17, \
1533 C18, \
1534 C19, \
1535 C20, \
1536 C21, \
1537 C22, \
1538 C23, \
1539 C24, \
1540 C25, \
1541 C26, \
1542 C27, \
1543 C28, \
1544 C29) \
1545 FieldType1 C1; \
1546 FieldType2 C2; \
1547 FieldType3 C3; \
1548 FieldType4 C4; \
1549 FieldType5 C5; \
1550 FieldType6 C6; \
1551 FieldType7 C7; \
1552 FieldType8 C8; \
1553 FieldType9 C9; \
1554 FieldType10 C10; \
1555 FieldType11 C11; \
1556 FieldType12 C12; \
1557 FieldType13 C13; \
1558 FieldType14 C14; \
1559 FieldType15 C15; \
1560 FieldType16 C16; \
1561 FieldType17 C17; \
1562 FieldType18 C18; \
1563 FieldType19 C19; \
1564 FieldType20 C20; \
1565 FieldType21 C21; \
1566 FieldType22 C22; \
1567 FieldType23 C23; \
1568 FieldType24 C24; \
1569 FieldType25 C25; \
1570 FieldType26 C26; \
1571 FieldType27 C27; \
1572 FieldType28 C28; \
1573 FieldType29 C29; \
1574 static const unsigned int FieldCount = 29; \
1575 MessageSizeCheck<___RequiredMessageSize, \
1576 FieldType1, \
1577 FieldType2, \
1578 FieldType3, \
1579 FieldType4, \
1580 FieldType5, \
1581 FieldType6, \
1582 FieldType7, \
1583 FieldType8, \
1584 FieldType9, \
1585 FieldType10, \
1586 FieldType11, \
1587 FieldType12, \
1588 FieldType13, \
1589 FieldType14, \
1590 FieldType15, \
1591 FieldType16, \
1592 FieldType17, \
1593 FieldType18, \
1594 FieldType19, \
1595 FieldType20, \
1596 FieldType21, \
1597 FieldType22, \
1598 FieldType23, \
1599 FieldType24, \
1600 FieldType25, \
1601 FieldType26, \
1602 FieldType27, \
1603 FieldType28, \
1604 FieldType29> \
1605 __MessageSizeChecker__; \
1606 template<class T> \
1607 void Transfer(T& ar) \
1608 { \
1609 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1610 << C18 << C19 << C20 << C21 << C22 << C23 << C24 << C25 << C26 << C27 << C28 << C29; \
1611 } \
1612 DEFINE_DEBUG_MEMBERS29(C1, \
1613 C2, \
1614 C3, \
1615 C4, \
1616 C5, \
1617 C6, \
1618 C7, \
1619 C8, \
1620 C9, \
1621 C10, \
1622 C11, \
1623 C12, \
1624 C13, \
1625 C14, \
1626 C15, \
1627 C16, \
1628 C17, \
1629 C18, \
1630 C19, \
1631 C20, \
1632 C21, \
1633 C22, \
1634 C23, \
1635 C24, \
1636 C25, \
1637 C26, \
1638 C27, \
1639 C28, \
1640 C29)
1641
1642#define DEFINE_MEMBERS30(C1, \
1643 C2, \
1644 C3, \
1645 C4, \
1646 C5, \
1647 C6, \
1648 C7, \
1649 C8, \
1650 C9, \
1651 C10, \
1652 C11, \
1653 C12, \
1654 C13, \
1655 C14, \
1656 C15, \
1657 C16, \
1658 C17, \
1659 C18, \
1660 C19, \
1661 C20, \
1662 C21, \
1663 C22, \
1664 C23, \
1665 C24, \
1666 C25, \
1667 C26, \
1668 C27, \
1669 C28, \
1670 C29, \
1671 C30) \
1672 FieldType1 C1; \
1673 FieldType2 C2; \
1674 FieldType3 C3; \
1675 FieldType4 C4; \
1676 FieldType5 C5; \
1677 FieldType6 C6; \
1678 FieldType7 C7; \
1679 FieldType8 C8; \
1680 FieldType9 C9; \
1681 FieldType10 C10; \
1682 FieldType11 C11; \
1683 FieldType12 C12; \
1684 FieldType13 C13; \
1685 FieldType14 C14; \
1686 FieldType15 C15; \
1687 FieldType16 C16; \
1688 FieldType17 C17; \
1689 FieldType18 C18; \
1690 FieldType19 C19; \
1691 FieldType20 C20; \
1692 FieldType21 C21; \
1693 FieldType22 C22; \
1694 FieldType23 C23; \
1695 FieldType24 C24; \
1696 FieldType25 C25; \
1697 FieldType26 C26; \
1698 FieldType27 C27; \
1699 FieldType28 C28; \
1700 FieldType29 C29; \
1701 FieldType30 C30; \
1702 static const unsigned int FieldCount = 30; \
1703 MessageSizeCheck<___RequiredMessageSize, \
1704 FieldType1, \
1705 FieldType2, \
1706 FieldType3, \
1707 FieldType4, \
1708 FieldType5, \
1709 FieldType6, \
1710 FieldType7, \
1711 FieldType8, \
1712 FieldType9, \
1713 FieldType10, \
1714 FieldType11, \
1715 FieldType12, \
1716 FieldType13, \
1717 FieldType14, \
1718 FieldType15, \
1719 FieldType16, \
1720 FieldType17, \
1721 FieldType18, \
1722 FieldType19, \
1723 FieldType20, \
1724 FieldType21, \
1725 FieldType22, \
1726 FieldType23, \
1727 FieldType24, \
1728 FieldType25, \
1729 FieldType26, \
1730 FieldType27, \
1731 FieldType28, \
1732 FieldType29, \
1733 FieldType30> \
1734 __MessageSizeChecker__; \
1735 template<class T> \
1736 void Transfer(T& ar) \
1737 { \
1738 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1739 << C18 << C19 << C20 << C21 << C22 << C23 << C24 << C25 << C26 << C27 << C28 << C29 << C30; \
1740 } \
1741 DEFINE_DEBUG_MEMBERS30(C1, \
1742 C2, \
1743 C3, \
1744 C4, \
1745 C5, \
1746 C6, \
1747 C7, \
1748 C8, \
1749 C9, \
1750 C10, \
1751 C11, \
1752 C12, \
1753 C13, \
1754 C14, \
1755 C15, \
1756 C16, \
1757 C17, \
1758 C18, \
1759 C19, \
1760 C20, \
1761 C21, \
1762 C22, \
1763 C23, \
1764 C24, \
1765 C25, \
1766 C26, \
1767 C27, \
1768 C28, \
1769 C29, \
1770 C30)
1771
1772#define DEFINE_MEMBERS31(C1, \
1773 C2, \
1774 C3, \
1775 C4, \
1776 C5, \
1777 C6, \
1778 C7, \
1779 C8, \
1780 C9, \
1781 C10, \
1782 C11, \
1783 C12, \
1784 C13, \
1785 C14, \
1786 C15, \
1787 C16, \
1788 C17, \
1789 C18, \
1790 C19, \
1791 C20, \
1792 C21, \
1793 C22, \
1794 C23, \
1795 C24, \
1796 C25, \
1797 C26, \
1798 C27, \
1799 C28, \
1800 C29, \
1801 C30, \
1802 C31) \
1803 FieldType1 C1; \
1804 FieldType2 C2; \
1805 FieldType3 C3; \
1806 FieldType4 C4; \
1807 FieldType5 C5; \
1808 FieldType6 C6; \
1809 FieldType7 C7; \
1810 FieldType8 C8; \
1811 FieldType9 C9; \
1812 FieldType10 C10; \
1813 FieldType11 C11; \
1814 FieldType12 C12; \
1815 FieldType13 C13; \
1816 FieldType14 C14; \
1817 FieldType15 C15; \
1818 FieldType16 C16; \
1819 FieldType17 C17; \
1820 FieldType18 C18; \
1821 FieldType19 C19; \
1822 FieldType20 C20; \
1823 FieldType21 C21; \
1824 FieldType22 C22; \
1825 FieldType23 C23; \
1826 FieldType24 C24; \
1827 FieldType25 C25; \
1828 FieldType26 C26; \
1829 FieldType27 C27; \
1830 FieldType28 C28; \
1831 FieldType29 C29; \
1832 FieldType30 C30; \
1833 FieldType31 C31; \
1834 static const unsigned int FieldCount = 31; \
1835 MessageSizeCheck<___RequiredMessageSize, \
1836 FieldType1, \
1837 FieldType2, \
1838 FieldType3, \
1839 FieldType4, \
1840 FieldType5, \
1841 FieldType6, \
1842 FieldType7, \
1843 FieldType8, \
1844 FieldType9, \
1845 FieldType10, \
1846 FieldType11, \
1847 FieldType12, \
1848 FieldType13, \
1849 FieldType14, \
1850 FieldType15, \
1851 FieldType16, \
1852 FieldType17, \
1853 FieldType18, \
1854 FieldType19, \
1855 FieldType20, \
1856 FieldType21, \
1857 FieldType22, \
1858 FieldType23, \
1859 FieldType24, \
1860 FieldType25, \
1861 FieldType26, \
1862 FieldType27, \
1863 FieldType28, \
1864 FieldType29, \
1865 FieldType30, \
1866 FieldType31> \
1867 __MessageSizeChecker__; \
1868 template<class T> \
1869 void Transfer(T& ar) \
1870 { \
1871 ar << C1 << C2 << C3 << C4 << C5 << C6 << C7 << C8 << C9 << C10 << C11 << C12 << C13 << C14 << C15 << C16 << C17 \
1872 << C18 << C19 << C20 << C21 << C22 << C23 << C24 << C25 << C26 << C27 << C28 << C29 << C30 << C31; \
1873 } \
1874 DEFINE_DEBUG_MEMBERS31(C1, \
1875 C2, \
1876 C3, \
1877 C4, \
1878 C5, \
1879 C6, \
1880 C7, \
1881 C8, \
1882 C9, \
1883 C10, \
1884 C11, \
1885 C12, \
1886 C13, \
1887 C14, \
1888 C15, \
1889 C16, \
1890 C17, \
1891 C18, \
1892 C19, \
1893 C20, \
1894 C21, \
1895 C22, \
1896 C23, \
1897 C24, \
1898 C25, \
1899 C26, \
1900 C27, \
1901 C28, \
1902 C29, \
1903 C30, \
1904 C31)
Copyrights Multiple, All Rights Reserved