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