cpp-msgpack-light 0.3.0
A light library to serialize MessagePack.
Loading...
Searching...
No Matches
struct_impl.h
Go to the documentation of this file.
1/*
2 * Copyright 2024 MusicScience37 (Kenta Kabashima)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
20#pragma once
21
22/*
23 * This header is automatically generated from struct_impl.h.jinja.
24 * Do not edit this file directly.
25 */
26
27#include <string_view>
28
30#include "msgpack_light/type_support/common.h" // IWYU pragma: keep
31#include "msgpack_light/type_support/fwd.h" // IWYU pragma: keep
32
33// IWYU pragma: no_forward_declare msgpack_light::type_support::serialization_traits
34
42#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP1(STRUCT, PARAM1) \
43 template <> \
44 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
45 public: \
46 static void serialize(::msgpack_light::serialization_buffer& buffer, \
47 const STRUCT& value) { \
48 buffer.serialize_map_size(1); \
49 buffer.serialize(::std::string_view{#PARAM1}); \
50 buffer.serialize(value.PARAM1); \
51 } \
52 }
53
62#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP2(STRUCT, PARAM1, PARAM2) \
63 template <> \
64 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
65 public: \
66 static void serialize(::msgpack_light::serialization_buffer& buffer, \
67 const STRUCT& value) { \
68 buffer.serialize_map_size(2); \
69 buffer.serialize(::std::string_view{#PARAM1}); \
70 buffer.serialize(value.PARAM1); \
71 buffer.serialize(::std::string_view{#PARAM2}); \
72 buffer.serialize(value.PARAM2); \
73 } \
74 }
75
85#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP3(STRUCT, PARAM1, PARAM2, PARAM3) \
86 template <> \
87 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
88 public: \
89 static void serialize(::msgpack_light::serialization_buffer& buffer, \
90 const STRUCT& value) { \
91 buffer.serialize_map_size(3); \
92 buffer.serialize(::std::string_view{#PARAM1}); \
93 buffer.serialize(value.PARAM1); \
94 buffer.serialize(::std::string_view{#PARAM2}); \
95 buffer.serialize(value.PARAM2); \
96 buffer.serialize(::std::string_view{#PARAM3}); \
97 buffer.serialize(value.PARAM3); \
98 } \
99 }
100
111#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP4( \
112 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4) \
113 template <> \
114 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
115 public: \
116 static void serialize(::msgpack_light::serialization_buffer& buffer, \
117 const STRUCT& value) { \
118 buffer.serialize_map_size(4); \
119 buffer.serialize(::std::string_view{#PARAM1}); \
120 buffer.serialize(value.PARAM1); \
121 buffer.serialize(::std::string_view{#PARAM2}); \
122 buffer.serialize(value.PARAM2); \
123 buffer.serialize(::std::string_view{#PARAM3}); \
124 buffer.serialize(value.PARAM3); \
125 buffer.serialize(::std::string_view{#PARAM4}); \
126 buffer.serialize(value.PARAM4); \
127 } \
128 }
129
141#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP5( \
142 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4, PARAM5) \
143 template <> \
144 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
145 public: \
146 static void serialize(::msgpack_light::serialization_buffer& buffer, \
147 const STRUCT& value) { \
148 buffer.serialize_map_size(5); \
149 buffer.serialize(::std::string_view{#PARAM1}); \
150 buffer.serialize(value.PARAM1); \
151 buffer.serialize(::std::string_view{#PARAM2}); \
152 buffer.serialize(value.PARAM2); \
153 buffer.serialize(::std::string_view{#PARAM3}); \
154 buffer.serialize(value.PARAM3); \
155 buffer.serialize(::std::string_view{#PARAM4}); \
156 buffer.serialize(value.PARAM4); \
157 buffer.serialize(::std::string_view{#PARAM5}); \
158 buffer.serialize(value.PARAM5); \
159 } \
160 }
161
174#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP6( \
175 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6) \
176 template <> \
177 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
178 public: \
179 static void serialize(::msgpack_light::serialization_buffer& buffer, \
180 const STRUCT& value) { \
181 buffer.serialize_map_size(6); \
182 buffer.serialize(::std::string_view{#PARAM1}); \
183 buffer.serialize(value.PARAM1); \
184 buffer.serialize(::std::string_view{#PARAM2}); \
185 buffer.serialize(value.PARAM2); \
186 buffer.serialize(::std::string_view{#PARAM3}); \
187 buffer.serialize(value.PARAM3); \
188 buffer.serialize(::std::string_view{#PARAM4}); \
189 buffer.serialize(value.PARAM4); \
190 buffer.serialize(::std::string_view{#PARAM5}); \
191 buffer.serialize(value.PARAM5); \
192 buffer.serialize(::std::string_view{#PARAM6}); \
193 buffer.serialize(value.PARAM6); \
194 } \
195 }
196
210#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP7( \
211 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7) \
212 template <> \
213 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
214 public: \
215 static void serialize(::msgpack_light::serialization_buffer& buffer, \
216 const STRUCT& value) { \
217 buffer.serialize_map_size(7); \
218 buffer.serialize(::std::string_view{#PARAM1}); \
219 buffer.serialize(value.PARAM1); \
220 buffer.serialize(::std::string_view{#PARAM2}); \
221 buffer.serialize(value.PARAM2); \
222 buffer.serialize(::std::string_view{#PARAM3}); \
223 buffer.serialize(value.PARAM3); \
224 buffer.serialize(::std::string_view{#PARAM4}); \
225 buffer.serialize(value.PARAM4); \
226 buffer.serialize(::std::string_view{#PARAM5}); \
227 buffer.serialize(value.PARAM5); \
228 buffer.serialize(::std::string_view{#PARAM6}); \
229 buffer.serialize(value.PARAM6); \
230 buffer.serialize(::std::string_view{#PARAM7}); \
231 buffer.serialize(value.PARAM7); \
232 } \
233 }
234
249#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP8( \
250 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8) \
251 template <> \
252 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
253 public: \
254 static void serialize(::msgpack_light::serialization_buffer& buffer, \
255 const STRUCT& value) { \
256 buffer.serialize_map_size(8); \
257 buffer.serialize(::std::string_view{#PARAM1}); \
258 buffer.serialize(value.PARAM1); \
259 buffer.serialize(::std::string_view{#PARAM2}); \
260 buffer.serialize(value.PARAM2); \
261 buffer.serialize(::std::string_view{#PARAM3}); \
262 buffer.serialize(value.PARAM3); \
263 buffer.serialize(::std::string_view{#PARAM4}); \
264 buffer.serialize(value.PARAM4); \
265 buffer.serialize(::std::string_view{#PARAM5}); \
266 buffer.serialize(value.PARAM5); \
267 buffer.serialize(::std::string_view{#PARAM6}); \
268 buffer.serialize(value.PARAM6); \
269 buffer.serialize(::std::string_view{#PARAM7}); \
270 buffer.serialize(value.PARAM7); \
271 buffer.serialize(::std::string_view{#PARAM8}); \
272 buffer.serialize(value.PARAM8); \
273 } \
274 }
275
291#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP9(STRUCT, PARAM1, PARAM2, PARAM3, \
292 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9) \
293 template <> \
294 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
295 public: \
296 static void serialize(::msgpack_light::serialization_buffer& buffer, \
297 const STRUCT& value) { \
298 buffer.serialize_map_size(9); \
299 buffer.serialize(::std::string_view{#PARAM1}); \
300 buffer.serialize(value.PARAM1); \
301 buffer.serialize(::std::string_view{#PARAM2}); \
302 buffer.serialize(value.PARAM2); \
303 buffer.serialize(::std::string_view{#PARAM3}); \
304 buffer.serialize(value.PARAM3); \
305 buffer.serialize(::std::string_view{#PARAM4}); \
306 buffer.serialize(value.PARAM4); \
307 buffer.serialize(::std::string_view{#PARAM5}); \
308 buffer.serialize(value.PARAM5); \
309 buffer.serialize(::std::string_view{#PARAM6}); \
310 buffer.serialize(value.PARAM6); \
311 buffer.serialize(::std::string_view{#PARAM7}); \
312 buffer.serialize(value.PARAM7); \
313 buffer.serialize(::std::string_view{#PARAM8}); \
314 buffer.serialize(value.PARAM8); \
315 buffer.serialize(::std::string_view{#PARAM9}); \
316 buffer.serialize(value.PARAM9); \
317 } \
318 }
319
336#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP10(STRUCT, PARAM1, PARAM2, PARAM3, \
337 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10) \
338 template <> \
339 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
340 public: \
341 static void serialize(::msgpack_light::serialization_buffer& buffer, \
342 const STRUCT& value) { \
343 buffer.serialize_map_size(10); \
344 buffer.serialize(::std::string_view{#PARAM1}); \
345 buffer.serialize(value.PARAM1); \
346 buffer.serialize(::std::string_view{#PARAM2}); \
347 buffer.serialize(value.PARAM2); \
348 buffer.serialize(::std::string_view{#PARAM3}); \
349 buffer.serialize(value.PARAM3); \
350 buffer.serialize(::std::string_view{#PARAM4}); \
351 buffer.serialize(value.PARAM4); \
352 buffer.serialize(::std::string_view{#PARAM5}); \
353 buffer.serialize(value.PARAM5); \
354 buffer.serialize(::std::string_view{#PARAM6}); \
355 buffer.serialize(value.PARAM6); \
356 buffer.serialize(::std::string_view{#PARAM7}); \
357 buffer.serialize(value.PARAM7); \
358 buffer.serialize(::std::string_view{#PARAM8}); \
359 buffer.serialize(value.PARAM8); \
360 buffer.serialize(::std::string_view{#PARAM9}); \
361 buffer.serialize(value.PARAM9); \
362 buffer.serialize(::std::string_view{#PARAM10}); \
363 buffer.serialize(value.PARAM10); \
364 } \
365 }
366
384#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP11(STRUCT, PARAM1, PARAM2, PARAM3, \
385 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11) \
386 template <> \
387 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
388 public: \
389 static void serialize(::msgpack_light::serialization_buffer& buffer, \
390 const STRUCT& value) { \
391 buffer.serialize_map_size(11); \
392 buffer.serialize(::std::string_view{#PARAM1}); \
393 buffer.serialize(value.PARAM1); \
394 buffer.serialize(::std::string_view{#PARAM2}); \
395 buffer.serialize(value.PARAM2); \
396 buffer.serialize(::std::string_view{#PARAM3}); \
397 buffer.serialize(value.PARAM3); \
398 buffer.serialize(::std::string_view{#PARAM4}); \
399 buffer.serialize(value.PARAM4); \
400 buffer.serialize(::std::string_view{#PARAM5}); \
401 buffer.serialize(value.PARAM5); \
402 buffer.serialize(::std::string_view{#PARAM6}); \
403 buffer.serialize(value.PARAM6); \
404 buffer.serialize(::std::string_view{#PARAM7}); \
405 buffer.serialize(value.PARAM7); \
406 buffer.serialize(::std::string_view{#PARAM8}); \
407 buffer.serialize(value.PARAM8); \
408 buffer.serialize(::std::string_view{#PARAM9}); \
409 buffer.serialize(value.PARAM9); \
410 buffer.serialize(::std::string_view{#PARAM10}); \
411 buffer.serialize(value.PARAM10); \
412 buffer.serialize(::std::string_view{#PARAM11}); \
413 buffer.serialize(value.PARAM11); \
414 } \
415 }
416
435#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP12(STRUCT, PARAM1, PARAM2, PARAM3, \
436 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12) \
437 template <> \
438 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
439 public: \
440 static void serialize(::msgpack_light::serialization_buffer& buffer, \
441 const STRUCT& value) { \
442 buffer.serialize_map_size(12); \
443 buffer.serialize(::std::string_view{#PARAM1}); \
444 buffer.serialize(value.PARAM1); \
445 buffer.serialize(::std::string_view{#PARAM2}); \
446 buffer.serialize(value.PARAM2); \
447 buffer.serialize(::std::string_view{#PARAM3}); \
448 buffer.serialize(value.PARAM3); \
449 buffer.serialize(::std::string_view{#PARAM4}); \
450 buffer.serialize(value.PARAM4); \
451 buffer.serialize(::std::string_view{#PARAM5}); \
452 buffer.serialize(value.PARAM5); \
453 buffer.serialize(::std::string_view{#PARAM6}); \
454 buffer.serialize(value.PARAM6); \
455 buffer.serialize(::std::string_view{#PARAM7}); \
456 buffer.serialize(value.PARAM7); \
457 buffer.serialize(::std::string_view{#PARAM8}); \
458 buffer.serialize(value.PARAM8); \
459 buffer.serialize(::std::string_view{#PARAM9}); \
460 buffer.serialize(value.PARAM9); \
461 buffer.serialize(::std::string_view{#PARAM10}); \
462 buffer.serialize(value.PARAM10); \
463 buffer.serialize(::std::string_view{#PARAM11}); \
464 buffer.serialize(value.PARAM11); \
465 buffer.serialize(::std::string_view{#PARAM12}); \
466 buffer.serialize(value.PARAM12); \
467 } \
468 }
469
489#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP13(STRUCT, PARAM1, PARAM2, PARAM3, \
490 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, \
491 PARAM13) \
492 template <> \
493 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
494 public: \
495 static void serialize(::msgpack_light::serialization_buffer& buffer, \
496 const STRUCT& value) { \
497 buffer.serialize_map_size(13); \
498 buffer.serialize(::std::string_view{#PARAM1}); \
499 buffer.serialize(value.PARAM1); \
500 buffer.serialize(::std::string_view{#PARAM2}); \
501 buffer.serialize(value.PARAM2); \
502 buffer.serialize(::std::string_view{#PARAM3}); \
503 buffer.serialize(value.PARAM3); \
504 buffer.serialize(::std::string_view{#PARAM4}); \
505 buffer.serialize(value.PARAM4); \
506 buffer.serialize(::std::string_view{#PARAM5}); \
507 buffer.serialize(value.PARAM5); \
508 buffer.serialize(::std::string_view{#PARAM6}); \
509 buffer.serialize(value.PARAM6); \
510 buffer.serialize(::std::string_view{#PARAM7}); \
511 buffer.serialize(value.PARAM7); \
512 buffer.serialize(::std::string_view{#PARAM8}); \
513 buffer.serialize(value.PARAM8); \
514 buffer.serialize(::std::string_view{#PARAM9}); \
515 buffer.serialize(value.PARAM9); \
516 buffer.serialize(::std::string_view{#PARAM10}); \
517 buffer.serialize(value.PARAM10); \
518 buffer.serialize(::std::string_view{#PARAM11}); \
519 buffer.serialize(value.PARAM11); \
520 buffer.serialize(::std::string_view{#PARAM12}); \
521 buffer.serialize(value.PARAM12); \
522 buffer.serialize(::std::string_view{#PARAM13}); \
523 buffer.serialize(value.PARAM13); \
524 } \
525 }
526
547#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP14(STRUCT, PARAM1, PARAM2, PARAM3, \
548 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, \
549 PARAM13, PARAM14) \
550 template <> \
551 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
552 public: \
553 static void serialize(::msgpack_light::serialization_buffer& buffer, \
554 const STRUCT& value) { \
555 buffer.serialize_map_size(14); \
556 buffer.serialize(::std::string_view{#PARAM1}); \
557 buffer.serialize(value.PARAM1); \
558 buffer.serialize(::std::string_view{#PARAM2}); \
559 buffer.serialize(value.PARAM2); \
560 buffer.serialize(::std::string_view{#PARAM3}); \
561 buffer.serialize(value.PARAM3); \
562 buffer.serialize(::std::string_view{#PARAM4}); \
563 buffer.serialize(value.PARAM4); \
564 buffer.serialize(::std::string_view{#PARAM5}); \
565 buffer.serialize(value.PARAM5); \
566 buffer.serialize(::std::string_view{#PARAM6}); \
567 buffer.serialize(value.PARAM6); \
568 buffer.serialize(::std::string_view{#PARAM7}); \
569 buffer.serialize(value.PARAM7); \
570 buffer.serialize(::std::string_view{#PARAM8}); \
571 buffer.serialize(value.PARAM8); \
572 buffer.serialize(::std::string_view{#PARAM9}); \
573 buffer.serialize(value.PARAM9); \
574 buffer.serialize(::std::string_view{#PARAM10}); \
575 buffer.serialize(value.PARAM10); \
576 buffer.serialize(::std::string_view{#PARAM11}); \
577 buffer.serialize(value.PARAM11); \
578 buffer.serialize(::std::string_view{#PARAM12}); \
579 buffer.serialize(value.PARAM12); \
580 buffer.serialize(::std::string_view{#PARAM13}); \
581 buffer.serialize(value.PARAM13); \
582 buffer.serialize(::std::string_view{#PARAM14}); \
583 buffer.serialize(value.PARAM14); \
584 } \
585 }
586
608#define INTERNAL_MSGPACK_LIGHT_STRUCT_MAP15(STRUCT, PARAM1, PARAM2, PARAM3, \
609 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, \
610 PARAM13, PARAM14, PARAM15) \
611 template <> \
612 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
613 public: \
614 static void serialize(::msgpack_light::serialization_buffer& buffer, \
615 const STRUCT& value) { \
616 buffer.serialize_map_size(15); \
617 buffer.serialize(::std::string_view{#PARAM1}); \
618 buffer.serialize(value.PARAM1); \
619 buffer.serialize(::std::string_view{#PARAM2}); \
620 buffer.serialize(value.PARAM2); \
621 buffer.serialize(::std::string_view{#PARAM3}); \
622 buffer.serialize(value.PARAM3); \
623 buffer.serialize(::std::string_view{#PARAM4}); \
624 buffer.serialize(value.PARAM4); \
625 buffer.serialize(::std::string_view{#PARAM5}); \
626 buffer.serialize(value.PARAM5); \
627 buffer.serialize(::std::string_view{#PARAM6}); \
628 buffer.serialize(value.PARAM6); \
629 buffer.serialize(::std::string_view{#PARAM7}); \
630 buffer.serialize(value.PARAM7); \
631 buffer.serialize(::std::string_view{#PARAM8}); \
632 buffer.serialize(value.PARAM8); \
633 buffer.serialize(::std::string_view{#PARAM9}); \
634 buffer.serialize(value.PARAM9); \
635 buffer.serialize(::std::string_view{#PARAM10}); \
636 buffer.serialize(value.PARAM10); \
637 buffer.serialize(::std::string_view{#PARAM11}); \
638 buffer.serialize(value.PARAM11); \
639 buffer.serialize(::std::string_view{#PARAM12}); \
640 buffer.serialize(value.PARAM12); \
641 buffer.serialize(::std::string_view{#PARAM13}); \
642 buffer.serialize(value.PARAM13); \
643 buffer.serialize(::std::string_view{#PARAM14}); \
644 buffer.serialize(value.PARAM14); \
645 buffer.serialize(::std::string_view{#PARAM15}); \
646 buffer.serialize(value.PARAM15); \
647 } \
648 }
649
657#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY1(STRUCT, PARAM1) \
658 template <> \
659 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
660 public: \
661 static void serialize(::msgpack_light::serialization_buffer& buffer, \
662 const STRUCT& value) { \
663 buffer.serialize_array_size(1); \
664 buffer.serialize(value.PARAM1); \
665 } \
666 }
667
676#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY2(STRUCT, PARAM1, PARAM2) \
677 template <> \
678 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
679 public: \
680 static void serialize(::msgpack_light::serialization_buffer& buffer, \
681 const STRUCT& value) { \
682 buffer.serialize_array_size(2); \
683 buffer.serialize(value.PARAM1); \
684 buffer.serialize(value.PARAM2); \
685 } \
686 }
687
697#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY3(STRUCT, PARAM1, PARAM2, PARAM3) \
698 template <> \
699 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
700 public: \
701 static void serialize(::msgpack_light::serialization_buffer& buffer, \
702 const STRUCT& value) { \
703 buffer.serialize_array_size(3); \
704 buffer.serialize(value.PARAM1); \
705 buffer.serialize(value.PARAM2); \
706 buffer.serialize(value.PARAM3); \
707 } \
708 }
709
720#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY4( \
721 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4) \
722 template <> \
723 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
724 public: \
725 static void serialize(::msgpack_light::serialization_buffer& buffer, \
726 const STRUCT& value) { \
727 buffer.serialize_array_size(4); \
728 buffer.serialize(value.PARAM1); \
729 buffer.serialize(value.PARAM2); \
730 buffer.serialize(value.PARAM3); \
731 buffer.serialize(value.PARAM4); \
732 } \
733 }
734
746#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY5( \
747 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4, PARAM5) \
748 template <> \
749 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
750 public: \
751 static void serialize(::msgpack_light::serialization_buffer& buffer, \
752 const STRUCT& value) { \
753 buffer.serialize_array_size(5); \
754 buffer.serialize(value.PARAM1); \
755 buffer.serialize(value.PARAM2); \
756 buffer.serialize(value.PARAM3); \
757 buffer.serialize(value.PARAM4); \
758 buffer.serialize(value.PARAM5); \
759 } \
760 }
761
774#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY6( \
775 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6) \
776 template <> \
777 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
778 public: \
779 static void serialize(::msgpack_light::serialization_buffer& buffer, \
780 const STRUCT& value) { \
781 buffer.serialize_array_size(6); \
782 buffer.serialize(value.PARAM1); \
783 buffer.serialize(value.PARAM2); \
784 buffer.serialize(value.PARAM3); \
785 buffer.serialize(value.PARAM4); \
786 buffer.serialize(value.PARAM5); \
787 buffer.serialize(value.PARAM6); \
788 } \
789 }
790
804#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY7( \
805 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7) \
806 template <> \
807 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
808 public: \
809 static void serialize(::msgpack_light::serialization_buffer& buffer, \
810 const STRUCT& value) { \
811 buffer.serialize_array_size(7); \
812 buffer.serialize(value.PARAM1); \
813 buffer.serialize(value.PARAM2); \
814 buffer.serialize(value.PARAM3); \
815 buffer.serialize(value.PARAM4); \
816 buffer.serialize(value.PARAM5); \
817 buffer.serialize(value.PARAM6); \
818 buffer.serialize(value.PARAM7); \
819 } \
820 }
821
836#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY8( \
837 STRUCT, PARAM1, PARAM2, PARAM3, PARAM4, PARAM5, PARAM6, PARAM7, PARAM8) \
838 template <> \
839 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
840 public: \
841 static void serialize(::msgpack_light::serialization_buffer& buffer, \
842 const STRUCT& value) { \
843 buffer.serialize_array_size(8); \
844 buffer.serialize(value.PARAM1); \
845 buffer.serialize(value.PARAM2); \
846 buffer.serialize(value.PARAM3); \
847 buffer.serialize(value.PARAM4); \
848 buffer.serialize(value.PARAM5); \
849 buffer.serialize(value.PARAM6); \
850 buffer.serialize(value.PARAM7); \
851 buffer.serialize(value.PARAM8); \
852 } \
853 }
854
870#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY9(STRUCT, PARAM1, PARAM2, PARAM3, \
871 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9) \
872 template <> \
873 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
874 public: \
875 static void serialize(::msgpack_light::serialization_buffer& buffer, \
876 const STRUCT& value) { \
877 buffer.serialize_array_size(9); \
878 buffer.serialize(value.PARAM1); \
879 buffer.serialize(value.PARAM2); \
880 buffer.serialize(value.PARAM3); \
881 buffer.serialize(value.PARAM4); \
882 buffer.serialize(value.PARAM5); \
883 buffer.serialize(value.PARAM6); \
884 buffer.serialize(value.PARAM7); \
885 buffer.serialize(value.PARAM8); \
886 buffer.serialize(value.PARAM9); \
887 } \
888 }
889
906#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY10(STRUCT, PARAM1, PARAM2, PARAM3, \
907 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10) \
908 template <> \
909 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
910 public: \
911 static void serialize(::msgpack_light::serialization_buffer& buffer, \
912 const STRUCT& value) { \
913 buffer.serialize_array_size(10); \
914 buffer.serialize(value.PARAM1); \
915 buffer.serialize(value.PARAM2); \
916 buffer.serialize(value.PARAM3); \
917 buffer.serialize(value.PARAM4); \
918 buffer.serialize(value.PARAM5); \
919 buffer.serialize(value.PARAM6); \
920 buffer.serialize(value.PARAM7); \
921 buffer.serialize(value.PARAM8); \
922 buffer.serialize(value.PARAM9); \
923 buffer.serialize(value.PARAM10); \
924 } \
925 }
926
944#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY11(STRUCT, PARAM1, PARAM2, PARAM3, \
945 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11) \
946 template <> \
947 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
948 public: \
949 static void serialize(::msgpack_light::serialization_buffer& buffer, \
950 const STRUCT& value) { \
951 buffer.serialize_array_size(11); \
952 buffer.serialize(value.PARAM1); \
953 buffer.serialize(value.PARAM2); \
954 buffer.serialize(value.PARAM3); \
955 buffer.serialize(value.PARAM4); \
956 buffer.serialize(value.PARAM5); \
957 buffer.serialize(value.PARAM6); \
958 buffer.serialize(value.PARAM7); \
959 buffer.serialize(value.PARAM8); \
960 buffer.serialize(value.PARAM9); \
961 buffer.serialize(value.PARAM10); \
962 buffer.serialize(value.PARAM11); \
963 } \
964 }
965
984#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY12(STRUCT, PARAM1, PARAM2, PARAM3, \
985 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12) \
986 template <> \
987 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
988 public: \
989 static void serialize(::msgpack_light::serialization_buffer& buffer, \
990 const STRUCT& value) { \
991 buffer.serialize_array_size(12); \
992 buffer.serialize(value.PARAM1); \
993 buffer.serialize(value.PARAM2); \
994 buffer.serialize(value.PARAM3); \
995 buffer.serialize(value.PARAM4); \
996 buffer.serialize(value.PARAM5); \
997 buffer.serialize(value.PARAM6); \
998 buffer.serialize(value.PARAM7); \
999 buffer.serialize(value.PARAM8); \
1000 buffer.serialize(value.PARAM9); \
1001 buffer.serialize(value.PARAM10); \
1002 buffer.serialize(value.PARAM11); \
1003 buffer.serialize(value.PARAM12); \
1004 } \
1005 }
1006
1026#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY13(STRUCT, PARAM1, PARAM2, PARAM3, \
1027 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, \
1028 PARAM13) \
1029 template <> \
1030 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
1031 public: \
1032 static void serialize(::msgpack_light::serialization_buffer& buffer, \
1033 const STRUCT& value) { \
1034 buffer.serialize_array_size(13); \
1035 buffer.serialize(value.PARAM1); \
1036 buffer.serialize(value.PARAM2); \
1037 buffer.serialize(value.PARAM3); \
1038 buffer.serialize(value.PARAM4); \
1039 buffer.serialize(value.PARAM5); \
1040 buffer.serialize(value.PARAM6); \
1041 buffer.serialize(value.PARAM7); \
1042 buffer.serialize(value.PARAM8); \
1043 buffer.serialize(value.PARAM9); \
1044 buffer.serialize(value.PARAM10); \
1045 buffer.serialize(value.PARAM11); \
1046 buffer.serialize(value.PARAM12); \
1047 buffer.serialize(value.PARAM13); \
1048 } \
1049 }
1050
1071#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY14(STRUCT, PARAM1, PARAM2, PARAM3, \
1072 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, \
1073 PARAM13, PARAM14) \
1074 template <> \
1075 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
1076 public: \
1077 static void serialize(::msgpack_light::serialization_buffer& buffer, \
1078 const STRUCT& value) { \
1079 buffer.serialize_array_size(14); \
1080 buffer.serialize(value.PARAM1); \
1081 buffer.serialize(value.PARAM2); \
1082 buffer.serialize(value.PARAM3); \
1083 buffer.serialize(value.PARAM4); \
1084 buffer.serialize(value.PARAM5); \
1085 buffer.serialize(value.PARAM6); \
1086 buffer.serialize(value.PARAM7); \
1087 buffer.serialize(value.PARAM8); \
1088 buffer.serialize(value.PARAM9); \
1089 buffer.serialize(value.PARAM10); \
1090 buffer.serialize(value.PARAM11); \
1091 buffer.serialize(value.PARAM12); \
1092 buffer.serialize(value.PARAM13); \
1093 buffer.serialize(value.PARAM14); \
1094 } \
1095 }
1096
1118#define INTERNAL_MSGPACK_LIGHT_STRUCT_ARRAY15(STRUCT, PARAM1, PARAM2, PARAM3, \
1119 PARAM4, PARAM5, PARAM6, PARAM7, PARAM8, PARAM9, PARAM10, PARAM11, PARAM12, \
1120 PARAM13, PARAM14, PARAM15) \
1121 template <> \
1122 struct msgpack_light::type_support::serialization_traits<STRUCT> { \
1123 public: \
1124 static void serialize(::msgpack_light::serialization_buffer& buffer, \
1125 const STRUCT& value) { \
1126 buffer.serialize_array_size(15); \
1127 buffer.serialize(value.PARAM1); \
1128 buffer.serialize(value.PARAM2); \
1129 buffer.serialize(value.PARAM3); \
1130 buffer.serialize(value.PARAM4); \
1131 buffer.serialize(value.PARAM5); \
1132 buffer.serialize(value.PARAM6); \
1133 buffer.serialize(value.PARAM7); \
1134 buffer.serialize(value.PARAM8); \
1135 buffer.serialize(value.PARAM9); \
1136 buffer.serialize(value.PARAM10); \
1137 buffer.serialize(value.PARAM11); \
1138 buffer.serialize(value.PARAM12); \
1139 buffer.serialize(value.PARAM13); \
1140 buffer.serialize(value.PARAM14); \
1141 buffer.serialize(value.PARAM15); \
1142 } \
1143 }
Header to include headers to support common data types.
Forward declaration of classes to support serialization of data types.
Definition of serialization_buffer class.