1 //
2 // MessagePack for C++ static resolution routine
3 //
4 // Copyright (C) 2015-2016 KONDO Takatoshi
5 //
6 // Distributed under the Boost Software License, Version 1.0.
7 // (See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 //
10 #ifndef MSGPACK_V1_CPP03_DEFINE_MAP_HPP
11 #define MSGPACK_V1_CPP03_DEFINE_MAP_HPP
12
13 #include "msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp"
14 #include "msgpack/adaptor/msgpack_tuple.hpp"
15 #include "msgpack/adaptor/adaptor_base.hpp"
16 #include "msgpack/object_fwd.hpp"
17
18 #include <map>
19
20 namespace msgpack {
21 /// @cond
MSGPACK_API_VERSION_NAMESPACE(v1)22 MSGPACK_API_VERSION_NAMESPACE(v1) {
23 /// @endcond
24 namespace type {
25
26
27 template <>
28 struct define_map<> {
29 template <typename Packer>
30 void msgpack_pack(Packer& pk) const
31 {
32 pk.pack_map(0);
33 }
34 void msgpack_unpack(msgpack::object const& o) const
35 {
36 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
37 }
38 void msgpack_object(msgpack::object* o, msgpack::zone&) const
39 {
40 o->type = msgpack::type::MAP;
41 o->via.map.ptr = MSGPACK_NULLPTR;
42 o->via.map.size = 0;
43 }
44 };
45
46 /// @cond
47
48 template <typename A0, typename A1>
49 struct define_map<A0, A1> {
50 define_map(A0& _a0, A1& _a1) :
51 a0(_a0), a1(_a1) {}
52 template <typename Packer>
53 void msgpack_pack(Packer& pk) const
54 {
55 pk.pack_map(1);
56
57 pk.pack(a0);
58 pk.pack(a1);
59 }
60 void msgpack_unpack(msgpack::object const& o) const
61 {
62 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
63 std::map<std::string, msgpack::object const*> kvmap;
64 for (uint32_t i = 0; i < o.via.map.size; ++i) {
65 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
66 kvmap.insert(
67 std::map<std::string, msgpack::object const*>::value_type(
68 std::string(
69 o.via.map.ptr[i].key.via.str.ptr,
70 o.via.map.ptr[i].key.via.str.size),
71 &o.via.map.ptr[i].val
72 )
73 );
74 }
75
76 {
77 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
78 if (it != kvmap.end()) {
79 it->second->convert(a1);
80 }
81 }
82
83 }
84 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
85 {
86 o->type = msgpack::type::MAP;
87 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*1, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
88 o->via.map.size = 1;
89
90 o->via.map.ptr[0].key = msgpack::object(a0, z);
91 o->via.map.ptr[0].val = msgpack::object(a1, z);
92
93 }
94
95 A0& a0;
96 A1& a1;
97 };
98
99 template <typename A0, typename A1, typename A2, typename A3>
100 struct define_map<A0, A1, A2, A3> {
101 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3) :
102 a0(_a0), a1(_a1), a2(_a2), a3(_a3) {}
103 template <typename Packer>
104 void msgpack_pack(Packer& pk) const
105 {
106 pk.pack_map(2);
107
108 pk.pack(a0);
109 pk.pack(a1);
110 pk.pack(a2);
111 pk.pack(a3);
112 }
113 void msgpack_unpack(msgpack::object const& o) const
114 {
115 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
116 std::map<std::string, msgpack::object const*> kvmap;
117 for (uint32_t i = 0; i < o.via.map.size; ++i) {
118 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
119 kvmap.insert(
120 std::map<std::string, msgpack::object const*>::value_type(
121 std::string(
122 o.via.map.ptr[i].key.via.str.ptr,
123 o.via.map.ptr[i].key.via.str.size),
124 &o.via.map.ptr[i].val
125 )
126 );
127 }
128
129 {
130 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
131 if (it != kvmap.end()) {
132 it->second->convert(a1);
133 }
134 }
135
136 {
137 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
138 if (it != kvmap.end()) {
139 it->second->convert(a3);
140 }
141 }
142
143 }
144 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
145 {
146 o->type = msgpack::type::MAP;
147 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
148 o->via.map.size = 2;
149
150 o->via.map.ptr[0].key = msgpack::object(a0, z);
151 o->via.map.ptr[0].val = msgpack::object(a1, z);
152
153 o->via.map.ptr[1].key = msgpack::object(a2, z);
154 o->via.map.ptr[1].val = msgpack::object(a3, z);
155
156 }
157
158 A0& a0;
159 A1& a1;
160 A2& a2;
161 A3& a3;
162 };
163
164 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
165 struct define_map<A0, A1, A2, A3, A4, A5> {
166 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5) :
167 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5) {}
168 template <typename Packer>
169 void msgpack_pack(Packer& pk) const
170 {
171 pk.pack_map(3);
172
173 pk.pack(a0);
174 pk.pack(a1);
175 pk.pack(a2);
176 pk.pack(a3);
177 pk.pack(a4);
178 pk.pack(a5);
179 }
180 void msgpack_unpack(msgpack::object const& o) const
181 {
182 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
183 std::map<std::string, msgpack::object const*> kvmap;
184 for (uint32_t i = 0; i < o.via.map.size; ++i) {
185 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
186 kvmap.insert(
187 std::map<std::string, msgpack::object const*>::value_type(
188 std::string(
189 o.via.map.ptr[i].key.via.str.ptr,
190 o.via.map.ptr[i].key.via.str.size),
191 &o.via.map.ptr[i].val
192 )
193 );
194 }
195
196 {
197 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
198 if (it != kvmap.end()) {
199 it->second->convert(a1);
200 }
201 }
202
203 {
204 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
205 if (it != kvmap.end()) {
206 it->second->convert(a3);
207 }
208 }
209
210 {
211 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
212 if (it != kvmap.end()) {
213 it->second->convert(a5);
214 }
215 }
216
217 }
218 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
219 {
220 o->type = msgpack::type::MAP;
221 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*3, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
222 o->via.map.size = 3;
223
224 o->via.map.ptr[0].key = msgpack::object(a0, z);
225 o->via.map.ptr[0].val = msgpack::object(a1, z);
226
227 o->via.map.ptr[1].key = msgpack::object(a2, z);
228 o->via.map.ptr[1].val = msgpack::object(a3, z);
229
230 o->via.map.ptr[2].key = msgpack::object(a4, z);
231 o->via.map.ptr[2].val = msgpack::object(a5, z);
232
233 }
234
235 A0& a0;
236 A1& a1;
237 A2& a2;
238 A3& a3;
239 A4& a4;
240 A5& a5;
241 };
242
243 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
244 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7> {
245 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7) :
246 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7) {}
247 template <typename Packer>
248 void msgpack_pack(Packer& pk) const
249 {
250 pk.pack_map(4);
251
252 pk.pack(a0);
253 pk.pack(a1);
254 pk.pack(a2);
255 pk.pack(a3);
256 pk.pack(a4);
257 pk.pack(a5);
258 pk.pack(a6);
259 pk.pack(a7);
260 }
261 void msgpack_unpack(msgpack::object const& o) const
262 {
263 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
264 std::map<std::string, msgpack::object const*> kvmap;
265 for (uint32_t i = 0; i < o.via.map.size; ++i) {
266 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
267 kvmap.insert(
268 std::map<std::string, msgpack::object const*>::value_type(
269 std::string(
270 o.via.map.ptr[i].key.via.str.ptr,
271 o.via.map.ptr[i].key.via.str.size),
272 &o.via.map.ptr[i].val
273 )
274 );
275 }
276
277 {
278 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
279 if (it != kvmap.end()) {
280 it->second->convert(a1);
281 }
282 }
283
284 {
285 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
286 if (it != kvmap.end()) {
287 it->second->convert(a3);
288 }
289 }
290
291 {
292 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
293 if (it != kvmap.end()) {
294 it->second->convert(a5);
295 }
296 }
297
298 {
299 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
300 if (it != kvmap.end()) {
301 it->second->convert(a7);
302 }
303 }
304
305 }
306 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
307 {
308 o->type = msgpack::type::MAP;
309 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*4, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
310 o->via.map.size = 4;
311
312 o->via.map.ptr[0].key = msgpack::object(a0, z);
313 o->via.map.ptr[0].val = msgpack::object(a1, z);
314
315 o->via.map.ptr[1].key = msgpack::object(a2, z);
316 o->via.map.ptr[1].val = msgpack::object(a3, z);
317
318 o->via.map.ptr[2].key = msgpack::object(a4, z);
319 o->via.map.ptr[2].val = msgpack::object(a5, z);
320
321 o->via.map.ptr[3].key = msgpack::object(a6, z);
322 o->via.map.ptr[3].val = msgpack::object(a7, z);
323
324 }
325
326 A0& a0;
327 A1& a1;
328 A2& a2;
329 A3& a3;
330 A4& a4;
331 A5& a5;
332 A6& a6;
333 A7& a7;
334 };
335
336 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
337 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> {
338 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9) :
339 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9) {}
340 template <typename Packer>
341 void msgpack_pack(Packer& pk) const
342 {
343 pk.pack_map(5);
344
345 pk.pack(a0);
346 pk.pack(a1);
347 pk.pack(a2);
348 pk.pack(a3);
349 pk.pack(a4);
350 pk.pack(a5);
351 pk.pack(a6);
352 pk.pack(a7);
353 pk.pack(a8);
354 pk.pack(a9);
355 }
356 void msgpack_unpack(msgpack::object const& o) const
357 {
358 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
359 std::map<std::string, msgpack::object const*> kvmap;
360 for (uint32_t i = 0; i < o.via.map.size; ++i) {
361 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
362 kvmap.insert(
363 std::map<std::string, msgpack::object const*>::value_type(
364 std::string(
365 o.via.map.ptr[i].key.via.str.ptr,
366 o.via.map.ptr[i].key.via.str.size),
367 &o.via.map.ptr[i].val
368 )
369 );
370 }
371
372 {
373 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
374 if (it != kvmap.end()) {
375 it->second->convert(a1);
376 }
377 }
378
379 {
380 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
381 if (it != kvmap.end()) {
382 it->second->convert(a3);
383 }
384 }
385
386 {
387 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
388 if (it != kvmap.end()) {
389 it->second->convert(a5);
390 }
391 }
392
393 {
394 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
395 if (it != kvmap.end()) {
396 it->second->convert(a7);
397 }
398 }
399
400 {
401 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
402 if (it != kvmap.end()) {
403 it->second->convert(a9);
404 }
405 }
406
407 }
408 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
409 {
410 o->type = msgpack::type::MAP;
411 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*5, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
412 o->via.map.size = 5;
413
414 o->via.map.ptr[0].key = msgpack::object(a0, z);
415 o->via.map.ptr[0].val = msgpack::object(a1, z);
416
417 o->via.map.ptr[1].key = msgpack::object(a2, z);
418 o->via.map.ptr[1].val = msgpack::object(a3, z);
419
420 o->via.map.ptr[2].key = msgpack::object(a4, z);
421 o->via.map.ptr[2].val = msgpack::object(a5, z);
422
423 o->via.map.ptr[3].key = msgpack::object(a6, z);
424 o->via.map.ptr[3].val = msgpack::object(a7, z);
425
426 o->via.map.ptr[4].key = msgpack::object(a8, z);
427 o->via.map.ptr[4].val = msgpack::object(a9, z);
428
429 }
430
431 A0& a0;
432 A1& a1;
433 A2& a2;
434 A3& a3;
435 A4& a4;
436 A5& a5;
437 A6& a6;
438 A7& a7;
439 A8& a8;
440 A9& a9;
441 };
442
443 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
444 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> {
445 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11) :
446 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11) {}
447 template <typename Packer>
448 void msgpack_pack(Packer& pk) const
449 {
450 pk.pack_map(6);
451
452 pk.pack(a0);
453 pk.pack(a1);
454 pk.pack(a2);
455 pk.pack(a3);
456 pk.pack(a4);
457 pk.pack(a5);
458 pk.pack(a6);
459 pk.pack(a7);
460 pk.pack(a8);
461 pk.pack(a9);
462 pk.pack(a10);
463 pk.pack(a11);
464 }
465 void msgpack_unpack(msgpack::object const& o) const
466 {
467 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
468 std::map<std::string, msgpack::object const*> kvmap;
469 for (uint32_t i = 0; i < o.via.map.size; ++i) {
470 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
471 kvmap.insert(
472 std::map<std::string, msgpack::object const*>::value_type(
473 std::string(
474 o.via.map.ptr[i].key.via.str.ptr,
475 o.via.map.ptr[i].key.via.str.size),
476 &o.via.map.ptr[i].val
477 )
478 );
479 }
480
481 {
482 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
483 if (it != kvmap.end()) {
484 it->second->convert(a1);
485 }
486 }
487
488 {
489 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
490 if (it != kvmap.end()) {
491 it->second->convert(a3);
492 }
493 }
494
495 {
496 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
497 if (it != kvmap.end()) {
498 it->second->convert(a5);
499 }
500 }
501
502 {
503 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
504 if (it != kvmap.end()) {
505 it->second->convert(a7);
506 }
507 }
508
509 {
510 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
511 if (it != kvmap.end()) {
512 it->second->convert(a9);
513 }
514 }
515
516 {
517 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
518 if (it != kvmap.end()) {
519 it->second->convert(a11);
520 }
521 }
522
523 }
524 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
525 {
526 o->type = msgpack::type::MAP;
527 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*6, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
528 o->via.map.size = 6;
529
530 o->via.map.ptr[0].key = msgpack::object(a0, z);
531 o->via.map.ptr[0].val = msgpack::object(a1, z);
532
533 o->via.map.ptr[1].key = msgpack::object(a2, z);
534 o->via.map.ptr[1].val = msgpack::object(a3, z);
535
536 o->via.map.ptr[2].key = msgpack::object(a4, z);
537 o->via.map.ptr[2].val = msgpack::object(a5, z);
538
539 o->via.map.ptr[3].key = msgpack::object(a6, z);
540 o->via.map.ptr[3].val = msgpack::object(a7, z);
541
542 o->via.map.ptr[4].key = msgpack::object(a8, z);
543 o->via.map.ptr[4].val = msgpack::object(a9, z);
544
545 o->via.map.ptr[5].key = msgpack::object(a10, z);
546 o->via.map.ptr[5].val = msgpack::object(a11, z);
547
548 }
549
550 A0& a0;
551 A1& a1;
552 A2& a2;
553 A3& a3;
554 A4& a4;
555 A5& a5;
556 A6& a6;
557 A7& a7;
558 A8& a8;
559 A9& a9;
560 A10& a10;
561 A11& a11;
562 };
563
564 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
565 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> {
566 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13) :
567 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13) {}
568 template <typename Packer>
569 void msgpack_pack(Packer& pk) const
570 {
571 pk.pack_map(7);
572
573 pk.pack(a0);
574 pk.pack(a1);
575 pk.pack(a2);
576 pk.pack(a3);
577 pk.pack(a4);
578 pk.pack(a5);
579 pk.pack(a6);
580 pk.pack(a7);
581 pk.pack(a8);
582 pk.pack(a9);
583 pk.pack(a10);
584 pk.pack(a11);
585 pk.pack(a12);
586 pk.pack(a13);
587 }
588 void msgpack_unpack(msgpack::object const& o) const
589 {
590 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
591 std::map<std::string, msgpack::object const*> kvmap;
592 for (uint32_t i = 0; i < o.via.map.size; ++i) {
593 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
594 kvmap.insert(
595 std::map<std::string, msgpack::object const*>::value_type(
596 std::string(
597 o.via.map.ptr[i].key.via.str.ptr,
598 o.via.map.ptr[i].key.via.str.size),
599 &o.via.map.ptr[i].val
600 )
601 );
602 }
603
604 {
605 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
606 if (it != kvmap.end()) {
607 it->second->convert(a1);
608 }
609 }
610
611 {
612 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
613 if (it != kvmap.end()) {
614 it->second->convert(a3);
615 }
616 }
617
618 {
619 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
620 if (it != kvmap.end()) {
621 it->second->convert(a5);
622 }
623 }
624
625 {
626 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
627 if (it != kvmap.end()) {
628 it->second->convert(a7);
629 }
630 }
631
632 {
633 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
634 if (it != kvmap.end()) {
635 it->second->convert(a9);
636 }
637 }
638
639 {
640 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
641 if (it != kvmap.end()) {
642 it->second->convert(a11);
643 }
644 }
645
646 {
647 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
648 if (it != kvmap.end()) {
649 it->second->convert(a13);
650 }
651 }
652
653 }
654 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
655 {
656 o->type = msgpack::type::MAP;
657 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*7, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
658 o->via.map.size = 7;
659
660 o->via.map.ptr[0].key = msgpack::object(a0, z);
661 o->via.map.ptr[0].val = msgpack::object(a1, z);
662
663 o->via.map.ptr[1].key = msgpack::object(a2, z);
664 o->via.map.ptr[1].val = msgpack::object(a3, z);
665
666 o->via.map.ptr[2].key = msgpack::object(a4, z);
667 o->via.map.ptr[2].val = msgpack::object(a5, z);
668
669 o->via.map.ptr[3].key = msgpack::object(a6, z);
670 o->via.map.ptr[3].val = msgpack::object(a7, z);
671
672 o->via.map.ptr[4].key = msgpack::object(a8, z);
673 o->via.map.ptr[4].val = msgpack::object(a9, z);
674
675 o->via.map.ptr[5].key = msgpack::object(a10, z);
676 o->via.map.ptr[5].val = msgpack::object(a11, z);
677
678 o->via.map.ptr[6].key = msgpack::object(a12, z);
679 o->via.map.ptr[6].val = msgpack::object(a13, z);
680
681 }
682
683 A0& a0;
684 A1& a1;
685 A2& a2;
686 A3& a3;
687 A4& a4;
688 A5& a5;
689 A6& a6;
690 A7& a7;
691 A8& a8;
692 A9& a9;
693 A10& a10;
694 A11& a11;
695 A12& a12;
696 A13& a13;
697 };
698
699 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
700 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> {
701 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15) :
702 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15) {}
703 template <typename Packer>
704 void msgpack_pack(Packer& pk) const
705 {
706 pk.pack_map(8);
707
708 pk.pack(a0);
709 pk.pack(a1);
710 pk.pack(a2);
711 pk.pack(a3);
712 pk.pack(a4);
713 pk.pack(a5);
714 pk.pack(a6);
715 pk.pack(a7);
716 pk.pack(a8);
717 pk.pack(a9);
718 pk.pack(a10);
719 pk.pack(a11);
720 pk.pack(a12);
721 pk.pack(a13);
722 pk.pack(a14);
723 pk.pack(a15);
724 }
725 void msgpack_unpack(msgpack::object const& o) const
726 {
727 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
728 std::map<std::string, msgpack::object const*> kvmap;
729 for (uint32_t i = 0; i < o.via.map.size; ++i) {
730 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
731 kvmap.insert(
732 std::map<std::string, msgpack::object const*>::value_type(
733 std::string(
734 o.via.map.ptr[i].key.via.str.ptr,
735 o.via.map.ptr[i].key.via.str.size),
736 &o.via.map.ptr[i].val
737 )
738 );
739 }
740
741 {
742 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
743 if (it != kvmap.end()) {
744 it->second->convert(a1);
745 }
746 }
747
748 {
749 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
750 if (it != kvmap.end()) {
751 it->second->convert(a3);
752 }
753 }
754
755 {
756 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
757 if (it != kvmap.end()) {
758 it->second->convert(a5);
759 }
760 }
761
762 {
763 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
764 if (it != kvmap.end()) {
765 it->second->convert(a7);
766 }
767 }
768
769 {
770 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
771 if (it != kvmap.end()) {
772 it->second->convert(a9);
773 }
774 }
775
776 {
777 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
778 if (it != kvmap.end()) {
779 it->second->convert(a11);
780 }
781 }
782
783 {
784 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
785 if (it != kvmap.end()) {
786 it->second->convert(a13);
787 }
788 }
789
790 {
791 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
792 if (it != kvmap.end()) {
793 it->second->convert(a15);
794 }
795 }
796
797 }
798 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
799 {
800 o->type = msgpack::type::MAP;
801 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*8, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
802 o->via.map.size = 8;
803
804 o->via.map.ptr[0].key = msgpack::object(a0, z);
805 o->via.map.ptr[0].val = msgpack::object(a1, z);
806
807 o->via.map.ptr[1].key = msgpack::object(a2, z);
808 o->via.map.ptr[1].val = msgpack::object(a3, z);
809
810 o->via.map.ptr[2].key = msgpack::object(a4, z);
811 o->via.map.ptr[2].val = msgpack::object(a5, z);
812
813 o->via.map.ptr[3].key = msgpack::object(a6, z);
814 o->via.map.ptr[3].val = msgpack::object(a7, z);
815
816 o->via.map.ptr[4].key = msgpack::object(a8, z);
817 o->via.map.ptr[4].val = msgpack::object(a9, z);
818
819 o->via.map.ptr[5].key = msgpack::object(a10, z);
820 o->via.map.ptr[5].val = msgpack::object(a11, z);
821
822 o->via.map.ptr[6].key = msgpack::object(a12, z);
823 o->via.map.ptr[6].val = msgpack::object(a13, z);
824
825 o->via.map.ptr[7].key = msgpack::object(a14, z);
826 o->via.map.ptr[7].val = msgpack::object(a15, z);
827
828 }
829
830 A0& a0;
831 A1& a1;
832 A2& a2;
833 A3& a3;
834 A4& a4;
835 A5& a5;
836 A6& a6;
837 A7& a7;
838 A8& a8;
839 A9& a9;
840 A10& a10;
841 A11& a11;
842 A12& a12;
843 A13& a13;
844 A14& a14;
845 A15& a15;
846 };
847
848 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17>
849 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> {
850 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17) :
851 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17) {}
852 template <typename Packer>
853 void msgpack_pack(Packer& pk) const
854 {
855 pk.pack_map(9);
856
857 pk.pack(a0);
858 pk.pack(a1);
859 pk.pack(a2);
860 pk.pack(a3);
861 pk.pack(a4);
862 pk.pack(a5);
863 pk.pack(a6);
864 pk.pack(a7);
865 pk.pack(a8);
866 pk.pack(a9);
867 pk.pack(a10);
868 pk.pack(a11);
869 pk.pack(a12);
870 pk.pack(a13);
871 pk.pack(a14);
872 pk.pack(a15);
873 pk.pack(a16);
874 pk.pack(a17);
875 }
876 void msgpack_unpack(msgpack::object const& o) const
877 {
878 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
879 std::map<std::string, msgpack::object const*> kvmap;
880 for (uint32_t i = 0; i < o.via.map.size; ++i) {
881 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
882 kvmap.insert(
883 std::map<std::string, msgpack::object const*>::value_type(
884 std::string(
885 o.via.map.ptr[i].key.via.str.ptr,
886 o.via.map.ptr[i].key.via.str.size),
887 &o.via.map.ptr[i].val
888 )
889 );
890 }
891
892 {
893 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
894 if (it != kvmap.end()) {
895 it->second->convert(a1);
896 }
897 }
898
899 {
900 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
901 if (it != kvmap.end()) {
902 it->second->convert(a3);
903 }
904 }
905
906 {
907 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
908 if (it != kvmap.end()) {
909 it->second->convert(a5);
910 }
911 }
912
913 {
914 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
915 if (it != kvmap.end()) {
916 it->second->convert(a7);
917 }
918 }
919
920 {
921 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
922 if (it != kvmap.end()) {
923 it->second->convert(a9);
924 }
925 }
926
927 {
928 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
929 if (it != kvmap.end()) {
930 it->second->convert(a11);
931 }
932 }
933
934 {
935 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
936 if (it != kvmap.end()) {
937 it->second->convert(a13);
938 }
939 }
940
941 {
942 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
943 if (it != kvmap.end()) {
944 it->second->convert(a15);
945 }
946 }
947
948 {
949 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a16);
950 if (it != kvmap.end()) {
951 it->second->convert(a17);
952 }
953 }
954
955 }
956 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
957 {
958 o->type = msgpack::type::MAP;
959 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*9, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
960 o->via.map.size = 9;
961
962 o->via.map.ptr[0].key = msgpack::object(a0, z);
963 o->via.map.ptr[0].val = msgpack::object(a1, z);
964
965 o->via.map.ptr[1].key = msgpack::object(a2, z);
966 o->via.map.ptr[1].val = msgpack::object(a3, z);
967
968 o->via.map.ptr[2].key = msgpack::object(a4, z);
969 o->via.map.ptr[2].val = msgpack::object(a5, z);
970
971 o->via.map.ptr[3].key = msgpack::object(a6, z);
972 o->via.map.ptr[3].val = msgpack::object(a7, z);
973
974 o->via.map.ptr[4].key = msgpack::object(a8, z);
975 o->via.map.ptr[4].val = msgpack::object(a9, z);
976
977 o->via.map.ptr[5].key = msgpack::object(a10, z);
978 o->via.map.ptr[5].val = msgpack::object(a11, z);
979
980 o->via.map.ptr[6].key = msgpack::object(a12, z);
981 o->via.map.ptr[6].val = msgpack::object(a13, z);
982
983 o->via.map.ptr[7].key = msgpack::object(a14, z);
984 o->via.map.ptr[7].val = msgpack::object(a15, z);
985
986 o->via.map.ptr[8].key = msgpack::object(a16, z);
987 o->via.map.ptr[8].val = msgpack::object(a17, z);
988
989 }
990
991 A0& a0;
992 A1& a1;
993 A2& a2;
994 A3& a3;
995 A4& a4;
996 A5& a5;
997 A6& a6;
998 A7& a7;
999 A8& a8;
1000 A9& a9;
1001 A10& a10;
1002 A11& a11;
1003 A12& a12;
1004 A13& a13;
1005 A14& a14;
1006 A15& a15;
1007 A16& a16;
1008 A17& a17;
1009 };
1010
1011 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19>
1012 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> {
1013 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19) :
1014 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19) {}
1015 template <typename Packer>
1016 void msgpack_pack(Packer& pk) const
1017 {
1018 pk.pack_map(10);
1019
1020 pk.pack(a0);
1021 pk.pack(a1);
1022 pk.pack(a2);
1023 pk.pack(a3);
1024 pk.pack(a4);
1025 pk.pack(a5);
1026 pk.pack(a6);
1027 pk.pack(a7);
1028 pk.pack(a8);
1029 pk.pack(a9);
1030 pk.pack(a10);
1031 pk.pack(a11);
1032 pk.pack(a12);
1033 pk.pack(a13);
1034 pk.pack(a14);
1035 pk.pack(a15);
1036 pk.pack(a16);
1037 pk.pack(a17);
1038 pk.pack(a18);
1039 pk.pack(a19);
1040 }
1041 void msgpack_unpack(msgpack::object const& o) const
1042 {
1043 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
1044 std::map<std::string, msgpack::object const*> kvmap;
1045 for (uint32_t i = 0; i < o.via.map.size; ++i) {
1046 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
1047 kvmap.insert(
1048 std::map<std::string, msgpack::object const*>::value_type(
1049 std::string(
1050 o.via.map.ptr[i].key.via.str.ptr,
1051 o.via.map.ptr[i].key.via.str.size),
1052 &o.via.map.ptr[i].val
1053 )
1054 );
1055 }
1056
1057 {
1058 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
1059 if (it != kvmap.end()) {
1060 it->second->convert(a1);
1061 }
1062 }
1063
1064 {
1065 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
1066 if (it != kvmap.end()) {
1067 it->second->convert(a3);
1068 }
1069 }
1070
1071 {
1072 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
1073 if (it != kvmap.end()) {
1074 it->second->convert(a5);
1075 }
1076 }
1077
1078 {
1079 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
1080 if (it != kvmap.end()) {
1081 it->second->convert(a7);
1082 }
1083 }
1084
1085 {
1086 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
1087 if (it != kvmap.end()) {
1088 it->second->convert(a9);
1089 }
1090 }
1091
1092 {
1093 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
1094 if (it != kvmap.end()) {
1095 it->second->convert(a11);
1096 }
1097 }
1098
1099 {
1100 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
1101 if (it != kvmap.end()) {
1102 it->second->convert(a13);
1103 }
1104 }
1105
1106 {
1107 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
1108 if (it != kvmap.end()) {
1109 it->second->convert(a15);
1110 }
1111 }
1112
1113 {
1114 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a16);
1115 if (it != kvmap.end()) {
1116 it->second->convert(a17);
1117 }
1118 }
1119
1120 {
1121 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a18);
1122 if (it != kvmap.end()) {
1123 it->second->convert(a19);
1124 }
1125 }
1126
1127 }
1128 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1129 {
1130 o->type = msgpack::type::MAP;
1131 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*10, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
1132 o->via.map.size = 10;
1133
1134 o->via.map.ptr[0].key = msgpack::object(a0, z);
1135 o->via.map.ptr[0].val = msgpack::object(a1, z);
1136
1137 o->via.map.ptr[1].key = msgpack::object(a2, z);
1138 o->via.map.ptr[1].val = msgpack::object(a3, z);
1139
1140 o->via.map.ptr[2].key = msgpack::object(a4, z);
1141 o->via.map.ptr[2].val = msgpack::object(a5, z);
1142
1143 o->via.map.ptr[3].key = msgpack::object(a6, z);
1144 o->via.map.ptr[3].val = msgpack::object(a7, z);
1145
1146 o->via.map.ptr[4].key = msgpack::object(a8, z);
1147 o->via.map.ptr[4].val = msgpack::object(a9, z);
1148
1149 o->via.map.ptr[5].key = msgpack::object(a10, z);
1150 o->via.map.ptr[5].val = msgpack::object(a11, z);
1151
1152 o->via.map.ptr[6].key = msgpack::object(a12, z);
1153 o->via.map.ptr[6].val = msgpack::object(a13, z);
1154
1155 o->via.map.ptr[7].key = msgpack::object(a14, z);
1156 o->via.map.ptr[7].val = msgpack::object(a15, z);
1157
1158 o->via.map.ptr[8].key = msgpack::object(a16, z);
1159 o->via.map.ptr[8].val = msgpack::object(a17, z);
1160
1161 o->via.map.ptr[9].key = msgpack::object(a18, z);
1162 o->via.map.ptr[9].val = msgpack::object(a19, z);
1163
1164 }
1165
1166 A0& a0;
1167 A1& a1;
1168 A2& a2;
1169 A3& a3;
1170 A4& a4;
1171 A5& a5;
1172 A6& a6;
1173 A7& a7;
1174 A8& a8;
1175 A9& a9;
1176 A10& a10;
1177 A11& a11;
1178 A12& a12;
1179 A13& a13;
1180 A14& a14;
1181 A15& a15;
1182 A16& a16;
1183 A17& a17;
1184 A18& a18;
1185 A19& a19;
1186 };
1187
1188 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21>
1189 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21> {
1190 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21) :
1191 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21) {}
1192 template <typename Packer>
1193 void msgpack_pack(Packer& pk) const
1194 {
1195 pk.pack_map(11);
1196
1197 pk.pack(a0);
1198 pk.pack(a1);
1199 pk.pack(a2);
1200 pk.pack(a3);
1201 pk.pack(a4);
1202 pk.pack(a5);
1203 pk.pack(a6);
1204 pk.pack(a7);
1205 pk.pack(a8);
1206 pk.pack(a9);
1207 pk.pack(a10);
1208 pk.pack(a11);
1209 pk.pack(a12);
1210 pk.pack(a13);
1211 pk.pack(a14);
1212 pk.pack(a15);
1213 pk.pack(a16);
1214 pk.pack(a17);
1215 pk.pack(a18);
1216 pk.pack(a19);
1217 pk.pack(a20);
1218 pk.pack(a21);
1219 }
1220 void msgpack_unpack(msgpack::object const& o) const
1221 {
1222 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
1223 std::map<std::string, msgpack::object const*> kvmap;
1224 for (uint32_t i = 0; i < o.via.map.size; ++i) {
1225 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
1226 kvmap.insert(
1227 std::map<std::string, msgpack::object const*>::value_type(
1228 std::string(
1229 o.via.map.ptr[i].key.via.str.ptr,
1230 o.via.map.ptr[i].key.via.str.size),
1231 &o.via.map.ptr[i].val
1232 )
1233 );
1234 }
1235
1236 {
1237 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
1238 if (it != kvmap.end()) {
1239 it->second->convert(a1);
1240 }
1241 }
1242
1243 {
1244 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
1245 if (it != kvmap.end()) {
1246 it->second->convert(a3);
1247 }
1248 }
1249
1250 {
1251 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
1252 if (it != kvmap.end()) {
1253 it->second->convert(a5);
1254 }
1255 }
1256
1257 {
1258 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
1259 if (it != kvmap.end()) {
1260 it->second->convert(a7);
1261 }
1262 }
1263
1264 {
1265 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
1266 if (it != kvmap.end()) {
1267 it->second->convert(a9);
1268 }
1269 }
1270
1271 {
1272 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
1273 if (it != kvmap.end()) {
1274 it->second->convert(a11);
1275 }
1276 }
1277
1278 {
1279 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
1280 if (it != kvmap.end()) {
1281 it->second->convert(a13);
1282 }
1283 }
1284
1285 {
1286 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
1287 if (it != kvmap.end()) {
1288 it->second->convert(a15);
1289 }
1290 }
1291
1292 {
1293 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a16);
1294 if (it != kvmap.end()) {
1295 it->second->convert(a17);
1296 }
1297 }
1298
1299 {
1300 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a18);
1301 if (it != kvmap.end()) {
1302 it->second->convert(a19);
1303 }
1304 }
1305
1306 {
1307 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a20);
1308 if (it != kvmap.end()) {
1309 it->second->convert(a21);
1310 }
1311 }
1312
1313 }
1314 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1315 {
1316 o->type = msgpack::type::MAP;
1317 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*11, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
1318 o->via.map.size = 11;
1319
1320 o->via.map.ptr[0].key = msgpack::object(a0, z);
1321 o->via.map.ptr[0].val = msgpack::object(a1, z);
1322
1323 o->via.map.ptr[1].key = msgpack::object(a2, z);
1324 o->via.map.ptr[1].val = msgpack::object(a3, z);
1325
1326 o->via.map.ptr[2].key = msgpack::object(a4, z);
1327 o->via.map.ptr[2].val = msgpack::object(a5, z);
1328
1329 o->via.map.ptr[3].key = msgpack::object(a6, z);
1330 o->via.map.ptr[3].val = msgpack::object(a7, z);
1331
1332 o->via.map.ptr[4].key = msgpack::object(a8, z);
1333 o->via.map.ptr[4].val = msgpack::object(a9, z);
1334
1335 o->via.map.ptr[5].key = msgpack::object(a10, z);
1336 o->via.map.ptr[5].val = msgpack::object(a11, z);
1337
1338 o->via.map.ptr[6].key = msgpack::object(a12, z);
1339 o->via.map.ptr[6].val = msgpack::object(a13, z);
1340
1341 o->via.map.ptr[7].key = msgpack::object(a14, z);
1342 o->via.map.ptr[7].val = msgpack::object(a15, z);
1343
1344 o->via.map.ptr[8].key = msgpack::object(a16, z);
1345 o->via.map.ptr[8].val = msgpack::object(a17, z);
1346
1347 o->via.map.ptr[9].key = msgpack::object(a18, z);
1348 o->via.map.ptr[9].val = msgpack::object(a19, z);
1349
1350 o->via.map.ptr[10].key = msgpack::object(a20, z);
1351 o->via.map.ptr[10].val = msgpack::object(a21, z);
1352
1353 }
1354
1355 A0& a0;
1356 A1& a1;
1357 A2& a2;
1358 A3& a3;
1359 A4& a4;
1360 A5& a5;
1361 A6& a6;
1362 A7& a7;
1363 A8& a8;
1364 A9& a9;
1365 A10& a10;
1366 A11& a11;
1367 A12& a12;
1368 A13& a13;
1369 A14& a14;
1370 A15& a15;
1371 A16& a16;
1372 A17& a17;
1373 A18& a18;
1374 A19& a19;
1375 A20& a20;
1376 A21& a21;
1377 };
1378
1379 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23>
1380 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23> {
1381 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23) :
1382 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23) {}
1383 template <typename Packer>
1384 void msgpack_pack(Packer& pk) const
1385 {
1386 pk.pack_map(12);
1387
1388 pk.pack(a0);
1389 pk.pack(a1);
1390 pk.pack(a2);
1391 pk.pack(a3);
1392 pk.pack(a4);
1393 pk.pack(a5);
1394 pk.pack(a6);
1395 pk.pack(a7);
1396 pk.pack(a8);
1397 pk.pack(a9);
1398 pk.pack(a10);
1399 pk.pack(a11);
1400 pk.pack(a12);
1401 pk.pack(a13);
1402 pk.pack(a14);
1403 pk.pack(a15);
1404 pk.pack(a16);
1405 pk.pack(a17);
1406 pk.pack(a18);
1407 pk.pack(a19);
1408 pk.pack(a20);
1409 pk.pack(a21);
1410 pk.pack(a22);
1411 pk.pack(a23);
1412 }
1413 void msgpack_unpack(msgpack::object const& o) const
1414 {
1415 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
1416 std::map<std::string, msgpack::object const*> kvmap;
1417 for (uint32_t i = 0; i < o.via.map.size; ++i) {
1418 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
1419 kvmap.insert(
1420 std::map<std::string, msgpack::object const*>::value_type(
1421 std::string(
1422 o.via.map.ptr[i].key.via.str.ptr,
1423 o.via.map.ptr[i].key.via.str.size),
1424 &o.via.map.ptr[i].val
1425 )
1426 );
1427 }
1428
1429 {
1430 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
1431 if (it != kvmap.end()) {
1432 it->second->convert(a1);
1433 }
1434 }
1435
1436 {
1437 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
1438 if (it != kvmap.end()) {
1439 it->second->convert(a3);
1440 }
1441 }
1442
1443 {
1444 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
1445 if (it != kvmap.end()) {
1446 it->second->convert(a5);
1447 }
1448 }
1449
1450 {
1451 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
1452 if (it != kvmap.end()) {
1453 it->second->convert(a7);
1454 }
1455 }
1456
1457 {
1458 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
1459 if (it != kvmap.end()) {
1460 it->second->convert(a9);
1461 }
1462 }
1463
1464 {
1465 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
1466 if (it != kvmap.end()) {
1467 it->second->convert(a11);
1468 }
1469 }
1470
1471 {
1472 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
1473 if (it != kvmap.end()) {
1474 it->second->convert(a13);
1475 }
1476 }
1477
1478 {
1479 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
1480 if (it != kvmap.end()) {
1481 it->second->convert(a15);
1482 }
1483 }
1484
1485 {
1486 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a16);
1487 if (it != kvmap.end()) {
1488 it->second->convert(a17);
1489 }
1490 }
1491
1492 {
1493 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a18);
1494 if (it != kvmap.end()) {
1495 it->second->convert(a19);
1496 }
1497 }
1498
1499 {
1500 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a20);
1501 if (it != kvmap.end()) {
1502 it->second->convert(a21);
1503 }
1504 }
1505
1506 {
1507 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a22);
1508 if (it != kvmap.end()) {
1509 it->second->convert(a23);
1510 }
1511 }
1512
1513 }
1514 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1515 {
1516 o->type = msgpack::type::MAP;
1517 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*12, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
1518 o->via.map.size = 12;
1519
1520 o->via.map.ptr[0].key = msgpack::object(a0, z);
1521 o->via.map.ptr[0].val = msgpack::object(a1, z);
1522
1523 o->via.map.ptr[1].key = msgpack::object(a2, z);
1524 o->via.map.ptr[1].val = msgpack::object(a3, z);
1525
1526 o->via.map.ptr[2].key = msgpack::object(a4, z);
1527 o->via.map.ptr[2].val = msgpack::object(a5, z);
1528
1529 o->via.map.ptr[3].key = msgpack::object(a6, z);
1530 o->via.map.ptr[3].val = msgpack::object(a7, z);
1531
1532 o->via.map.ptr[4].key = msgpack::object(a8, z);
1533 o->via.map.ptr[4].val = msgpack::object(a9, z);
1534
1535 o->via.map.ptr[5].key = msgpack::object(a10, z);
1536 o->via.map.ptr[5].val = msgpack::object(a11, z);
1537
1538 o->via.map.ptr[6].key = msgpack::object(a12, z);
1539 o->via.map.ptr[6].val = msgpack::object(a13, z);
1540
1541 o->via.map.ptr[7].key = msgpack::object(a14, z);
1542 o->via.map.ptr[7].val = msgpack::object(a15, z);
1543
1544 o->via.map.ptr[8].key = msgpack::object(a16, z);
1545 o->via.map.ptr[8].val = msgpack::object(a17, z);
1546
1547 o->via.map.ptr[9].key = msgpack::object(a18, z);
1548 o->via.map.ptr[9].val = msgpack::object(a19, z);
1549
1550 o->via.map.ptr[10].key = msgpack::object(a20, z);
1551 o->via.map.ptr[10].val = msgpack::object(a21, z);
1552
1553 o->via.map.ptr[11].key = msgpack::object(a22, z);
1554 o->via.map.ptr[11].val = msgpack::object(a23, z);
1555
1556 }
1557
1558 A0& a0;
1559 A1& a1;
1560 A2& a2;
1561 A3& a3;
1562 A4& a4;
1563 A5& a5;
1564 A6& a6;
1565 A7& a7;
1566 A8& a8;
1567 A9& a9;
1568 A10& a10;
1569 A11& a11;
1570 A12& a12;
1571 A13& a13;
1572 A14& a14;
1573 A15& a15;
1574 A16& a16;
1575 A17& a17;
1576 A18& a18;
1577 A19& a19;
1578 A20& a20;
1579 A21& a21;
1580 A22& a22;
1581 A23& a23;
1582 };
1583
1584 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25>
1585 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25> {
1586 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25) :
1587 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25) {}
1588 template <typename Packer>
1589 void msgpack_pack(Packer& pk) const
1590 {
1591 pk.pack_map(13);
1592
1593 pk.pack(a0);
1594 pk.pack(a1);
1595 pk.pack(a2);
1596 pk.pack(a3);
1597 pk.pack(a4);
1598 pk.pack(a5);
1599 pk.pack(a6);
1600 pk.pack(a7);
1601 pk.pack(a8);
1602 pk.pack(a9);
1603 pk.pack(a10);
1604 pk.pack(a11);
1605 pk.pack(a12);
1606 pk.pack(a13);
1607 pk.pack(a14);
1608 pk.pack(a15);
1609 pk.pack(a16);
1610 pk.pack(a17);
1611 pk.pack(a18);
1612 pk.pack(a19);
1613 pk.pack(a20);
1614 pk.pack(a21);
1615 pk.pack(a22);
1616 pk.pack(a23);
1617 pk.pack(a24);
1618 pk.pack(a25);
1619 }
1620 void msgpack_unpack(msgpack::object const& o) const
1621 {
1622 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
1623 std::map<std::string, msgpack::object const*> kvmap;
1624 for (uint32_t i = 0; i < o.via.map.size; ++i) {
1625 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
1626 kvmap.insert(
1627 std::map<std::string, msgpack::object const*>::value_type(
1628 std::string(
1629 o.via.map.ptr[i].key.via.str.ptr,
1630 o.via.map.ptr[i].key.via.str.size),
1631 &o.via.map.ptr[i].val
1632 )
1633 );
1634 }
1635
1636 {
1637 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
1638 if (it != kvmap.end()) {
1639 it->second->convert(a1);
1640 }
1641 }
1642
1643 {
1644 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
1645 if (it != kvmap.end()) {
1646 it->second->convert(a3);
1647 }
1648 }
1649
1650 {
1651 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
1652 if (it != kvmap.end()) {
1653 it->second->convert(a5);
1654 }
1655 }
1656
1657 {
1658 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
1659 if (it != kvmap.end()) {
1660 it->second->convert(a7);
1661 }
1662 }
1663
1664 {
1665 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
1666 if (it != kvmap.end()) {
1667 it->second->convert(a9);
1668 }
1669 }
1670
1671 {
1672 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
1673 if (it != kvmap.end()) {
1674 it->second->convert(a11);
1675 }
1676 }
1677
1678 {
1679 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
1680 if (it != kvmap.end()) {
1681 it->second->convert(a13);
1682 }
1683 }
1684
1685 {
1686 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
1687 if (it != kvmap.end()) {
1688 it->second->convert(a15);
1689 }
1690 }
1691
1692 {
1693 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a16);
1694 if (it != kvmap.end()) {
1695 it->second->convert(a17);
1696 }
1697 }
1698
1699 {
1700 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a18);
1701 if (it != kvmap.end()) {
1702 it->second->convert(a19);
1703 }
1704 }
1705
1706 {
1707 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a20);
1708 if (it != kvmap.end()) {
1709 it->second->convert(a21);
1710 }
1711 }
1712
1713 {
1714 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a22);
1715 if (it != kvmap.end()) {
1716 it->second->convert(a23);
1717 }
1718 }
1719
1720 {
1721 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a24);
1722 if (it != kvmap.end()) {
1723 it->second->convert(a25);
1724 }
1725 }
1726
1727 }
1728 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1729 {
1730 o->type = msgpack::type::MAP;
1731 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*13, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
1732 o->via.map.size = 13;
1733
1734 o->via.map.ptr[0].key = msgpack::object(a0, z);
1735 o->via.map.ptr[0].val = msgpack::object(a1, z);
1736
1737 o->via.map.ptr[1].key = msgpack::object(a2, z);
1738 o->via.map.ptr[1].val = msgpack::object(a3, z);
1739
1740 o->via.map.ptr[2].key = msgpack::object(a4, z);
1741 o->via.map.ptr[2].val = msgpack::object(a5, z);
1742
1743 o->via.map.ptr[3].key = msgpack::object(a6, z);
1744 o->via.map.ptr[3].val = msgpack::object(a7, z);
1745
1746 o->via.map.ptr[4].key = msgpack::object(a8, z);
1747 o->via.map.ptr[4].val = msgpack::object(a9, z);
1748
1749 o->via.map.ptr[5].key = msgpack::object(a10, z);
1750 o->via.map.ptr[5].val = msgpack::object(a11, z);
1751
1752 o->via.map.ptr[6].key = msgpack::object(a12, z);
1753 o->via.map.ptr[6].val = msgpack::object(a13, z);
1754
1755 o->via.map.ptr[7].key = msgpack::object(a14, z);
1756 o->via.map.ptr[7].val = msgpack::object(a15, z);
1757
1758 o->via.map.ptr[8].key = msgpack::object(a16, z);
1759 o->via.map.ptr[8].val = msgpack::object(a17, z);
1760
1761 o->via.map.ptr[9].key = msgpack::object(a18, z);
1762 o->via.map.ptr[9].val = msgpack::object(a19, z);
1763
1764 o->via.map.ptr[10].key = msgpack::object(a20, z);
1765 o->via.map.ptr[10].val = msgpack::object(a21, z);
1766
1767 o->via.map.ptr[11].key = msgpack::object(a22, z);
1768 o->via.map.ptr[11].val = msgpack::object(a23, z);
1769
1770 o->via.map.ptr[12].key = msgpack::object(a24, z);
1771 o->via.map.ptr[12].val = msgpack::object(a25, z);
1772
1773 }
1774
1775 A0& a0;
1776 A1& a1;
1777 A2& a2;
1778 A3& a3;
1779 A4& a4;
1780 A5& a5;
1781 A6& a6;
1782 A7& a7;
1783 A8& a8;
1784 A9& a9;
1785 A10& a10;
1786 A11& a11;
1787 A12& a12;
1788 A13& a13;
1789 A14& a14;
1790 A15& a15;
1791 A16& a16;
1792 A17& a17;
1793 A18& a18;
1794 A19& a19;
1795 A20& a20;
1796 A21& a21;
1797 A22& a22;
1798 A23& a23;
1799 A24& a24;
1800 A25& a25;
1801 };
1802
1803 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27>
1804 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27> {
1805 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27) :
1806 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27) {}
1807 template <typename Packer>
1808 void msgpack_pack(Packer& pk) const
1809 {
1810 pk.pack_map(14);
1811
1812 pk.pack(a0);
1813 pk.pack(a1);
1814 pk.pack(a2);
1815 pk.pack(a3);
1816 pk.pack(a4);
1817 pk.pack(a5);
1818 pk.pack(a6);
1819 pk.pack(a7);
1820 pk.pack(a8);
1821 pk.pack(a9);
1822 pk.pack(a10);
1823 pk.pack(a11);
1824 pk.pack(a12);
1825 pk.pack(a13);
1826 pk.pack(a14);
1827 pk.pack(a15);
1828 pk.pack(a16);
1829 pk.pack(a17);
1830 pk.pack(a18);
1831 pk.pack(a19);
1832 pk.pack(a20);
1833 pk.pack(a21);
1834 pk.pack(a22);
1835 pk.pack(a23);
1836 pk.pack(a24);
1837 pk.pack(a25);
1838 pk.pack(a26);
1839 pk.pack(a27);
1840 }
1841 void msgpack_unpack(msgpack::object const& o) const
1842 {
1843 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
1844 std::map<std::string, msgpack::object const*> kvmap;
1845 for (uint32_t i = 0; i < o.via.map.size; ++i) {
1846 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
1847 kvmap.insert(
1848 std::map<std::string, msgpack::object const*>::value_type(
1849 std::string(
1850 o.via.map.ptr[i].key.via.str.ptr,
1851 o.via.map.ptr[i].key.via.str.size),
1852 &o.via.map.ptr[i].val
1853 )
1854 );
1855 }
1856
1857 {
1858 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
1859 if (it != kvmap.end()) {
1860 it->second->convert(a1);
1861 }
1862 }
1863
1864 {
1865 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
1866 if (it != kvmap.end()) {
1867 it->second->convert(a3);
1868 }
1869 }
1870
1871 {
1872 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
1873 if (it != kvmap.end()) {
1874 it->second->convert(a5);
1875 }
1876 }
1877
1878 {
1879 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
1880 if (it != kvmap.end()) {
1881 it->second->convert(a7);
1882 }
1883 }
1884
1885 {
1886 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
1887 if (it != kvmap.end()) {
1888 it->second->convert(a9);
1889 }
1890 }
1891
1892 {
1893 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
1894 if (it != kvmap.end()) {
1895 it->second->convert(a11);
1896 }
1897 }
1898
1899 {
1900 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
1901 if (it != kvmap.end()) {
1902 it->second->convert(a13);
1903 }
1904 }
1905
1906 {
1907 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
1908 if (it != kvmap.end()) {
1909 it->second->convert(a15);
1910 }
1911 }
1912
1913 {
1914 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a16);
1915 if (it != kvmap.end()) {
1916 it->second->convert(a17);
1917 }
1918 }
1919
1920 {
1921 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a18);
1922 if (it != kvmap.end()) {
1923 it->second->convert(a19);
1924 }
1925 }
1926
1927 {
1928 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a20);
1929 if (it != kvmap.end()) {
1930 it->second->convert(a21);
1931 }
1932 }
1933
1934 {
1935 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a22);
1936 if (it != kvmap.end()) {
1937 it->second->convert(a23);
1938 }
1939 }
1940
1941 {
1942 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a24);
1943 if (it != kvmap.end()) {
1944 it->second->convert(a25);
1945 }
1946 }
1947
1948 {
1949 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a26);
1950 if (it != kvmap.end()) {
1951 it->second->convert(a27);
1952 }
1953 }
1954
1955 }
1956 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1957 {
1958 o->type = msgpack::type::MAP;
1959 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*14, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
1960 o->via.map.size = 14;
1961
1962 o->via.map.ptr[0].key = msgpack::object(a0, z);
1963 o->via.map.ptr[0].val = msgpack::object(a1, z);
1964
1965 o->via.map.ptr[1].key = msgpack::object(a2, z);
1966 o->via.map.ptr[1].val = msgpack::object(a3, z);
1967
1968 o->via.map.ptr[2].key = msgpack::object(a4, z);
1969 o->via.map.ptr[2].val = msgpack::object(a5, z);
1970
1971 o->via.map.ptr[3].key = msgpack::object(a6, z);
1972 o->via.map.ptr[3].val = msgpack::object(a7, z);
1973
1974 o->via.map.ptr[4].key = msgpack::object(a8, z);
1975 o->via.map.ptr[4].val = msgpack::object(a9, z);
1976
1977 o->via.map.ptr[5].key = msgpack::object(a10, z);
1978 o->via.map.ptr[5].val = msgpack::object(a11, z);
1979
1980 o->via.map.ptr[6].key = msgpack::object(a12, z);
1981 o->via.map.ptr[6].val = msgpack::object(a13, z);
1982
1983 o->via.map.ptr[7].key = msgpack::object(a14, z);
1984 o->via.map.ptr[7].val = msgpack::object(a15, z);
1985
1986 o->via.map.ptr[8].key = msgpack::object(a16, z);
1987 o->via.map.ptr[8].val = msgpack::object(a17, z);
1988
1989 o->via.map.ptr[9].key = msgpack::object(a18, z);
1990 o->via.map.ptr[9].val = msgpack::object(a19, z);
1991
1992 o->via.map.ptr[10].key = msgpack::object(a20, z);
1993 o->via.map.ptr[10].val = msgpack::object(a21, z);
1994
1995 o->via.map.ptr[11].key = msgpack::object(a22, z);
1996 o->via.map.ptr[11].val = msgpack::object(a23, z);
1997
1998 o->via.map.ptr[12].key = msgpack::object(a24, z);
1999 o->via.map.ptr[12].val = msgpack::object(a25, z);
2000
2001 o->via.map.ptr[13].key = msgpack::object(a26, z);
2002 o->via.map.ptr[13].val = msgpack::object(a27, z);
2003
2004 }
2005
2006 A0& a0;
2007 A1& a1;
2008 A2& a2;
2009 A3& a3;
2010 A4& a4;
2011 A5& a5;
2012 A6& a6;
2013 A7& a7;
2014 A8& a8;
2015 A9& a9;
2016 A10& a10;
2017 A11& a11;
2018 A12& a12;
2019 A13& a13;
2020 A14& a14;
2021 A15& a15;
2022 A16& a16;
2023 A17& a17;
2024 A18& a18;
2025 A19& a19;
2026 A20& a20;
2027 A21& a21;
2028 A22& a22;
2029 A23& a23;
2030 A24& a24;
2031 A25& a25;
2032 A26& a26;
2033 A27& a27;
2034 };
2035
2036 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29>
2037 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29> {
2038 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27, A28& _a28, A29& _a29) :
2039 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29) {}
2040 template <typename Packer>
2041 void msgpack_pack(Packer& pk) const
2042 {
2043 pk.pack_map(15);
2044
2045 pk.pack(a0);
2046 pk.pack(a1);
2047 pk.pack(a2);
2048 pk.pack(a3);
2049 pk.pack(a4);
2050 pk.pack(a5);
2051 pk.pack(a6);
2052 pk.pack(a7);
2053 pk.pack(a8);
2054 pk.pack(a9);
2055 pk.pack(a10);
2056 pk.pack(a11);
2057 pk.pack(a12);
2058 pk.pack(a13);
2059 pk.pack(a14);
2060 pk.pack(a15);
2061 pk.pack(a16);
2062 pk.pack(a17);
2063 pk.pack(a18);
2064 pk.pack(a19);
2065 pk.pack(a20);
2066 pk.pack(a21);
2067 pk.pack(a22);
2068 pk.pack(a23);
2069 pk.pack(a24);
2070 pk.pack(a25);
2071 pk.pack(a26);
2072 pk.pack(a27);
2073 pk.pack(a28);
2074 pk.pack(a29);
2075 }
2076 void msgpack_unpack(msgpack::object const& o) const
2077 {
2078 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
2079 std::map<std::string, msgpack::object const*> kvmap;
2080 for (uint32_t i = 0; i < o.via.map.size; ++i) {
2081 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
2082 kvmap.insert(
2083 std::map<std::string, msgpack::object const*>::value_type(
2084 std::string(
2085 o.via.map.ptr[i].key.via.str.ptr,
2086 o.via.map.ptr[i].key.via.str.size),
2087 &o.via.map.ptr[i].val
2088 )
2089 );
2090 }
2091
2092 {
2093 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
2094 if (it != kvmap.end()) {
2095 it->second->convert(a1);
2096 }
2097 }
2098
2099 {
2100 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
2101 if (it != kvmap.end()) {
2102 it->second->convert(a3);
2103 }
2104 }
2105
2106 {
2107 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
2108 if (it != kvmap.end()) {
2109 it->second->convert(a5);
2110 }
2111 }
2112
2113 {
2114 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
2115 if (it != kvmap.end()) {
2116 it->second->convert(a7);
2117 }
2118 }
2119
2120 {
2121 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
2122 if (it != kvmap.end()) {
2123 it->second->convert(a9);
2124 }
2125 }
2126
2127 {
2128 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
2129 if (it != kvmap.end()) {
2130 it->second->convert(a11);
2131 }
2132 }
2133
2134 {
2135 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
2136 if (it != kvmap.end()) {
2137 it->second->convert(a13);
2138 }
2139 }
2140
2141 {
2142 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
2143 if (it != kvmap.end()) {
2144 it->second->convert(a15);
2145 }
2146 }
2147
2148 {
2149 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a16);
2150 if (it != kvmap.end()) {
2151 it->second->convert(a17);
2152 }
2153 }
2154
2155 {
2156 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a18);
2157 if (it != kvmap.end()) {
2158 it->second->convert(a19);
2159 }
2160 }
2161
2162 {
2163 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a20);
2164 if (it != kvmap.end()) {
2165 it->second->convert(a21);
2166 }
2167 }
2168
2169 {
2170 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a22);
2171 if (it != kvmap.end()) {
2172 it->second->convert(a23);
2173 }
2174 }
2175
2176 {
2177 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a24);
2178 if (it != kvmap.end()) {
2179 it->second->convert(a25);
2180 }
2181 }
2182
2183 {
2184 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a26);
2185 if (it != kvmap.end()) {
2186 it->second->convert(a27);
2187 }
2188 }
2189
2190 {
2191 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a28);
2192 if (it != kvmap.end()) {
2193 it->second->convert(a29);
2194 }
2195 }
2196
2197 }
2198 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2199 {
2200 o->type = msgpack::type::MAP;
2201 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*15, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
2202 o->via.map.size = 15;
2203
2204 o->via.map.ptr[0].key = msgpack::object(a0, z);
2205 o->via.map.ptr[0].val = msgpack::object(a1, z);
2206
2207 o->via.map.ptr[1].key = msgpack::object(a2, z);
2208 o->via.map.ptr[1].val = msgpack::object(a3, z);
2209
2210 o->via.map.ptr[2].key = msgpack::object(a4, z);
2211 o->via.map.ptr[2].val = msgpack::object(a5, z);
2212
2213 o->via.map.ptr[3].key = msgpack::object(a6, z);
2214 o->via.map.ptr[3].val = msgpack::object(a7, z);
2215
2216 o->via.map.ptr[4].key = msgpack::object(a8, z);
2217 o->via.map.ptr[4].val = msgpack::object(a9, z);
2218
2219 o->via.map.ptr[5].key = msgpack::object(a10, z);
2220 o->via.map.ptr[5].val = msgpack::object(a11, z);
2221
2222 o->via.map.ptr[6].key = msgpack::object(a12, z);
2223 o->via.map.ptr[6].val = msgpack::object(a13, z);
2224
2225 o->via.map.ptr[7].key = msgpack::object(a14, z);
2226 o->via.map.ptr[7].val = msgpack::object(a15, z);
2227
2228 o->via.map.ptr[8].key = msgpack::object(a16, z);
2229 o->via.map.ptr[8].val = msgpack::object(a17, z);
2230
2231 o->via.map.ptr[9].key = msgpack::object(a18, z);
2232 o->via.map.ptr[9].val = msgpack::object(a19, z);
2233
2234 o->via.map.ptr[10].key = msgpack::object(a20, z);
2235 o->via.map.ptr[10].val = msgpack::object(a21, z);
2236
2237 o->via.map.ptr[11].key = msgpack::object(a22, z);
2238 o->via.map.ptr[11].val = msgpack::object(a23, z);
2239
2240 o->via.map.ptr[12].key = msgpack::object(a24, z);
2241 o->via.map.ptr[12].val = msgpack::object(a25, z);
2242
2243 o->via.map.ptr[13].key = msgpack::object(a26, z);
2244 o->via.map.ptr[13].val = msgpack::object(a27, z);
2245
2246 o->via.map.ptr[14].key = msgpack::object(a28, z);
2247 o->via.map.ptr[14].val = msgpack::object(a29, z);
2248
2249 }
2250
2251 A0& a0;
2252 A1& a1;
2253 A2& a2;
2254 A3& a3;
2255 A4& a4;
2256 A5& a5;
2257 A6& a6;
2258 A7& a7;
2259 A8& a8;
2260 A9& a9;
2261 A10& a10;
2262 A11& a11;
2263 A12& a12;
2264 A13& a13;
2265 A14& a14;
2266 A15& a15;
2267 A16& a16;
2268 A17& a17;
2269 A18& a18;
2270 A19& a19;
2271 A20& a20;
2272 A21& a21;
2273 A22& a22;
2274 A23& a23;
2275 A24& a24;
2276 A25& a25;
2277 A26& a26;
2278 A27& a27;
2279 A28& a28;
2280 A29& a29;
2281 };
2282
2283 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31>
2284 struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31> {
2285 define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27, A28& _a28, A29& _a29, A30& _a30, A31& _a31) :
2286 a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29), a30(_a30), a31(_a31) {}
2287 template <typename Packer>
2288 void msgpack_pack(Packer& pk) const
2289 {
2290 pk.pack_map(16);
2291
2292 pk.pack(a0);
2293 pk.pack(a1);
2294 pk.pack(a2);
2295 pk.pack(a3);
2296 pk.pack(a4);
2297 pk.pack(a5);
2298 pk.pack(a6);
2299 pk.pack(a7);
2300 pk.pack(a8);
2301 pk.pack(a9);
2302 pk.pack(a10);
2303 pk.pack(a11);
2304 pk.pack(a12);
2305 pk.pack(a13);
2306 pk.pack(a14);
2307 pk.pack(a15);
2308 pk.pack(a16);
2309 pk.pack(a17);
2310 pk.pack(a18);
2311 pk.pack(a19);
2312 pk.pack(a20);
2313 pk.pack(a21);
2314 pk.pack(a22);
2315 pk.pack(a23);
2316 pk.pack(a24);
2317 pk.pack(a25);
2318 pk.pack(a26);
2319 pk.pack(a27);
2320 pk.pack(a28);
2321 pk.pack(a29);
2322 pk.pack(a30);
2323 pk.pack(a31);
2324 }
2325 void msgpack_unpack(msgpack::object const& o) const
2326 {
2327 if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
2328 std::map<std::string, msgpack::object const*> kvmap;
2329 for (uint32_t i = 0; i < o.via.map.size; ++i) {
2330 if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); }
2331 kvmap.insert(
2332 std::map<std::string, msgpack::object const*>::value_type(
2333 std::string(
2334 o.via.map.ptr[i].key.via.str.ptr,
2335 o.via.map.ptr[i].key.via.str.size),
2336 &o.via.map.ptr[i].val
2337 )
2338 );
2339 }
2340
2341 {
2342 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a0);
2343 if (it != kvmap.end()) {
2344 it->second->convert(a1);
2345 }
2346 }
2347
2348 {
2349 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a2);
2350 if (it != kvmap.end()) {
2351 it->second->convert(a3);
2352 }
2353 }
2354
2355 {
2356 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a4);
2357 if (it != kvmap.end()) {
2358 it->second->convert(a5);
2359 }
2360 }
2361
2362 {
2363 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a6);
2364 if (it != kvmap.end()) {
2365 it->second->convert(a7);
2366 }
2367 }
2368
2369 {
2370 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a8);
2371 if (it != kvmap.end()) {
2372 it->second->convert(a9);
2373 }
2374 }
2375
2376 {
2377 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a10);
2378 if (it != kvmap.end()) {
2379 it->second->convert(a11);
2380 }
2381 }
2382
2383 {
2384 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a12);
2385 if (it != kvmap.end()) {
2386 it->second->convert(a13);
2387 }
2388 }
2389
2390 {
2391 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a14);
2392 if (it != kvmap.end()) {
2393 it->second->convert(a15);
2394 }
2395 }
2396
2397 {
2398 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a16);
2399 if (it != kvmap.end()) {
2400 it->second->convert(a17);
2401 }
2402 }
2403
2404 {
2405 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a18);
2406 if (it != kvmap.end()) {
2407 it->second->convert(a19);
2408 }
2409 }
2410
2411 {
2412 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a20);
2413 if (it != kvmap.end()) {
2414 it->second->convert(a21);
2415 }
2416 }
2417
2418 {
2419 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a22);
2420 if (it != kvmap.end()) {
2421 it->second->convert(a23);
2422 }
2423 }
2424
2425 {
2426 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a24);
2427 if (it != kvmap.end()) {
2428 it->second->convert(a25);
2429 }
2430 }
2431
2432 {
2433 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a26);
2434 if (it != kvmap.end()) {
2435 it->second->convert(a27);
2436 }
2437 }
2438
2439 {
2440 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a28);
2441 if (it != kvmap.end()) {
2442 it->second->convert(a29);
2443 }
2444 }
2445
2446 {
2447 std::map<std::string, msgpack::object const*>::const_iterator it = kvmap.find(a30);
2448 if (it != kvmap.end()) {
2449 it->second->convert(a31);
2450 }
2451 }
2452
2453 }
2454 void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2455 {
2456 o->type = msgpack::type::MAP;
2457 o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*16, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
2458 o->via.map.size = 16;
2459
2460 o->via.map.ptr[0].key = msgpack::object(a0, z);
2461 o->via.map.ptr[0].val = msgpack::object(a1, z);
2462
2463 o->via.map.ptr[1].key = msgpack::object(a2, z);
2464 o->via.map.ptr[1].val = msgpack::object(a3, z);
2465
2466 o->via.map.ptr[2].key = msgpack::object(a4, z);
2467 o->via.map.ptr[2].val = msgpack::object(a5, z);
2468
2469 o->via.map.ptr[3].key = msgpack::object(a6, z);
2470 o->via.map.ptr[3].val = msgpack::object(a7, z);
2471
2472 o->via.map.ptr[4].key = msgpack::object(a8, z);
2473 o->via.map.ptr[4].val = msgpack::object(a9, z);
2474
2475 o->via.map.ptr[5].key = msgpack::object(a10, z);
2476 o->via.map.ptr[5].val = msgpack::object(a11, z);
2477
2478 o->via.map.ptr[6].key = msgpack::object(a12, z);
2479 o->via.map.ptr[6].val = msgpack::object(a13, z);
2480
2481 o->via.map.ptr[7].key = msgpack::object(a14, z);
2482 o->via.map.ptr[7].val = msgpack::object(a15, z);
2483
2484 o->via.map.ptr[8].key = msgpack::object(a16, z);
2485 o->via.map.ptr[8].val = msgpack::object(a17, z);
2486
2487 o->via.map.ptr[9].key = msgpack::object(a18, z);
2488 o->via.map.ptr[9].val = msgpack::object(a19, z);
2489
2490 o->via.map.ptr[10].key = msgpack::object(a20, z);
2491 o->via.map.ptr[10].val = msgpack::object(a21, z);
2492
2493 o->via.map.ptr[11].key = msgpack::object(a22, z);
2494 o->via.map.ptr[11].val = msgpack::object(a23, z);
2495
2496 o->via.map.ptr[12].key = msgpack::object(a24, z);
2497 o->via.map.ptr[12].val = msgpack::object(a25, z);
2498
2499 o->via.map.ptr[13].key = msgpack::object(a26, z);
2500 o->via.map.ptr[13].val = msgpack::object(a27, z);
2501
2502 o->via.map.ptr[14].key = msgpack::object(a28, z);
2503 o->via.map.ptr[14].val = msgpack::object(a29, z);
2504
2505 o->via.map.ptr[15].key = msgpack::object(a30, z);
2506 o->via.map.ptr[15].val = msgpack::object(a31, z);
2507
2508 }
2509
2510 A0& a0;
2511 A1& a1;
2512 A2& a2;
2513 A3& a3;
2514 A4& a4;
2515 A5& a5;
2516 A6& a6;
2517 A7& a7;
2518 A8& a8;
2519 A9& a9;
2520 A10& a10;
2521 A11& a11;
2522 A12& a12;
2523 A13& a13;
2524 A14& a14;
2525 A15& a15;
2526 A16& a16;
2527 A17& a17;
2528 A18& a18;
2529 A19& a19;
2530 A20& a20;
2531 A21& a21;
2532 A22& a22;
2533 A23& a23;
2534 A24& a24;
2535 A25& a25;
2536 A26& a26;
2537 A27& a27;
2538 A28& a28;
2539 A29& a29;
2540 A30& a30;
2541 A31& a31;
2542 };
2543
2544 /// @endcond
2545
2546 inline define_map<> make_define_map()
2547 {
2548 return define_map<>();
2549 }
2550
2551 /// @cond
2552
2553 template <typename A0>
2554 inline define_map<A0> make_define_map(A0& a0)
2555 {
2556 return define_map<A0>(a0);
2557 }
2558
2559 template <typename A0, typename A1>
2560 inline define_map<A0, A1> make_define_map(A0& a0, A1& a1)
2561 {
2562 return define_map<A0, A1>(a0, a1);
2563 }
2564
2565 template <typename A0, typename A1, typename A2>
2566 inline define_map<A0, A1, A2> make_define_map(A0& a0, A1& a1, A2& a2)
2567 {
2568 return define_map<A0, A1, A2>(a0, a1, a2);
2569 }
2570
2571 template <typename A0, typename A1, typename A2, typename A3>
2572 inline define_map<A0, A1, A2, A3> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3)
2573 {
2574 return define_map<A0, A1, A2, A3>(a0, a1, a2, a3);
2575 }
2576
2577 template <typename A0, typename A1, typename A2, typename A3, typename A4>
2578 inline define_map<A0, A1, A2, A3, A4> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4)
2579 {
2580 return define_map<A0, A1, A2, A3, A4>(a0, a1, a2, a3, a4);
2581 }
2582
2583 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
2584 inline define_map<A0, A1, A2, A3, A4, A5> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5)
2585 {
2586 return define_map<A0, A1, A2, A3, A4, A5>(a0, a1, a2, a3, a4, a5);
2587 }
2588
2589 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
2590 inline define_map<A0, A1, A2, A3, A4, A5, A6> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6)
2591 {
2592 return define_map<A0, A1, A2, A3, A4, A5, A6>(a0, a1, a2, a3, a4, a5, a6);
2593 }
2594
2595 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
2596 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7)
2597 {
2598 return define_map<A0, A1, A2, A3, A4, A5, A6, A7>(a0, a1, a2, a3, a4, a5, a6, a7);
2599 }
2600
2601 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
2602 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8)
2603 {
2604 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8>(a0, a1, a2, a3, a4, a5, a6, a7, a8);
2605 }
2606
2607 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
2608 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9)
2609 {
2610 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
2611 }
2612
2613 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
2614 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10)
2615 {
2616 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
2617 }
2618
2619 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
2620 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11)
2621 {
2622 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
2623 }
2624
2625 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
2626 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12)
2627 {
2628 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
2629 }
2630
2631 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
2632 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13)
2633 {
2634 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
2635 }
2636
2637 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14>
2638 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14)
2639 {
2640 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
2641 }
2642
2643 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
2644 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15)
2645 {
2646 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
2647 }
2648
2649 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16>
2650 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16)
2651 {
2652 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
2653 }
2654
2655 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17>
2656 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17)
2657 {
2658 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
2659 }
2660
2661 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18>
2662 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18)
2663 {
2664 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
2665 }
2666
2667 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19>
2668 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19)
2669 {
2670 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
2671 }
2672
2673 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20>
2674 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20)
2675 {
2676 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
2677 }
2678
2679 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21>
2680 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21)
2681 {
2682 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
2683 }
2684
2685 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22>
2686 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22)
2687 {
2688 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
2689 }
2690
2691 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23>
2692 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23)
2693 {
2694 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
2695 }
2696
2697 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24>
2698 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24)
2699 {
2700 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24);
2701 }
2702
2703 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25>
2704 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25)
2705 {
2706 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25);
2707 }
2708
2709 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26>
2710 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26)
2711 {
2712 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26);
2713 }
2714
2715 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27>
2716 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27)
2717 {
2718 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27);
2719 }
2720
2721 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28>
2722 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28)
2723 {
2724 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28);
2725 }
2726
2727 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29>
2728 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29)
2729 {
2730 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29);
2731 }
2732
2733 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30>
2734 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30)
2735 {
2736 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30);
2737 }
2738
2739 template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15, typename A16, typename A17, typename A18, typename A19, typename A20, typename A21, typename A22, typename A23, typename A24, typename A25, typename A26, typename A27, typename A28, typename A29, typename A30, typename A31>
2740 inline define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31> make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30, A31& a31)
2741 {
2742 return define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31);
2743 }
2744
2745 /// @endcond
2746
2747 } // namespace type
2748 /// @cond
2749 } // MSGPACK_API_VERSION_NAMESPACE(v1)
2750 /// @endcond
2751 } // namespace msgpack
2752
2753 #endif // MSGPACK_V1_CPP03_DEFINE_MAP_HPP
2754