rroonga 5.0.1-x64-mingw32 → 5.0.2-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (731) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +1 -1
  3. data/ext/groonga/rb-grn-logger.c +159 -3
  4. data/ext/groonga/rb-grn-plugin.c +17 -1
  5. data/ext/groonga/rb-grn-query-logger.c +129 -3
  6. data/ext/groonga/rb-grn.h +1 -1
  7. data/lib/1.9/groonga.so +0 -0
  8. data/lib/2.0/groonga.so +0 -0
  9. data/lib/2.1/groonga.so +0 -0
  10. data/lib/2.2/groonga.so +0 -0
  11. data/lib/groonga/query-logger.rb +48 -3
  12. data/lib/groonga/schema.rb +16 -3
  13. data/rroonga-build.rb +3 -3
  14. data/test/test-logger.rb +97 -2
  15. data/test/test-plugin.rb +5 -1
  16. data/test/test-query-logger.rb +149 -0
  17. data/test/test-schema.rb +19 -0
  18. data/vendor/local/bin/grndb.exe +0 -0
  19. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  20. data/vendor/local/bin/groonga.exe +0 -0
  21. data/vendor/local/bin/libgroonga-0.dll +0 -0
  22. data/vendor/local/bin/libmecab-1.dll +0 -0
  23. data/vendor/local/bin/libmsgpack-4.dll +0 -0
  24. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  25. data/vendor/local/bin/libonig-5.dll +0 -0
  26. data/vendor/local/bin/lz4.exe +0 -0
  27. data/vendor/local/bin/lz4c.exe +0 -0
  28. data/vendor/local/bin/lz4cat +0 -0
  29. data/vendor/local/bin/mecab-config +2 -2
  30. data/vendor/local/bin/mecab.exe +0 -0
  31. data/vendor/local/bin/onig-config +1 -1
  32. data/vendor/local/bin/zlib1.dll +0 -0
  33. data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +2 -2
  34. data/vendor/local/include/groonga/groonga.h +1 -0
  35. data/vendor/local/include/groonga/groonga/groonga.h +12 -6
  36. data/vendor/local/include/groonga/groonga/portability.h +158 -0
  37. data/vendor/local/include/msgpack.h +1 -0
  38. data/vendor/local/include/msgpack.hpp +2 -1
  39. data/vendor/local/include/msgpack/adaptor/bool.hpp +58 -0
  40. data/vendor/local/include/msgpack/{type/bool.hpp → adaptor/bool_fwd.hpp} +11 -27
  41. data/vendor/local/include/msgpack/adaptor/char_ptr.hpp +78 -0
  42. data/vendor/local/include/msgpack/adaptor/char_ptr_fwd.hpp +43 -0
  43. data/vendor/local/include/msgpack/adaptor/check_container_size.hpp +61 -0
  44. data/vendor/local/include/msgpack/adaptor/cpp11/array.hpp +76 -0
  45. data/vendor/local/include/msgpack/adaptor/cpp11/array_char.hpp +84 -0
  46. data/vendor/local/include/msgpack/adaptor/cpp11/array_char_fwd.hpp +45 -0
  47. data/vendor/local/include/msgpack/adaptor/cpp11/array_fwd.hpp +44 -0
  48. data/vendor/local/include/msgpack/adaptor/cpp11/forward_list.hpp +75 -0
  49. data/vendor/local/include/msgpack/adaptor/cpp11/forward_list_fwd.hpp +44 -0
  50. data/vendor/local/include/msgpack/adaptor/cpp11/tuple.hpp +152 -0
  51. data/vendor/local/include/msgpack/adaptor/cpp11/tuple_fwd.hpp +62 -0
  52. data/vendor/local/include/msgpack/adaptor/cpp11/unordered_map.hpp +142 -0
  53. data/vendor/local/include/msgpack/adaptor/cpp11/unordered_map_fwd.hpp +53 -0
  54. data/vendor/local/include/msgpack/adaptor/cpp11/unordered_set.hpp +134 -0
  55. data/vendor/local/include/msgpack/adaptor/cpp11/unordered_set_fwd.hpp +52 -0
  56. data/vendor/local/include/msgpack/adaptor/define.hpp +29 -0
  57. data/vendor/local/include/msgpack/adaptor/deque.hpp +83 -0
  58. data/vendor/local/include/msgpack/adaptor/deque_fwd.hpp +40 -0
  59. data/vendor/local/include/msgpack/adaptor/detail/cpp03_define.hpp +3475 -0
  60. data/vendor/local/include/msgpack/adaptor/detail/cpp03_msgpack_tuple.hpp +13918 -0
  61. data/vendor/local/include/msgpack/adaptor/detail/cpp03_msgpack_tuple_fwd.hpp +4341 -0
  62. data/vendor/local/include/msgpack/adaptor/detail/cpp11_define.hpp +184 -0
  63. data/vendor/local/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp +212 -0
  64. data/vendor/local/include/msgpack/adaptor/detail/cpp11_msgpack_tuple_fwd.hpp +84 -0
  65. data/vendor/local/include/msgpack/adaptor/fixint.hpp +212 -0
  66. data/vendor/local/include/msgpack/adaptor/fixint_fwd.hpp +100 -0
  67. data/vendor/local/include/msgpack/adaptor/float.hpp +105 -0
  68. data/vendor/local/include/msgpack/adaptor/float_fwd.hpp +44 -0
  69. data/vendor/local/include/msgpack/adaptor/int.hpp +308 -0
  70. data/vendor/local/include/msgpack/adaptor/int_fwd.hpp +100 -0
  71. data/vendor/local/include/msgpack/adaptor/list.hpp +83 -0
  72. data/vendor/local/include/msgpack/adaptor/list_fwd.hpp +40 -0
  73. data/vendor/local/include/msgpack/adaptor/map.hpp +219 -0
  74. data/vendor/local/include/msgpack/adaptor/map_fwd.hpp +69 -0
  75. data/vendor/local/include/msgpack/adaptor/msgpack_tuple.hpp +29 -0
  76. data/vendor/local/include/msgpack/adaptor/msgpack_tuple_fwd.hpp +29 -0
  77. data/vendor/local/include/msgpack/adaptor/nil.hpp +68 -0
  78. data/vendor/local/include/msgpack/adaptor/nil_fwd.hpp +51 -0
  79. data/vendor/local/include/msgpack/adaptor/pair.hpp +63 -0
  80. data/vendor/local/include/msgpack/{type/pair.hpp → adaptor/pair_fwd.hpp} +10 -29
  81. data/vendor/local/include/msgpack/adaptor/raw.hpp +98 -0
  82. data/vendor/local/include/msgpack/{type/nil.hpp → adaptor/raw_fwd.hpp} +15 -30
  83. data/vendor/local/include/msgpack/adaptor/set.hpp +134 -0
  84. data/vendor/local/include/msgpack/adaptor/set_fwd.hpp +52 -0
  85. data/vendor/local/include/msgpack/adaptor/string.hpp +78 -0
  86. data/vendor/local/include/msgpack/adaptor/string_fwd.hpp +42 -0
  87. data/vendor/local/include/msgpack/adaptor/tr1/unordered_map.hpp +164 -0
  88. data/vendor/local/include/msgpack/adaptor/tr1/unordered_map_fwd.hpp +75 -0
  89. data/vendor/local/include/msgpack/adaptor/tr1/unordered_set.hpp +157 -0
  90. data/vendor/local/include/msgpack/adaptor/tr1/unordered_set_fwd.hpp +75 -0
  91. data/vendor/local/include/msgpack/adaptor/vector.hpp +87 -0
  92. data/vendor/local/include/msgpack/adaptor/vector_bool.hpp +80 -0
  93. data/vendor/local/include/msgpack/adaptor/vector_bool_fwd.hpp +40 -0
  94. data/vendor/local/include/msgpack/adaptor/vector_char.hpp +81 -0
  95. data/vendor/local/include/msgpack/adaptor/vector_char_fwd.hpp +42 -0
  96. data/vendor/local/include/msgpack/adaptor/vector_fwd.hpp +42 -0
  97. data/vendor/local/include/msgpack/cpp_config.hpp +109 -0
  98. data/vendor/local/include/msgpack/detail/cpp03_zone.hpp +662 -0
  99. data/vendor/local/include/msgpack/detail/cpp11_zone.hpp +368 -0
  100. data/vendor/local/include/msgpack/fbuffer.h +3 -4
  101. data/vendor/local/include/msgpack/fbuffer.hpp +24 -16
  102. data/vendor/local/include/msgpack/gcc_atomic.h +33 -0
  103. data/vendor/local/include/msgpack/iterator.hpp +42 -0
  104. data/vendor/local/include/msgpack/object.h +51 -30
  105. data/vendor/local/include/msgpack/object.hpp +564 -273
  106. data/vendor/local/include/msgpack/object_fwd.hpp +182 -0
  107. data/vendor/local/include/msgpack/pack.h +23 -17
  108. data/vendor/local/include/msgpack/pack.hpp +889 -164
  109. data/vendor/local/include/msgpack/pack_define.h +2 -2
  110. data/vendor/local/include/msgpack/pack_template.h +452 -356
  111. data/vendor/local/include/msgpack/sbuffer.h +43 -37
  112. data/vendor/local/include/msgpack/sbuffer.hpp +98 -76
  113. data/vendor/local/include/msgpack/sysdep.h +48 -53
  114. data/vendor/local/include/msgpack/type.hpp +35 -17
  115. data/vendor/local/include/msgpack/unpack.h +62 -44
  116. data/vendor/local/include/msgpack/unpack.hpp +1578 -217
  117. data/vendor/local/include/msgpack/unpack_define.h +49 -47
  118. data/vendor/local/include/msgpack/unpack_template.h +344 -284
  119. data/vendor/local/include/msgpack/util.h +23 -0
  120. data/vendor/local/include/msgpack/version.h +12 -6
  121. data/vendor/local/include/msgpack/version.hpp +44 -0
  122. data/vendor/local/include/msgpack/version_master.h +3 -0
  123. data/vendor/local/include/msgpack/versioning.hpp +77 -0
  124. data/vendor/local/include/msgpack/vrefbuffer.h +40 -34
  125. data/vendor/local/include/msgpack/vrefbuffer.hpp +261 -64
  126. data/vendor/local/include/msgpack/zbuffer.h +79 -79
  127. data/vendor/local/include/msgpack/zbuffer.hpp +136 -67
  128. data/vendor/local/include/msgpack/zone.h +65 -42
  129. data/vendor/local/include/msgpack/zone.hpp +10 -445
  130. data/vendor/local/include/msgpack_fwd.hpp +28 -0
  131. data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
  132. data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
  133. data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
  134. data/vendor/local/lib/groonga/plugins/functions/vector.la +41 -0
  135. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  136. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  137. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  138. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +2 -2
  139. data/vendor/local/lib/groonga/plugins/ruby/eval.a +0 -0
  140. data/vendor/local/lib/groonga/plugins/ruby/eval.dll +0 -0
  141. data/vendor/local/lib/groonga/plugins/ruby/eval.dll.a +0 -0
  142. data/vendor/local/lib/groonga/plugins/ruby/eval.la +2 -2
  143. data/vendor/local/lib/groonga/plugins/ruby/load.a +0 -0
  144. data/vendor/local/lib/groonga/plugins/ruby/load.dll +0 -0
  145. data/vendor/local/lib/groonga/plugins/ruby/load.dll.a +0 -0
  146. data/vendor/local/lib/groonga/plugins/ruby/load.la +2 -2
  147. data/vendor/local/lib/groonga/plugins/sharding.rb +1 -0
  148. data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +17 -45
  149. data/vendor/local/lib/groonga/plugins/sharding/logical_enumerator.rb +15 -6
  150. data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +63 -75
  151. data/vendor/local/lib/groonga/plugins/sharding/range_expression_builder.rb +65 -0
  152. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  153. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  154. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  155. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  156. data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
  157. data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
  158. data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
  159. data/vendor/local/lib/groonga/plugins/table/table.la +2 -2
  160. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
  161. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
  162. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
  163. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +2 -2
  164. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  165. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  166. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  167. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  168. data/vendor/local/lib/groonga/scripts/ruby/expression_size_estimator.rb +38 -41
  169. data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +3 -0
  170. data/vendor/local/lib/libgroonga.a +0 -0
  171. data/vendor/local/lib/libgroonga.dll.a +0 -0
  172. data/vendor/local/lib/libgroonga.la +2 -2
  173. data/vendor/local/lib/liblz4.a +0 -0
  174. data/vendor/local/lib/liblz4.dll +0 -0
  175. data/vendor/local/lib/liblz4.dll.1 +0 -0
  176. data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
  177. data/vendor/local/lib/libmecab.a +0 -0
  178. data/vendor/local/lib/libmecab.dll.a +0 -0
  179. data/vendor/local/lib/libmecab.la +2 -2
  180. data/vendor/local/lib/libmsgpack.a +0 -0
  181. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  182. data/vendor/local/lib/libmsgpack.la +4 -4
  183. data/vendor/local/lib/libmsgpackc.a +0 -0
  184. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  185. data/vendor/local/lib/libmsgpackc.la +2 -2
  186. data/vendor/local/lib/libonig.a +0 -0
  187. data/vendor/local/lib/libonig.dll.a +0 -0
  188. data/vendor/local/lib/libonig.la +2 -2
  189. data/vendor/local/lib/libz.a +0 -0
  190. data/vendor/local/lib/libz.dll.a +0 -0
  191. data/vendor/local/lib/pkgconfig/groonga.pc +3 -3
  192. data/vendor/local/lib/pkgconfig/liblz4.pc +5 -5
  193. data/vendor/local/lib/pkgconfig/msgpack.pc +2 -2
  194. data/vendor/local/lib/pkgconfig/oniguruma.pc +6 -6
  195. data/vendor/local/lib/pkgconfig/zlib.pc +3 -3
  196. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  197. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  198. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  199. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  200. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  201. data/vendor/local/sbin/groonga-httpd-restart +1 -1
  202. data/vendor/local/sbin/groonga-httpd.exe +0 -0
  203. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  204. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/release.txt +69 -52
  205. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +6 -6
  206. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +56 -5
  207. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +4 -4
  208. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
  209. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +7 -7
  210. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  211. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +6 -5
  212. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +14 -14
  213. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +93 -3
  214. data/vendor/local/share/doc/groonga/en/html/_sources/news/0.x.txt +2 -2
  215. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.0.x.txt +9 -9
  216. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.1.x.txt +1 -1
  217. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.2.x.txt +10 -10
  218. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.3.x.txt +1 -1
  219. data/vendor/local/share/doc/groonga/en/html/_sources/news/2.x.txt +13 -13
  220. data/vendor/local/share/doc/groonga/en/html/_sources/news/3.x.txt +13 -13
  221. data/vendor/local/share/doc/groonga/en/html/_sources/news/4.x.txt +9 -9
  222. data/vendor/local/share/doc/groonga/en/html/_sources/news/senna.txt +13 -13
  223. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/dump.txt +135 -27
  224. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/request_cancel.txt +1 -1
  225. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga.txt +148 -7
  226. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/vector_size.txt +76 -0
  227. data/vendor/local/share/doc/groonga/en/html/_sources/reference/scorer.txt +2 -1
  228. data/vendor/local/share/doc/groonga/en/html/_sources/server/gqtp.txt +38 -6
  229. data/vendor/local/share/doc/groonga/en/html/_sources/spec/gqtp.txt +2 -1
  230. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/index.txt +6 -4
  231. data/vendor/local/share/doc/groonga/en/html/characteristic.html +6 -6
  232. data/vendor/local/share/doc/groonga/en/html/client.html +6 -6
  233. data/vendor/local/share/doc/groonga/en/html/community.html +6 -6
  234. data/vendor/local/share/doc/groonga/en/html/contribution.html +14 -13
  235. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +6 -6
  236. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +6 -6
  237. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +6 -6
  238. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +6 -6
  239. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +58 -42
  240. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +6 -6
  241. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +6 -6
  242. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +6 -6
  243. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +6 -6
  244. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +6 -6
  245. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +6 -6
  246. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +6 -6
  247. data/vendor/local/share/doc/groonga/en/html/development.html +6 -6
  248. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +6 -6
  249. data/vendor/local/share/doc/groonga/en/html/genindex.html +6 -6
  250. data/vendor/local/share/doc/groonga/en/html/index.html +15 -9
  251. data/vendor/local/share/doc/groonga/en/html/install.html +8 -7
  252. data/vendor/local/share/doc/groonga/en/html/install/centos.html +12 -12
  253. data/vendor/local/share/doc/groonga/en/html/install/debian.html +70 -13
  254. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +10 -10
  255. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +9 -9
  256. data/vendor/local/share/doc/groonga/en/html/install/others.html +17 -17
  257. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +9 -9
  258. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +12 -11
  259. data/vendor/local/share/doc/groonga/en/html/install/windows.html +21 -21
  260. data/vendor/local/share/doc/groonga/en/html/limitations.html +6 -6
  261. data/vendor/local/share/doc/groonga/en/html/news.html +200 -103
  262. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +10 -10
  263. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +24 -24
  264. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +8 -8
  265. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +26 -26
  266. data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +8 -8
  267. data/vendor/local/share/doc/groonga/en/html/news/2.x.html +32 -32
  268. data/vendor/local/share/doc/groonga/en/html/news/3.x.html +32 -32
  269. data/vendor/local/share/doc/groonga/en/html/news/4.x.html +27 -27
  270. data/vendor/local/share/doc/groonga/en/html/news/senna.html +32 -32
  271. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  272. data/vendor/local/share/doc/groonga/en/html/reference.html +8 -7
  273. data/vendor/local/share/doc/groonga/en/html/reference/api.html +6 -6
  274. data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +6 -6
  275. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +6 -6
  276. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +6 -6
  277. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +6 -6
  278. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +6 -6
  279. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +6 -6
  280. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +6 -6
  281. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +6 -6
  282. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +6 -6
  283. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +6 -6
  284. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +6 -6
  285. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +6 -6
  286. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +6 -6
  287. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +6 -6
  288. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +6 -6
  289. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +6 -6
  290. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +6 -6
  291. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +6 -6
  292. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +6 -6
  293. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +6 -6
  294. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +6 -6
  295. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +6 -6
  296. data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +6 -6
  297. data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +6 -6
  298. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +6 -6
  299. data/vendor/local/share/doc/groonga/en/html/reference/column.html +6 -6
  300. data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +6 -6
  301. data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +6 -6
  302. data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +6 -6
  303. data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +6 -6
  304. data/vendor/local/share/doc/groonga/en/html/reference/command.html +6 -6
  305. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +6 -6
  306. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +6 -6
  307. data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +6 -6
  308. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +6 -6
  309. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +6 -6
  310. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +6 -6
  311. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +6 -6
  312. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +6 -6
  313. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +6 -6
  314. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +6 -6
  315. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +6 -6
  316. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +6 -6
  317. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +6 -6
  318. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +6 -6
  319. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +141 -34
  320. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +6 -6
  321. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +6 -6
  322. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +6 -6
  323. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +6 -6
  324. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +6 -6
  325. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +6 -6
  326. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +6 -6
  327. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +6 -6
  328. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +6 -6
  329. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +6 -6
  330. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +6 -6
  331. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +6 -6
  332. data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +6 -6
  333. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +6 -6
  334. data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +8 -8
  335. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +6 -6
  336. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +6 -6
  337. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +6 -6
  338. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +6 -6
  339. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +6 -6
  340. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +6 -6
  341. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +6 -6
  342. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +6 -6
  343. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +6 -6
  344. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +6 -6
  345. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +6 -6
  346. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +6 -6
  347. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +6 -6
  348. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +7 -7
  349. data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +6 -6
  350. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +10 -10
  351. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +10 -10
  352. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +6 -6
  353. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +6 -6
  354. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +6 -6
  355. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +6 -6
  356. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +6 -6
  357. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +146 -14
  358. data/vendor/local/share/doc/groonga/en/html/reference/function.html +7 -6
  359. data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +6 -6
  360. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +6 -6
  361. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +6 -6
  362. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +6 -6
  363. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +6 -6
  364. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +6 -6
  365. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +6 -6
  366. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +6 -6
  367. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +6 -6
  368. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +6 -6
  369. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +6 -6
  370. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +6 -6
  371. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +6 -6
  372. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +11 -11
  373. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +248 -0
  374. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +6 -6
  375. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +6 -6
  376. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +7 -7
  377. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +6 -6
  378. data/vendor/local/share/doc/groonga/en/html/reference/log.html +7 -7
  379. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +6 -6
  380. data/vendor/local/share/doc/groonga/en/html/reference/operations.html +11 -11
  381. data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +6 -6
  382. data/vendor/local/share/doc/groonga/en/html/reference/output.html +6 -6
  383. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +6 -6
  384. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +6 -6
  385. data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +6 -6
  386. data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +8 -7
  387. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +6 -6
  388. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +6 -6
  389. data/vendor/local/share/doc/groonga/en/html/reference/scoring_note.html +6 -6
  390. data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +6 -6
  391. data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +6 -6
  392. data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +6 -6
  393. data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +6 -6
  394. data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +6 -6
  395. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +6 -6
  396. data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +6 -6
  397. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +6 -6
  398. data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +6 -6
  399. data/vendor/local/share/doc/groonga/en/html/reference/types.html +6 -6
  400. data/vendor/local/share/doc/groonga/en/html/search.html +6 -6
  401. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  402. data/vendor/local/share/doc/groonga/en/html/server.html +11 -7
  403. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +53 -8
  404. data/vendor/local/share/doc/groonga/en/html/server/http.html +6 -6
  405. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +6 -6
  406. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +6 -6
  407. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +6 -6
  408. data/vendor/local/share/doc/groonga/en/html/server/memcached.html +6 -6
  409. data/vendor/local/share/doc/groonga/en/html/server/package.html +6 -6
  410. data/vendor/local/share/doc/groonga/en/html/spec.html +6 -6
  411. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +10 -7
  412. data/vendor/local/share/doc/groonga/en/html/spec/search.html +6 -6
  413. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +6 -6
  414. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +6 -6
  415. data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +6 -6
  416. data/vendor/local/share/doc/groonga/en/html/tutorial.html +6 -6
  417. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +6 -6
  418. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +6 -6
  419. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +15 -11
  420. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +7 -7
  421. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +6 -6
  422. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +6 -6
  423. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +6 -6
  424. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +6 -6
  425. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +6 -6
  426. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +6 -6
  427. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +6 -6
  428. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  429. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/release.txt +69 -52
  430. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +6 -6
  431. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +56 -5
  432. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +4 -4
  433. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
  434. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +7 -7
  435. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  436. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +6 -5
  437. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +14 -14
  438. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +93 -3
  439. data/vendor/local/share/doc/groonga/ja/html/_sources/news/0.x.txt +2 -2
  440. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.0.x.txt +9 -9
  441. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.1.x.txt +1 -1
  442. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.2.x.txt +10 -10
  443. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.3.x.txt +1 -1
  444. data/vendor/local/share/doc/groonga/ja/html/_sources/news/2.x.txt +13 -13
  445. data/vendor/local/share/doc/groonga/ja/html/_sources/news/3.x.txt +13 -13
  446. data/vendor/local/share/doc/groonga/ja/html/_sources/news/4.x.txt +9 -9
  447. data/vendor/local/share/doc/groonga/ja/html/_sources/news/senna.txt +13 -13
  448. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/dump.txt +135 -27
  449. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/request_cancel.txt +1 -1
  450. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga.txt +148 -7
  451. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/vector_size.txt +76 -0
  452. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scorer.txt +2 -1
  453. data/vendor/local/share/doc/groonga/ja/html/_sources/server/gqtp.txt +38 -6
  454. data/vendor/local/share/doc/groonga/ja/html/_sources/spec/gqtp.txt +2 -1
  455. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/index.txt +6 -4
  456. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +6 -6
  457. data/vendor/local/share/doc/groonga/ja/html/client.html +6 -6
  458. data/vendor/local/share/doc/groonga/ja/html/community.html +6 -6
  459. data/vendor/local/share/doc/groonga/ja/html/contribution.html +14 -13
  460. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +6 -6
  461. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +6 -6
  462. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +6 -6
  463. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +6 -6
  464. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +58 -42
  465. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +6 -6
  466. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +6 -6
  467. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +6 -6
  468. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +6 -6
  469. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +6 -6
  470. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +6 -6
  471. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +6 -6
  472. data/vendor/local/share/doc/groonga/ja/html/development.html +6 -6
  473. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +6 -6
  474. data/vendor/local/share/doc/groonga/ja/html/genindex.html +6 -6
  475. data/vendor/local/share/doc/groonga/ja/html/index.html +15 -9
  476. data/vendor/local/share/doc/groonga/ja/html/install.html +8 -7
  477. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +9 -9
  478. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +63 -11
  479. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +9 -9
  480. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +9 -9
  481. data/vendor/local/share/doc/groonga/ja/html/install/others.html +21 -18
  482. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +9 -9
  483. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +10 -9
  484. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +20 -20
  485. data/vendor/local/share/doc/groonga/ja/html/limitations.html +6 -6
  486. data/vendor/local/share/doc/groonga/ja/html/news.html +234 -106
  487. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +10 -10
  488. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +24 -24
  489. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +8 -8
  490. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +26 -26
  491. data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +8 -8
  492. data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +32 -32
  493. data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +32 -32
  494. data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +27 -27
  495. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +32 -32
  496. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  497. data/vendor/local/share/doc/groonga/ja/html/reference.html +8 -7
  498. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +6 -6
  499. data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +6 -6
  500. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +6 -6
  501. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +6 -6
  502. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +6 -6
  503. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +6 -6
  504. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +6 -6
  505. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +6 -6
  506. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +6 -6
  507. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +6 -6
  508. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +6 -6
  509. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +6 -6
  510. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +6 -6
  511. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +6 -6
  512. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +6 -6
  513. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +6 -6
  514. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +6 -6
  515. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +6 -6
  516. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +6 -6
  517. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +6 -6
  518. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +6 -6
  519. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +6 -6
  520. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +6 -6
  521. data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +6 -6
  522. data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +6 -6
  523. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +6 -6
  524. data/vendor/local/share/doc/groonga/ja/html/reference/column.html +6 -6
  525. data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +6 -6
  526. data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +6 -6
  527. data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +6 -6
  528. data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +6 -6
  529. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +6 -6
  530. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +6 -6
  531. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +6 -6
  532. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +6 -6
  533. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +6 -6
  534. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +6 -6
  535. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +6 -6
  536. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +6 -6
  537. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +6 -6
  538. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +6 -6
  539. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +6 -6
  540. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +6 -6
  541. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +6 -6
  542. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +6 -6
  543. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +6 -6
  544. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +141 -34
  545. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +6 -6
  546. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +6 -6
  547. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +6 -6
  548. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +6 -6
  549. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +6 -6
  550. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +6 -6
  551. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +6 -6
  552. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +6 -6
  553. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +6 -6
  554. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +6 -6
  555. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +6 -6
  556. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +6 -6
  557. data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +6 -6
  558. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +6 -6
  559. data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +25 -41
  560. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +6 -6
  561. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +6 -6
  562. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +6 -6
  563. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +6 -6
  564. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +6 -6
  565. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +6 -6
  566. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +6 -6
  567. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +6 -6
  568. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +6 -6
  569. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +6 -6
  570. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +6 -6
  571. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +6 -6
  572. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +6 -6
  573. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +7 -7
  574. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +23 -29
  575. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +10 -10
  576. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +10 -10
  577. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +6 -6
  578. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +6 -6
  579. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +6 -6
  580. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +6 -6
  581. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +6 -6
  582. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +146 -14
  583. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +7 -6
  584. data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +6 -6
  585. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +6 -6
  586. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +6 -6
  587. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +6 -6
  588. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +6 -6
  589. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +6 -6
  590. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +6 -6
  591. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +6 -6
  592. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +6 -6
  593. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +6 -6
  594. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +6 -6
  595. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +6 -6
  596. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +6 -6
  597. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +11 -11
  598. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +249 -0
  599. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +6 -6
  600. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +6 -6
  601. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +7 -7
  602. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +6 -6
  603. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +7 -7
  604. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +6 -6
  605. data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +11 -11
  606. data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +6 -6
  607. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +6 -6
  608. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +6 -6
  609. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +6 -6
  610. data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +6 -6
  611. data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +7 -7
  612. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +6 -6
  613. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +6 -6
  614. data/vendor/local/share/doc/groonga/ja/html/reference/scoring_note.html +6 -6
  615. data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +6 -6
  616. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +6 -6
  617. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +6 -6
  618. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +6 -6
  619. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +6 -6
  620. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +6 -6
  621. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +6 -6
  622. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +6 -6
  623. data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +6 -6
  624. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +6 -6
  625. data/vendor/local/share/doc/groonga/ja/html/search.html +6 -6
  626. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  627. data/vendor/local/share/doc/groonga/ja/html/server.html +11 -7
  628. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +53 -8
  629. data/vendor/local/share/doc/groonga/ja/html/server/http.html +6 -6
  630. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +6 -6
  631. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +6 -6
  632. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +6 -6
  633. data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +6 -6
  634. data/vendor/local/share/doc/groonga/ja/html/server/package.html +6 -6
  635. data/vendor/local/share/doc/groonga/ja/html/spec.html +6 -6
  636. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +10 -7
  637. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +6 -6
  638. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +6 -6
  639. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +6 -6
  640. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +6 -6
  641. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +6 -6
  642. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +6 -6
  643. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +6 -6
  644. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +15 -11
  645. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +7 -7
  646. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +6 -6
  647. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +6 -6
  648. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +6 -6
  649. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +6 -6
  650. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +6 -6
  651. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +6 -6
  652. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +6 -6
  653. data/vendor/local/share/groonga/html/{admin → admin.old}/css/groonga-admin.css +0 -0
  654. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  655. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  656. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  657. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  658. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  659. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  660. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  661. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  662. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-icons_217bc0_256x240.png +0 -0
  663. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
  664. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-icons_469bdd_256x240.png +0 -0
  665. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  666. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  667. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
  668. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  669. data/vendor/local/share/groonga/html/{admin → admin.old}/css/redmond/jquery-ui-1.8.18.custom.css +0 -0
  670. data/vendor/local/share/groonga/html/admin.old/favicon.ico +0 -0
  671. data/vendor/local/share/groonga/html/admin.old/favicon.png +0 -0
  672. data/vendor/local/share/groonga/html/{admin → admin.old}/favicon.svg +0 -0
  673. data/vendor/local/share/groonga/html/{admin → admin.old}/images/groonga.png +0 -0
  674. data/vendor/local/share/groonga/html/{admin → admin.old}/images/groonga.svg +0 -0
  675. data/vendor/local/share/groonga/html/{admin → admin.old}/images/loading.gif +0 -0
  676. data/vendor/local/share/groonga/html/admin.old/index.html +297 -0
  677. data/vendor/local/share/groonga/html/{admin → admin.old}/index.ja.html +0 -0
  678. data/vendor/local/share/groonga/html/{admin → admin.old}/js/groonga-admin.ja.js +0 -0
  679. data/vendor/local/share/groonga/html/{admin → admin.old}/js/groonga-admin.js +0 -0
  680. data/vendor/local/share/groonga/html/{admin → admin.old}/js/jquery-1.7.2.js +0 -0
  681. data/vendor/local/share/groonga/html/{admin → admin.old}/js/jquery-ui-1.8.18.custom.js +0 -0
  682. data/vendor/local/share/groonga/html/{admin → admin.old}/js/jquery.flot-0.7.js +0 -0
  683. data/vendor/local/share/groonga/html/{admin → admin.old}/js/jquery.flot.license.txt +0 -0
  684. data/vendor/local/share/groonga/html/admin/.htaccess +543 -0
  685. data/vendor/local/share/groonga/html/admin/404.html +133 -0
  686. data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  687. data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +229 -0
  688. data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  689. data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  690. data/vendor/local/share/groonga/html/admin/images/yeoman.d2754b85.png +0 -0
  691. data/vendor/local/share/groonga/html/admin/index.html +9 -297
  692. data/vendor/local/share/groonga/html/admin/robots.txt +3 -0
  693. data/vendor/local/share/groonga/html/admin/scripts/oldieshim.a466b7b1.js +1 -0
  694. data/vendor/local/share/groonga/html/admin/scripts/scripts.87083bfd.js +1 -0
  695. data/vendor/local/share/groonga/html/admin/scripts/vendor.fa48c0ac.js +13 -0
  696. data/vendor/local/share/groonga/html/admin/styles/main.0390285b.css +1 -0
  697. data/vendor/local/share/groonga/html/admin/styles/vendor.f4ae649a.css +10 -0
  698. data/vendor/local/share/groonga/html/admin/views/columns/new.html +1 -0
  699. data/vendor/local/share/groonga/html/admin/views/columns/show.html +1 -0
  700. data/vendor/local/share/groonga/html/admin/views/tables/index.html +1 -0
  701. data/vendor/local/share/groonga/html/admin/views/tables/new.html +29 -0
  702. data/vendor/local/share/groonga/html/admin/views/tables/search.html +1 -0
  703. data/vendor/local/share/groonga/html/admin/views/tables/show.html +1 -0
  704. data/vendor/local/share/groonga/html/admin/views/top.html +1 -0
  705. data/vendor/local/share/license/groonga-admin/LICENSE +502 -0
  706. data/vendor/local/share/license/groonga-admin/README.md +79 -0
  707. data/vendor/local/share/license/msgpack/AUTHORS +0 -1
  708. data/vendor/local/share/man/ja/man1/groonga.1 +826 -147
  709. data/vendor/local/share/man/man1/groonga.1 +812 -99
  710. metadata +138 -55
  711. data/doc/text/install.textile +0 -145
  712. data/doc/text/tutorial.textile +0 -510
  713. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  714. data/vendor/local/include/msgpack/type/define.hpp +0 -3465
  715. data/vendor/local/include/msgpack/type/deque.hpp +0 -77
  716. data/vendor/local/include/msgpack/type/fixint.hpp +0 -172
  717. data/vendor/local/include/msgpack/type/float.hpp +0 -102
  718. data/vendor/local/include/msgpack/type/int.hpp +0 -276
  719. data/vendor/local/include/msgpack/type/list.hpp +0 -77
  720. data/vendor/local/include/msgpack/type/map.hpp +0 -205
  721. data/vendor/local/include/msgpack/type/raw.hpp +0 -94
  722. data/vendor/local/include/msgpack/type/set.hpp +0 -122
  723. data/vendor/local/include/msgpack/type/string.hpp +0 -62
  724. data/vendor/local/include/msgpack/type/tr1/unordered_map.hpp +0 -150
  725. data/vendor/local/include/msgpack/type/tr1/unordered_set.hpp +0 -142
  726. data/vendor/local/include/msgpack/type/tuple.hpp +0 -13691
  727. data/vendor/local/include/msgpack/type/vector.hpp +0 -81
  728. data/vendor/local/share/doc/groonga/en/html/_static/jp.png +0 -0
  729. data/vendor/local/share/doc/groonga/en/html/_static/us.png +0 -0
  730. data/vendor/local/share/doc/groonga/ja/html/_static/jp.png +0 -0
  731. data/vendor/local/share/doc/groonga/ja/html/_static/us.png +0 -0
@@ -0,0 +1,134 @@
1
+ //
2
+ // MessagePack for C++ static resolution routine
3
+ //
4
+ // Copyright (C) 2014-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_TYPE_UNORDERED_SET_HPP
19
+ #define MSGPACK_TYPE_UNORDERED_SET_HPP
20
+
21
+ #include "msgpack/versioning.hpp"
22
+ #include "msgpack/object_fwd.hpp"
23
+ #include "msgpack/adaptor/check_container_size.hpp"
24
+
25
+ #include <unordered_set>
26
+
27
+ namespace msgpack {
28
+
29
+ MSGPACK_API_VERSION_NAMESPACE(v1) {
30
+
31
+ template <typename T>
32
+ inline msgpack::object const& operator>> (msgpack::object const& o, std::unordered_set<T>& v)
33
+ {
34
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
35
+ msgpack::object* p = o.via.array.ptr + o.via.array.size;
36
+ msgpack::object* const pbegin = o.via.array.ptr;
37
+ std::unordered_set<T> tmp;
38
+ while(p > pbegin) {
39
+ --p;
40
+ tmp.insert(p->as<T>());
41
+ }
42
+ tmp.swap(v);
43
+ return o;
44
+ }
45
+
46
+ template <typename Stream, typename T>
47
+ inline msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const std::unordered_set<T>& v)
48
+ {
49
+ uint32_t size = checked_get_container_size(v.size());
50
+ o.pack_array(size);
51
+ for(typename std::unordered_set<T>::const_iterator it(v.begin()), it_end(v.end());
52
+ it != it_end; ++it) {
53
+ o.pack(*it);
54
+ }
55
+ return o;
56
+ }
57
+
58
+ template <typename T>
59
+ inline void operator<< (msgpack::object::with_zone& o, const std::unordered_set<T>& v)
60
+ {
61
+ o.type = msgpack::type::ARRAY;
62
+ if(v.empty()) {
63
+ o.via.array.ptr = nullptr;
64
+ o.via.array.size = 0;
65
+ } else {
66
+ uint32_t size = checked_get_container_size(v.size());
67
+ msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size));
68
+ msgpack::object* const pend = p + size;
69
+ o.via.array.ptr = p;
70
+ o.via.array.size = size;
71
+ typename std::unordered_set<T>::const_iterator it(v.begin());
72
+ do {
73
+ *p = msgpack::object(*it, o.zone);
74
+ ++p;
75
+ ++it;
76
+ } while(p < pend);
77
+ }
78
+ }
79
+
80
+
81
+ template <typename T>
82
+ inline msgpack::object const& operator>> (msgpack::object const& o, std::unordered_multiset<T>& v)
83
+ {
84
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
85
+ msgpack::object* p = o.via.array.ptr + o.via.array.size;
86
+ msgpack::object* const pbegin = o.via.array.ptr;
87
+ std::unordered_multiset<T> tmp;
88
+ while(p > pbegin) {
89
+ --p;
90
+ tmp.insert(p->as<T>());
91
+ }
92
+ tmp.swap(v);
93
+ return o;
94
+ }
95
+
96
+ template <typename Stream, typename T>
97
+ inline msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const std::unordered_multiset<T>& v)
98
+ {
99
+ uint32_t size = checked_get_container_size(v.size());
100
+ o.pack_array(size);
101
+ for(typename std::unordered_multiset<T>::const_iterator it(v.begin()), it_end(v.end());
102
+ it != it_end; ++it) {
103
+ o.pack(*it);
104
+ }
105
+ return o;
106
+ }
107
+
108
+ template <typename T>
109
+ inline void operator<< (msgpack::object::with_zone& o, const std::unordered_multiset<T>& v)
110
+ {
111
+ o.type = msgpack::type::ARRAY;
112
+ if(v.empty()) {
113
+ o.via.array.ptr = nullptr;
114
+ o.via.array.size = 0;
115
+ } else {
116
+ uint32_t size = checked_get_container_size(v.size());
117
+ msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size));
118
+ msgpack::object* const pend = p + size;
119
+ o.via.array.ptr = p;
120
+ o.via.array.size = size;
121
+ typename std::unordered_multiset<T>::const_iterator it(v.begin());
122
+ do {
123
+ *p = msgpack::object(*it, o.zone);
124
+ ++p;
125
+ ++it;
126
+ } while(p < pend);
127
+ }
128
+ }
129
+
130
+ } // MSGPACK_API_VERSION_NAMESPACE(v1)
131
+
132
+ } // namespace msgpack
133
+
134
+ #endif // MSGPACK_TYPE_UNORDERED_SET_HPP
@@ -0,0 +1,52 @@
1
+ //
2
+ // MessagePack for C++ static resolution routine
3
+ //
4
+ // Copyright (C) 2014 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_TYPE_UNORDERED_SET_FWD_HPP
19
+ #define MSGPACK_TYPE_UNORDERED_SET_FWD_HPP
20
+
21
+ #include "msgpack/versioning.hpp"
22
+ #include "msgpack/object_fwd.hpp"
23
+
24
+ #include <unordered_set>
25
+
26
+ namespace msgpack {
27
+
28
+ MSGPACK_API_VERSION_NAMESPACE(v1) {
29
+
30
+ template <typename T>
31
+ msgpack::object const& operator>> (msgpack::object const& o, std::unordered_set<T>& v);
32
+
33
+ template <typename Stream, typename T>
34
+ msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const std::unordered_set<T>& v);
35
+
36
+ template <typename T>
37
+ void operator<< (msgpack::object::with_zone& o, const std::unordered_set<T>& v);
38
+
39
+ template <typename T>
40
+ msgpack::object const& operator>> (msgpack::object const& o, std::unordered_multiset<T>& v);
41
+
42
+ template <typename Stream, typename T>
43
+ msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const std::unordered_multiset<T>& v);
44
+
45
+ template <typename T>
46
+ void operator<< (msgpack::object::with_zone& o, const std::unordered_multiset<T>& v);
47
+
48
+ } // MSGPACK_API_VERSION_NAMESPACE(v1)
49
+
50
+ } // namespace msgpack
51
+
52
+ #endif // MSGPACK_TYPE_UNORDERED_SET_FWD_HPP
@@ -0,0 +1,29 @@
1
+ //
2
+ // MessagePack for C++ static resolution routine
3
+ //
4
+ // Copyright (C) 2008-2014 FURUHASHI Sadayuki and 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_DEFINE_HPP
19
+ #define MSGPACK_DEFINE_HPP
20
+
21
+ #include "msgpack/cpp_config.hpp"
22
+
23
+ #if defined(MSGPACK_USE_CPP03)
24
+ #include "detail/cpp03_define.hpp"
25
+ #else // MSGPACK_USE_CPP03
26
+ #include "detail/cpp11_define.hpp"
27
+ #endif // MSGPACK_USE_CPP03
28
+
29
+ #endif // MSGPACK_DEFINE_HPP
@@ -0,0 +1,83 @@
1
+ //
2
+ // MessagePack for C++ static resolution routine
3
+ //
4
+ // Copyright (C) 2008-2015 FURUHASHI Sadayuki
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_TYPE_DEQUE_HPP
19
+ #define MSGPACK_TYPE_DEQUE_HPP
20
+
21
+ #include "msgpack/versioning.hpp"
22
+ #include "msgpack/object_fwd.hpp"
23
+ #include "msgpack/adaptor/check_container_size.hpp"
24
+
25
+ #include <deque>
26
+
27
+ namespace msgpack {
28
+
29
+ MSGPACK_API_VERSION_NAMESPACE(v1) {
30
+
31
+ template <typename T>
32
+ inline msgpack::object const& operator>> (msgpack::object const& o, std::deque<T>& v)
33
+ {
34
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
35
+ v.resize(o.via.array.size);
36
+ msgpack::object* p = o.via.array.ptr;
37
+ msgpack::object* const pend = o.via.array.ptr + o.via.array.size;
38
+ typename std::deque<T>::iterator it = v.begin();
39
+ for(; p < pend; ++p, ++it) {
40
+ p->convert(*it);
41
+ }
42
+ return o;
43
+ }
44
+
45
+ template <typename Stream, typename T>
46
+ inline msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const std::deque<T>& v)
47
+ {
48
+ uint32_t size = checked_get_container_size(v.size());
49
+ o.pack_array(size);
50
+ for(typename std::deque<T>::const_iterator it(v.begin()), it_end(v.end());
51
+ it != it_end; ++it) {
52
+ o.pack(*it);
53
+ }
54
+ return o;
55
+ }
56
+
57
+ template <typename T>
58
+ inline void operator<< (msgpack::object::with_zone& o, const std::deque<T>& v)
59
+ {
60
+ o.type = msgpack::type::ARRAY;
61
+ if(v.empty()) {
62
+ o.via.array.ptr = nullptr;
63
+ o.via.array.size = 0;
64
+ } else {
65
+ uint32_t size = checked_get_container_size(v.size());
66
+ msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size));
67
+ msgpack::object* const pend = p + size;
68
+ o.via.array.ptr = p;
69
+ o.via.array.size = size;
70
+ typename std::deque<T>::const_iterator it(v.begin());
71
+ do {
72
+ *p = msgpack::object(*it, o.zone);
73
+ ++p;
74
+ ++it;
75
+ } while(p < pend);
76
+ }
77
+ }
78
+
79
+ } // MSGPACK_API_VERSION_NAMESPACE(v1)
80
+
81
+ } // namespace msgpack
82
+
83
+ #endif /* msgpack/type/deque.hpp */
@@ -0,0 +1,40 @@
1
+ //
2
+ // MessagePack for C++ static resolution routine
3
+ //
4
+ // Copyright (C) 2008-2014 FURUHASHI Sadayuki and 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_TYPE_DEQUE_FWD_HPP
19
+ #define MSGPACK_TYPE_DEQUE_FWD_HPP
20
+
21
+ #include "msgpack/versioning.hpp"
22
+ #include "msgpack/object_fwd.hpp"
23
+ #include <deque>
24
+
25
+ namespace msgpack {
26
+
27
+ MSGPACK_API_VERSION_NAMESPACE(v1) {
28
+
29
+ template <typename T>
30
+ msgpack::object const& operator>> (msgpack::object const& o, std::deque<T>& v);
31
+ template <typename Stream, typename T>
32
+ msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const std::deque<T>& v);
33
+ template <typename T>
34
+ void operator<< (msgpack::object::with_zone& o, const std::deque<T>& v);
35
+
36
+ } // MSGPACK_API_VERSION_NAMESPACE(v1)
37
+
38
+ } // namespace msgpack
39
+
40
+ #endif // MSGPACK_TYPE_DEQUE_FWD_HPP
@@ -0,0 +1,3475 @@
1
+ //
2
+ // MessagePack for C++ static resolution routine
3
+ //
4
+ // Copyright (C) 2008-2009 FURUHASHI Sadayuki
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_HPP
19
+ #define MSGPACK_CPP03_DEFINE_HPP
20
+
21
+ #include "msgpack/versioning.hpp"
22
+ #include "msgpack/adaptor/msgpack_tuple_fwd.hpp"
23
+ #include "msgpack/adaptor/int_fwd.hpp"
24
+ #include "msgpack/object_fwd.hpp"
25
+
26
+ #define MSGPACK_DEFINE(...) \
27
+ template <typename Packer> \
28
+ void msgpack_pack(Packer& pk) const \
29
+ { \
30
+ msgpack::type::make_define(__VA_ARGS__).msgpack_pack(pk); \
31
+ } \
32
+ void msgpack_unpack(msgpack::object const& o) \
33
+ { \
34
+ msgpack::type::make_define(__VA_ARGS__).msgpack_unpack(o); \
35
+ }\
36
+ template <typename MSGPACK_OBJECT> \
37
+ void msgpack_object(MSGPACK_OBJECT* o, msgpack::zone& z) const \
38
+ { \
39
+ msgpack::type::make_define(__VA_ARGS__).msgpack_object(o, z); \
40
+ }
41
+
42
+ // MSGPACK_ADD_ENUM must be used in the global namespace.
43
+ #define MSGPACK_ADD_ENUM(enum) \
44
+ namespace msgpack { \
45
+ MSGPACK_API_VERSION_NAMESPACE(v1) { \
46
+ inline msgpack::object const& operator>> (msgpack::object const& o, enum& v) \
47
+ { \
48
+ int tmp; \
49
+ o >> tmp; \
50
+ v = static_cast<enum>(tmp); \
51
+ return o; \
52
+ } \
53
+ inline void operator<< (msgpack::object& o, const enum& v) \
54
+ { \
55
+ o << static_cast<int>(v); \
56
+ } \
57
+ inline void operator<< (msgpack::object::with_zone& o, const enum& v) \
58
+ { \
59
+ o << static_cast<int>(v); \
60
+ } \
61
+ namespace detail { \
62
+ template <typename Stream> \
63
+ struct packer_serializer<Stream, enum> { \
64
+ static msgpack::packer<Stream>& pack(msgpack::packer<Stream>& o, const enum& v) { \
65
+ return o << static_cast<int>(v); \
66
+ } \
67
+ }; \
68
+ } \
69
+ } \
70
+ }
71
+
72
+ namespace msgpack {
73
+ MSGPACK_API_VERSION_NAMESPACE(v1) {
74
+ namespace type {
75
+
76
+
77
+
78
+ 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>
79
+ struct define;
80
+
81
+
82
+ template <>
83
+ struct define<> {
84
+ typedef define<> value_type;
85
+ typedef tuple<> tuple_type;
86
+ template <typename Packer>
87
+ void msgpack_pack(Packer& pk) const
88
+ {
89
+ pk.pack_array(0);
90
+ }
91
+ void msgpack_unpack(msgpack::object const& o)
92
+ {
93
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
94
+ }
95
+ void msgpack_object(msgpack::object* o, msgpack::zone&) const
96
+ {
97
+ o->type = msgpack::type::ARRAY;
98
+ o->via.array.ptr = nullptr;
99
+ o->via.array.size = 0;
100
+ }
101
+ };
102
+
103
+ template <typename A0>
104
+ struct define<A0> {
105
+ typedef define<A0> value_type;
106
+ typedef tuple<A0> tuple_type;
107
+ define(A0& _a0) :
108
+ a0(_a0) {}
109
+ template <typename Packer>
110
+ void msgpack_pack(Packer& pk) const
111
+ {
112
+ pk.pack_array(1);
113
+
114
+ pk.pack(a0);
115
+ }
116
+ void msgpack_unpack(msgpack::object const& o)
117
+ {
118
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
119
+ const size_t size = o.via.array.size;
120
+ if(size > 0) {
121
+ msgpack::object *ptr = o.via.array.ptr;
122
+ switch(size) {
123
+ default:
124
+ case 1: ptr[0].convert(a0);
125
+ }
126
+ }
127
+ }
128
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
129
+ {
130
+ o->type = msgpack::type::ARRAY;
131
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*1));
132
+ o->via.array.size = 1;
133
+
134
+ o->via.array.ptr[0] = msgpack::object(a0, z);
135
+ }
136
+
137
+ A0& a0;
138
+ };
139
+
140
+ template <typename A0, typename A1>
141
+ struct define<A0, A1> {
142
+ typedef define<A0, A1> value_type;
143
+ typedef tuple<A0, A1> tuple_type;
144
+ define(A0& _a0, A1& _a1) :
145
+ a0(_a0), a1(_a1) {}
146
+ template <typename Packer>
147
+ void msgpack_pack(Packer& pk) const
148
+ {
149
+ pk.pack_array(2);
150
+
151
+ pk.pack(a0);
152
+ pk.pack(a1);
153
+ }
154
+ void msgpack_unpack(msgpack::object const& o)
155
+ {
156
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
157
+ const size_t size = o.via.array.size;
158
+ if(size > 0) {
159
+ msgpack::object *ptr = o.via.array.ptr;
160
+ switch(size) {
161
+ default:
162
+ case 2: ptr[1].convert(a1);
163
+ case 1: ptr[0].convert(a0);
164
+ }
165
+ }
166
+ }
167
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
168
+ {
169
+ o->type = msgpack::type::ARRAY;
170
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*2));
171
+ o->via.array.size = 2;
172
+
173
+ o->via.array.ptr[0] = msgpack::object(a0, z);
174
+ o->via.array.ptr[1] = msgpack::object(a1, z);
175
+ }
176
+
177
+ A0& a0;
178
+ A1& a1;
179
+ };
180
+
181
+ template <typename A0, typename A1, typename A2>
182
+ struct define<A0, A1, A2> {
183
+ typedef define<A0, A1, A2> value_type;
184
+ typedef tuple<A0, A1, A2> tuple_type;
185
+ define(A0& _a0, A1& _a1, A2& _a2) :
186
+ a0(_a0), a1(_a1), a2(_a2) {}
187
+ template <typename Packer>
188
+ void msgpack_pack(Packer& pk) const
189
+ {
190
+ pk.pack_array(3);
191
+
192
+ pk.pack(a0);
193
+ pk.pack(a1);
194
+ pk.pack(a2);
195
+ }
196
+ void msgpack_unpack(msgpack::object const& o)
197
+ {
198
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
199
+ const size_t size = o.via.array.size;
200
+ if(size > 0) {
201
+ msgpack::object *ptr = o.via.array.ptr;
202
+ switch(size) {
203
+ default:
204
+ case 3: ptr[2].convert(a2);
205
+ case 2: ptr[1].convert(a1);
206
+ case 1: ptr[0].convert(a0);
207
+ }
208
+ }
209
+ }
210
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
211
+ {
212
+ o->type = msgpack::type::ARRAY;
213
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*3));
214
+ o->via.array.size = 3;
215
+
216
+ o->via.array.ptr[0] = msgpack::object(a0, z);
217
+ o->via.array.ptr[1] = msgpack::object(a1, z);
218
+ o->via.array.ptr[2] = msgpack::object(a2, z);
219
+ }
220
+
221
+ A0& a0;
222
+ A1& a1;
223
+ A2& a2;
224
+ };
225
+
226
+ template <typename A0, typename A1, typename A2, typename A3>
227
+ struct define<A0, A1, A2, A3> {
228
+ typedef define<A0, A1, A2, A3> value_type;
229
+ typedef tuple<A0, A1, A2, A3> tuple_type;
230
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3) :
231
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3) {}
232
+ template <typename Packer>
233
+ void msgpack_pack(Packer& pk) const
234
+ {
235
+ pk.pack_array(4);
236
+
237
+ pk.pack(a0);
238
+ pk.pack(a1);
239
+ pk.pack(a2);
240
+ pk.pack(a3);
241
+ }
242
+ void msgpack_unpack(msgpack::object const& o)
243
+ {
244
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
245
+ const size_t size = o.via.array.size;
246
+ if(size > 0) {
247
+ msgpack::object *ptr = o.via.array.ptr;
248
+ switch(size) {
249
+ default:
250
+ case 4: ptr[3].convert(a3);
251
+ case 3: ptr[2].convert(a2);
252
+ case 2: ptr[1].convert(a1);
253
+ case 1: ptr[0].convert(a0);
254
+ }
255
+ }
256
+ }
257
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
258
+ {
259
+ o->type = msgpack::type::ARRAY;
260
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*4));
261
+ o->via.array.size = 4;
262
+
263
+ o->via.array.ptr[0] = msgpack::object(a0, z);
264
+ o->via.array.ptr[1] = msgpack::object(a1, z);
265
+ o->via.array.ptr[2] = msgpack::object(a2, z);
266
+ o->via.array.ptr[3] = msgpack::object(a3, z);
267
+ }
268
+
269
+ A0& a0;
270
+ A1& a1;
271
+ A2& a2;
272
+ A3& a3;
273
+ };
274
+
275
+ template <typename A0, typename A1, typename A2, typename A3, typename A4>
276
+ struct define<A0, A1, A2, A3, A4> {
277
+ typedef define<A0, A1, A2, A3, A4> value_type;
278
+ typedef tuple<A0, A1, A2, A3, A4> tuple_type;
279
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4) :
280
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4) {}
281
+ template <typename Packer>
282
+ void msgpack_pack(Packer& pk) const
283
+ {
284
+ pk.pack_array(5);
285
+
286
+ pk.pack(a0);
287
+ pk.pack(a1);
288
+ pk.pack(a2);
289
+ pk.pack(a3);
290
+ pk.pack(a4);
291
+ }
292
+ void msgpack_unpack(msgpack::object const& o)
293
+ {
294
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
295
+ const size_t size = o.via.array.size;
296
+ if(size > 0) {
297
+ msgpack::object *ptr = o.via.array.ptr;
298
+ switch(size) {
299
+ default:
300
+ case 5: ptr[4].convert(a4);
301
+ case 4: ptr[3].convert(a3);
302
+ case 3: ptr[2].convert(a2);
303
+ case 2: ptr[1].convert(a1);
304
+ case 1: ptr[0].convert(a0);
305
+ }
306
+ }
307
+ }
308
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
309
+ {
310
+ o->type = msgpack::type::ARRAY;
311
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*5));
312
+ o->via.array.size = 5;
313
+
314
+ o->via.array.ptr[0] = msgpack::object(a0, z);
315
+ o->via.array.ptr[1] = msgpack::object(a1, z);
316
+ o->via.array.ptr[2] = msgpack::object(a2, z);
317
+ o->via.array.ptr[3] = msgpack::object(a3, z);
318
+ o->via.array.ptr[4] = msgpack::object(a4, z);
319
+ }
320
+
321
+ A0& a0;
322
+ A1& a1;
323
+ A2& a2;
324
+ A3& a3;
325
+ A4& a4;
326
+ };
327
+
328
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
329
+ struct define<A0, A1, A2, A3, A4, A5> {
330
+ typedef define<A0, A1, A2, A3, A4, A5> value_type;
331
+ typedef tuple<A0, A1, A2, A3, A4, A5> tuple_type;
332
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5) :
333
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5) {}
334
+ template <typename Packer>
335
+ void msgpack_pack(Packer& pk) const
336
+ {
337
+ pk.pack_array(6);
338
+
339
+ pk.pack(a0);
340
+ pk.pack(a1);
341
+ pk.pack(a2);
342
+ pk.pack(a3);
343
+ pk.pack(a4);
344
+ pk.pack(a5);
345
+ }
346
+ void msgpack_unpack(msgpack::object const& o)
347
+ {
348
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
349
+ const size_t size = o.via.array.size;
350
+ if(size > 0) {
351
+ msgpack::object *ptr = o.via.array.ptr;
352
+ switch(size) {
353
+ default:
354
+ case 6: ptr[5].convert(a5);
355
+ case 5: ptr[4].convert(a4);
356
+ case 4: ptr[3].convert(a3);
357
+ case 3: ptr[2].convert(a2);
358
+ case 2: ptr[1].convert(a1);
359
+ case 1: ptr[0].convert(a0);
360
+ }
361
+ }
362
+ }
363
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
364
+ {
365
+ o->type = msgpack::type::ARRAY;
366
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*6));
367
+ o->via.array.size = 6;
368
+
369
+ o->via.array.ptr[0] = msgpack::object(a0, z);
370
+ o->via.array.ptr[1] = msgpack::object(a1, z);
371
+ o->via.array.ptr[2] = msgpack::object(a2, z);
372
+ o->via.array.ptr[3] = msgpack::object(a3, z);
373
+ o->via.array.ptr[4] = msgpack::object(a4, z);
374
+ o->via.array.ptr[5] = msgpack::object(a5, z);
375
+ }
376
+
377
+ A0& a0;
378
+ A1& a1;
379
+ A2& a2;
380
+ A3& a3;
381
+ A4& a4;
382
+ A5& a5;
383
+ };
384
+
385
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
386
+ struct define<A0, A1, A2, A3, A4, A5, A6> {
387
+ typedef define<A0, A1, A2, A3, A4, A5, A6> value_type;
388
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6> tuple_type;
389
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6) :
390
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6) {}
391
+ template <typename Packer>
392
+ void msgpack_pack(Packer& pk) const
393
+ {
394
+ pk.pack_array(7);
395
+
396
+ pk.pack(a0);
397
+ pk.pack(a1);
398
+ pk.pack(a2);
399
+ pk.pack(a3);
400
+ pk.pack(a4);
401
+ pk.pack(a5);
402
+ pk.pack(a6);
403
+ }
404
+ void msgpack_unpack(msgpack::object const& o)
405
+ {
406
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
407
+ const size_t size = o.via.array.size;
408
+ if(size > 0) {
409
+ msgpack::object *ptr = o.via.array.ptr;
410
+ switch(size) {
411
+ default:
412
+ case 7: ptr[6].convert(a6);
413
+ case 6: ptr[5].convert(a5);
414
+ case 5: ptr[4].convert(a4);
415
+ case 4: ptr[3].convert(a3);
416
+ case 3: ptr[2].convert(a2);
417
+ case 2: ptr[1].convert(a1);
418
+ case 1: ptr[0].convert(a0);
419
+ }
420
+ }
421
+ }
422
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
423
+ {
424
+ o->type = msgpack::type::ARRAY;
425
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*7));
426
+ o->via.array.size = 7;
427
+
428
+ o->via.array.ptr[0] = msgpack::object(a0, z);
429
+ o->via.array.ptr[1] = msgpack::object(a1, z);
430
+ o->via.array.ptr[2] = msgpack::object(a2, z);
431
+ o->via.array.ptr[3] = msgpack::object(a3, z);
432
+ o->via.array.ptr[4] = msgpack::object(a4, z);
433
+ o->via.array.ptr[5] = msgpack::object(a5, z);
434
+ o->via.array.ptr[6] = msgpack::object(a6, z);
435
+ }
436
+
437
+ A0& a0;
438
+ A1& a1;
439
+ A2& a2;
440
+ A3& a3;
441
+ A4& a4;
442
+ A5& a5;
443
+ A6& a6;
444
+ };
445
+
446
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
447
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7> {
448
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7> value_type;
449
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7> tuple_type;
450
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7) :
451
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7) {}
452
+ template <typename Packer>
453
+ void msgpack_pack(Packer& pk) const
454
+ {
455
+ pk.pack_array(8);
456
+
457
+ pk.pack(a0);
458
+ pk.pack(a1);
459
+ pk.pack(a2);
460
+ pk.pack(a3);
461
+ pk.pack(a4);
462
+ pk.pack(a5);
463
+ pk.pack(a6);
464
+ pk.pack(a7);
465
+ }
466
+ void msgpack_unpack(msgpack::object const& o)
467
+ {
468
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
469
+ const size_t size = o.via.array.size;
470
+ if(size > 0) {
471
+ msgpack::object *ptr = o.via.array.ptr;
472
+ switch(size) {
473
+ default:
474
+ case 8: ptr[7].convert(a7);
475
+ case 7: ptr[6].convert(a6);
476
+ case 6: ptr[5].convert(a5);
477
+ case 5: ptr[4].convert(a4);
478
+ case 4: ptr[3].convert(a3);
479
+ case 3: ptr[2].convert(a2);
480
+ case 2: ptr[1].convert(a1);
481
+ case 1: ptr[0].convert(a0);
482
+ }
483
+ }
484
+ }
485
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
486
+ {
487
+ o->type = msgpack::type::ARRAY;
488
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*8));
489
+ o->via.array.size = 8;
490
+
491
+ o->via.array.ptr[0] = msgpack::object(a0, z);
492
+ o->via.array.ptr[1] = msgpack::object(a1, z);
493
+ o->via.array.ptr[2] = msgpack::object(a2, z);
494
+ o->via.array.ptr[3] = msgpack::object(a3, z);
495
+ o->via.array.ptr[4] = msgpack::object(a4, z);
496
+ o->via.array.ptr[5] = msgpack::object(a5, z);
497
+ o->via.array.ptr[6] = msgpack::object(a6, z);
498
+ o->via.array.ptr[7] = msgpack::object(a7, z);
499
+ }
500
+
501
+ A0& a0;
502
+ A1& a1;
503
+ A2& a2;
504
+ A3& a3;
505
+ A4& a4;
506
+ A5& a5;
507
+ A6& a6;
508
+ A7& a7;
509
+ };
510
+
511
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
512
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8> {
513
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8> value_type;
514
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8> tuple_type;
515
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8) :
516
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8) {}
517
+ template <typename Packer>
518
+ void msgpack_pack(Packer& pk) const
519
+ {
520
+ pk.pack_array(9);
521
+
522
+ pk.pack(a0);
523
+ pk.pack(a1);
524
+ pk.pack(a2);
525
+ pk.pack(a3);
526
+ pk.pack(a4);
527
+ pk.pack(a5);
528
+ pk.pack(a6);
529
+ pk.pack(a7);
530
+ pk.pack(a8);
531
+ }
532
+ void msgpack_unpack(msgpack::object const& o)
533
+ {
534
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
535
+ const size_t size = o.via.array.size;
536
+ if(size > 0) {
537
+ msgpack::object *ptr = o.via.array.ptr;
538
+ switch(size) {
539
+ default:
540
+ case 9: ptr[8].convert(a8);
541
+ case 8: ptr[7].convert(a7);
542
+ case 7: ptr[6].convert(a6);
543
+ case 6: ptr[5].convert(a5);
544
+ case 5: ptr[4].convert(a4);
545
+ case 4: ptr[3].convert(a3);
546
+ case 3: ptr[2].convert(a2);
547
+ case 2: ptr[1].convert(a1);
548
+ case 1: ptr[0].convert(a0);
549
+ }
550
+ }
551
+ }
552
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
553
+ {
554
+ o->type = msgpack::type::ARRAY;
555
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*9));
556
+ o->via.array.size = 9;
557
+
558
+ o->via.array.ptr[0] = msgpack::object(a0, z);
559
+ o->via.array.ptr[1] = msgpack::object(a1, z);
560
+ o->via.array.ptr[2] = msgpack::object(a2, z);
561
+ o->via.array.ptr[3] = msgpack::object(a3, z);
562
+ o->via.array.ptr[4] = msgpack::object(a4, z);
563
+ o->via.array.ptr[5] = msgpack::object(a5, z);
564
+ o->via.array.ptr[6] = msgpack::object(a6, z);
565
+ o->via.array.ptr[7] = msgpack::object(a7, z);
566
+ o->via.array.ptr[8] = msgpack::object(a8, z);
567
+ }
568
+
569
+ A0& a0;
570
+ A1& a1;
571
+ A2& a2;
572
+ A3& a3;
573
+ A4& a4;
574
+ A5& a5;
575
+ A6& a6;
576
+ A7& a7;
577
+ A8& a8;
578
+ };
579
+
580
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
581
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> {
582
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> value_type;
583
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> tuple_type;
584
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9) :
585
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9) {}
586
+ template <typename Packer>
587
+ void msgpack_pack(Packer& pk) const
588
+ {
589
+ pk.pack_array(10);
590
+
591
+ pk.pack(a0);
592
+ pk.pack(a1);
593
+ pk.pack(a2);
594
+ pk.pack(a3);
595
+ pk.pack(a4);
596
+ pk.pack(a5);
597
+ pk.pack(a6);
598
+ pk.pack(a7);
599
+ pk.pack(a8);
600
+ pk.pack(a9);
601
+ }
602
+ void msgpack_unpack(msgpack::object const& o)
603
+ {
604
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
605
+ const size_t size = o.via.array.size;
606
+ if(size > 0) {
607
+ msgpack::object *ptr = o.via.array.ptr;
608
+ switch(size) {
609
+ default:
610
+ case 10: ptr[9].convert(a9);
611
+ case 9: ptr[8].convert(a8);
612
+ case 8: ptr[7].convert(a7);
613
+ case 7: ptr[6].convert(a6);
614
+ case 6: ptr[5].convert(a5);
615
+ case 5: ptr[4].convert(a4);
616
+ case 4: ptr[3].convert(a3);
617
+ case 3: ptr[2].convert(a2);
618
+ case 2: ptr[1].convert(a1);
619
+ case 1: ptr[0].convert(a0);
620
+ }
621
+ }
622
+ }
623
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
624
+ {
625
+ o->type = msgpack::type::ARRAY;
626
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*10));
627
+ o->via.array.size = 10;
628
+
629
+ o->via.array.ptr[0] = msgpack::object(a0, z);
630
+ o->via.array.ptr[1] = msgpack::object(a1, z);
631
+ o->via.array.ptr[2] = msgpack::object(a2, z);
632
+ o->via.array.ptr[3] = msgpack::object(a3, z);
633
+ o->via.array.ptr[4] = msgpack::object(a4, z);
634
+ o->via.array.ptr[5] = msgpack::object(a5, z);
635
+ o->via.array.ptr[6] = msgpack::object(a6, z);
636
+ o->via.array.ptr[7] = msgpack::object(a7, z);
637
+ o->via.array.ptr[8] = msgpack::object(a8, z);
638
+ o->via.array.ptr[9] = msgpack::object(a9, z);
639
+ }
640
+
641
+ A0& a0;
642
+ A1& a1;
643
+ A2& a2;
644
+ A3& a3;
645
+ A4& a4;
646
+ A5& a5;
647
+ A6& a6;
648
+ A7& a7;
649
+ A8& a8;
650
+ A9& a9;
651
+ };
652
+
653
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
654
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> {
655
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> value_type;
656
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> tuple_type;
657
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10) :
658
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10) {}
659
+ template <typename Packer>
660
+ void msgpack_pack(Packer& pk) const
661
+ {
662
+ pk.pack_array(11);
663
+
664
+ pk.pack(a0);
665
+ pk.pack(a1);
666
+ pk.pack(a2);
667
+ pk.pack(a3);
668
+ pk.pack(a4);
669
+ pk.pack(a5);
670
+ pk.pack(a6);
671
+ pk.pack(a7);
672
+ pk.pack(a8);
673
+ pk.pack(a9);
674
+ pk.pack(a10);
675
+ }
676
+ void msgpack_unpack(msgpack::object const& o)
677
+ {
678
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
679
+ const size_t size = o.via.array.size;
680
+ if(size > 0) {
681
+ msgpack::object *ptr = o.via.array.ptr;
682
+ switch(size) {
683
+ default:
684
+ case 11: ptr[10].convert(a10);
685
+ case 10: ptr[9].convert(a9);
686
+ case 9: ptr[8].convert(a8);
687
+ case 8: ptr[7].convert(a7);
688
+ case 7: ptr[6].convert(a6);
689
+ case 6: ptr[5].convert(a5);
690
+ case 5: ptr[4].convert(a4);
691
+ case 4: ptr[3].convert(a3);
692
+ case 3: ptr[2].convert(a2);
693
+ case 2: ptr[1].convert(a1);
694
+ case 1: ptr[0].convert(a0);
695
+ }
696
+ }
697
+ }
698
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
699
+ {
700
+ o->type = msgpack::type::ARRAY;
701
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*11));
702
+ o->via.array.size = 11;
703
+
704
+ o->via.array.ptr[0] = msgpack::object(a0, z);
705
+ o->via.array.ptr[1] = msgpack::object(a1, z);
706
+ o->via.array.ptr[2] = msgpack::object(a2, z);
707
+ o->via.array.ptr[3] = msgpack::object(a3, z);
708
+ o->via.array.ptr[4] = msgpack::object(a4, z);
709
+ o->via.array.ptr[5] = msgpack::object(a5, z);
710
+ o->via.array.ptr[6] = msgpack::object(a6, z);
711
+ o->via.array.ptr[7] = msgpack::object(a7, z);
712
+ o->via.array.ptr[8] = msgpack::object(a8, z);
713
+ o->via.array.ptr[9] = msgpack::object(a9, z);
714
+ o->via.array.ptr[10] = msgpack::object(a10, z);
715
+ }
716
+
717
+ A0& a0;
718
+ A1& a1;
719
+ A2& a2;
720
+ A3& a3;
721
+ A4& a4;
722
+ A5& a5;
723
+ A6& a6;
724
+ A7& a7;
725
+ A8& a8;
726
+ A9& a9;
727
+ A10& a10;
728
+ };
729
+
730
+ 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>
731
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> {
732
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> value_type;
733
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> tuple_type;
734
+ define(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11) :
735
+ a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11) {}
736
+ template <typename Packer>
737
+ void msgpack_pack(Packer& pk) const
738
+ {
739
+ pk.pack_array(12);
740
+
741
+ pk.pack(a0);
742
+ pk.pack(a1);
743
+ pk.pack(a2);
744
+ pk.pack(a3);
745
+ pk.pack(a4);
746
+ pk.pack(a5);
747
+ pk.pack(a6);
748
+ pk.pack(a7);
749
+ pk.pack(a8);
750
+ pk.pack(a9);
751
+ pk.pack(a10);
752
+ pk.pack(a11);
753
+ }
754
+ void msgpack_unpack(msgpack::object const& o)
755
+ {
756
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
757
+ const size_t size = o.via.array.size;
758
+ if(size > 0) {
759
+ msgpack::object *ptr = o.via.array.ptr;
760
+ switch(size) {
761
+ default:
762
+ case 12: ptr[11].convert(a11);
763
+ case 11: ptr[10].convert(a10);
764
+ case 10: ptr[9].convert(a9);
765
+ case 9: ptr[8].convert(a8);
766
+ case 8: ptr[7].convert(a7);
767
+ case 7: ptr[6].convert(a6);
768
+ case 6: ptr[5].convert(a5);
769
+ case 5: ptr[4].convert(a4);
770
+ case 4: ptr[3].convert(a3);
771
+ case 3: ptr[2].convert(a2);
772
+ case 2: ptr[1].convert(a1);
773
+ case 1: ptr[0].convert(a0);
774
+ }
775
+ }
776
+ }
777
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
778
+ {
779
+ o->type = msgpack::type::ARRAY;
780
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*12));
781
+ o->via.array.size = 12;
782
+
783
+ o->via.array.ptr[0] = msgpack::object(a0, z);
784
+ o->via.array.ptr[1] = msgpack::object(a1, z);
785
+ o->via.array.ptr[2] = msgpack::object(a2, z);
786
+ o->via.array.ptr[3] = msgpack::object(a3, z);
787
+ o->via.array.ptr[4] = msgpack::object(a4, z);
788
+ o->via.array.ptr[5] = msgpack::object(a5, z);
789
+ o->via.array.ptr[6] = msgpack::object(a6, z);
790
+ o->via.array.ptr[7] = msgpack::object(a7, z);
791
+ o->via.array.ptr[8] = msgpack::object(a8, z);
792
+ o->via.array.ptr[9] = msgpack::object(a9, z);
793
+ o->via.array.ptr[10] = msgpack::object(a10, z);
794
+ o->via.array.ptr[11] = msgpack::object(a11, z);
795
+ }
796
+
797
+ A0& a0;
798
+ A1& a1;
799
+ A2& a2;
800
+ A3& a3;
801
+ A4& a4;
802
+ A5& a5;
803
+ A6& a6;
804
+ A7& a7;
805
+ A8& a8;
806
+ A9& a9;
807
+ A10& a10;
808
+ A11& a11;
809
+ };
810
+
811
+ 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>
812
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> {
813
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> value_type;
814
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> tuple_type;
815
+ define(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) :
816
+ 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) {}
817
+ template <typename Packer>
818
+ void msgpack_pack(Packer& pk) const
819
+ {
820
+ pk.pack_array(13);
821
+
822
+ pk.pack(a0);
823
+ pk.pack(a1);
824
+ pk.pack(a2);
825
+ pk.pack(a3);
826
+ pk.pack(a4);
827
+ pk.pack(a5);
828
+ pk.pack(a6);
829
+ pk.pack(a7);
830
+ pk.pack(a8);
831
+ pk.pack(a9);
832
+ pk.pack(a10);
833
+ pk.pack(a11);
834
+ pk.pack(a12);
835
+ }
836
+ void msgpack_unpack(msgpack::object const& o)
837
+ {
838
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
839
+ const size_t size = o.via.array.size;
840
+ if(size > 0) {
841
+ msgpack::object *ptr = o.via.array.ptr;
842
+ switch(size) {
843
+ default:
844
+ case 13: ptr[12].convert(a12);
845
+ case 12: ptr[11].convert(a11);
846
+ case 11: ptr[10].convert(a10);
847
+ case 10: ptr[9].convert(a9);
848
+ case 9: ptr[8].convert(a8);
849
+ case 8: ptr[7].convert(a7);
850
+ case 7: ptr[6].convert(a6);
851
+ case 6: ptr[5].convert(a5);
852
+ case 5: ptr[4].convert(a4);
853
+ case 4: ptr[3].convert(a3);
854
+ case 3: ptr[2].convert(a2);
855
+ case 2: ptr[1].convert(a1);
856
+ case 1: ptr[0].convert(a0);
857
+ }
858
+ }
859
+ }
860
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
861
+ {
862
+ o->type = msgpack::type::ARRAY;
863
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*13));
864
+ o->via.array.size = 13;
865
+
866
+ o->via.array.ptr[0] = msgpack::object(a0, z);
867
+ o->via.array.ptr[1] = msgpack::object(a1, z);
868
+ o->via.array.ptr[2] = msgpack::object(a2, z);
869
+ o->via.array.ptr[3] = msgpack::object(a3, z);
870
+ o->via.array.ptr[4] = msgpack::object(a4, z);
871
+ o->via.array.ptr[5] = msgpack::object(a5, z);
872
+ o->via.array.ptr[6] = msgpack::object(a6, z);
873
+ o->via.array.ptr[7] = msgpack::object(a7, z);
874
+ o->via.array.ptr[8] = msgpack::object(a8, z);
875
+ o->via.array.ptr[9] = msgpack::object(a9, z);
876
+ o->via.array.ptr[10] = msgpack::object(a10, z);
877
+ o->via.array.ptr[11] = msgpack::object(a11, z);
878
+ o->via.array.ptr[12] = msgpack::object(a12, z);
879
+ }
880
+
881
+ A0& a0;
882
+ A1& a1;
883
+ A2& a2;
884
+ A3& a3;
885
+ A4& a4;
886
+ A5& a5;
887
+ A6& a6;
888
+ A7& a7;
889
+ A8& a8;
890
+ A9& a9;
891
+ A10& a10;
892
+ A11& a11;
893
+ A12& a12;
894
+ };
895
+
896
+ 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>
897
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> {
898
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> value_type;
899
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> tuple_type;
900
+ define(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) :
901
+ 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) {}
902
+ template <typename Packer>
903
+ void msgpack_pack(Packer& pk) const
904
+ {
905
+ pk.pack_array(14);
906
+
907
+ pk.pack(a0);
908
+ pk.pack(a1);
909
+ pk.pack(a2);
910
+ pk.pack(a3);
911
+ pk.pack(a4);
912
+ pk.pack(a5);
913
+ pk.pack(a6);
914
+ pk.pack(a7);
915
+ pk.pack(a8);
916
+ pk.pack(a9);
917
+ pk.pack(a10);
918
+ pk.pack(a11);
919
+ pk.pack(a12);
920
+ pk.pack(a13);
921
+ }
922
+ void msgpack_unpack(msgpack::object const& o)
923
+ {
924
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
925
+ const size_t size = o.via.array.size;
926
+ if(size > 0) {
927
+ msgpack::object *ptr = o.via.array.ptr;
928
+ switch(size) {
929
+ default:
930
+ case 14: ptr[13].convert(a13);
931
+ case 13: ptr[12].convert(a12);
932
+ case 12: ptr[11].convert(a11);
933
+ case 11: ptr[10].convert(a10);
934
+ case 10: ptr[9].convert(a9);
935
+ case 9: ptr[8].convert(a8);
936
+ case 8: ptr[7].convert(a7);
937
+ case 7: ptr[6].convert(a6);
938
+ case 6: ptr[5].convert(a5);
939
+ case 5: ptr[4].convert(a4);
940
+ case 4: ptr[3].convert(a3);
941
+ case 3: ptr[2].convert(a2);
942
+ case 2: ptr[1].convert(a1);
943
+ case 1: ptr[0].convert(a0);
944
+ }
945
+ }
946
+ }
947
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
948
+ {
949
+ o->type = msgpack::type::ARRAY;
950
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*14));
951
+ o->via.array.size = 14;
952
+
953
+ o->via.array.ptr[0] = msgpack::object(a0, z);
954
+ o->via.array.ptr[1] = msgpack::object(a1, z);
955
+ o->via.array.ptr[2] = msgpack::object(a2, z);
956
+ o->via.array.ptr[3] = msgpack::object(a3, z);
957
+ o->via.array.ptr[4] = msgpack::object(a4, z);
958
+ o->via.array.ptr[5] = msgpack::object(a5, z);
959
+ o->via.array.ptr[6] = msgpack::object(a6, z);
960
+ o->via.array.ptr[7] = msgpack::object(a7, z);
961
+ o->via.array.ptr[8] = msgpack::object(a8, z);
962
+ o->via.array.ptr[9] = msgpack::object(a9, z);
963
+ o->via.array.ptr[10] = msgpack::object(a10, z);
964
+ o->via.array.ptr[11] = msgpack::object(a11, z);
965
+ o->via.array.ptr[12] = msgpack::object(a12, z);
966
+ o->via.array.ptr[13] = msgpack::object(a13, z);
967
+ }
968
+
969
+ A0& a0;
970
+ A1& a1;
971
+ A2& a2;
972
+ A3& a3;
973
+ A4& a4;
974
+ A5& a5;
975
+ A6& a6;
976
+ A7& a7;
977
+ A8& a8;
978
+ A9& a9;
979
+ A10& a10;
980
+ A11& a11;
981
+ A12& a12;
982
+ A13& a13;
983
+ };
984
+
985
+ 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>
986
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> {
987
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> value_type;
988
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> tuple_type;
989
+ define(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) :
990
+ 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) {}
991
+ template <typename Packer>
992
+ void msgpack_pack(Packer& pk) const
993
+ {
994
+ pk.pack_array(15);
995
+
996
+ pk.pack(a0);
997
+ pk.pack(a1);
998
+ pk.pack(a2);
999
+ pk.pack(a3);
1000
+ pk.pack(a4);
1001
+ pk.pack(a5);
1002
+ pk.pack(a6);
1003
+ pk.pack(a7);
1004
+ pk.pack(a8);
1005
+ pk.pack(a9);
1006
+ pk.pack(a10);
1007
+ pk.pack(a11);
1008
+ pk.pack(a12);
1009
+ pk.pack(a13);
1010
+ pk.pack(a14);
1011
+ }
1012
+ void msgpack_unpack(msgpack::object const& o)
1013
+ {
1014
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1015
+ const size_t size = o.via.array.size;
1016
+ if(size > 0) {
1017
+ msgpack::object *ptr = o.via.array.ptr;
1018
+ switch(size) {
1019
+ default:
1020
+ case 15: ptr[14].convert(a14);
1021
+ case 14: ptr[13].convert(a13);
1022
+ case 13: ptr[12].convert(a12);
1023
+ case 12: ptr[11].convert(a11);
1024
+ case 11: ptr[10].convert(a10);
1025
+ case 10: ptr[9].convert(a9);
1026
+ case 9: ptr[8].convert(a8);
1027
+ case 8: ptr[7].convert(a7);
1028
+ case 7: ptr[6].convert(a6);
1029
+ case 6: ptr[5].convert(a5);
1030
+ case 5: ptr[4].convert(a4);
1031
+ case 4: ptr[3].convert(a3);
1032
+ case 3: ptr[2].convert(a2);
1033
+ case 2: ptr[1].convert(a1);
1034
+ case 1: ptr[0].convert(a0);
1035
+ }
1036
+ }
1037
+ }
1038
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1039
+ {
1040
+ o->type = msgpack::type::ARRAY;
1041
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*15));
1042
+ o->via.array.size = 15;
1043
+
1044
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1045
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1046
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1047
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1048
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1049
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1050
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1051
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1052
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1053
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1054
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1055
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1056
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1057
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1058
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1059
+ }
1060
+
1061
+ A0& a0;
1062
+ A1& a1;
1063
+ A2& a2;
1064
+ A3& a3;
1065
+ A4& a4;
1066
+ A5& a5;
1067
+ A6& a6;
1068
+ A7& a7;
1069
+ A8& a8;
1070
+ A9& a9;
1071
+ A10& a10;
1072
+ A11& a11;
1073
+ A12& a12;
1074
+ A13& a13;
1075
+ A14& a14;
1076
+ };
1077
+
1078
+ 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>
1079
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> {
1080
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> value_type;
1081
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> tuple_type;
1082
+ define(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) :
1083
+ 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) {}
1084
+ template <typename Packer>
1085
+ void msgpack_pack(Packer& pk) const
1086
+ {
1087
+ pk.pack_array(16);
1088
+
1089
+ pk.pack(a0);
1090
+ pk.pack(a1);
1091
+ pk.pack(a2);
1092
+ pk.pack(a3);
1093
+ pk.pack(a4);
1094
+ pk.pack(a5);
1095
+ pk.pack(a6);
1096
+ pk.pack(a7);
1097
+ pk.pack(a8);
1098
+ pk.pack(a9);
1099
+ pk.pack(a10);
1100
+ pk.pack(a11);
1101
+ pk.pack(a12);
1102
+ pk.pack(a13);
1103
+ pk.pack(a14);
1104
+ pk.pack(a15);
1105
+ }
1106
+ void msgpack_unpack(msgpack::object const& o)
1107
+ {
1108
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1109
+ const size_t size = o.via.array.size;
1110
+ if(size > 0) {
1111
+ msgpack::object *ptr = o.via.array.ptr;
1112
+ switch(size) {
1113
+ default:
1114
+ case 16: ptr[15].convert(a15);
1115
+ case 15: ptr[14].convert(a14);
1116
+ case 14: ptr[13].convert(a13);
1117
+ case 13: ptr[12].convert(a12);
1118
+ case 12: ptr[11].convert(a11);
1119
+ case 11: ptr[10].convert(a10);
1120
+ case 10: ptr[9].convert(a9);
1121
+ case 9: ptr[8].convert(a8);
1122
+ case 8: ptr[7].convert(a7);
1123
+ case 7: ptr[6].convert(a6);
1124
+ case 6: ptr[5].convert(a5);
1125
+ case 5: ptr[4].convert(a4);
1126
+ case 4: ptr[3].convert(a3);
1127
+ case 3: ptr[2].convert(a2);
1128
+ case 2: ptr[1].convert(a1);
1129
+ case 1: ptr[0].convert(a0);
1130
+ }
1131
+ }
1132
+ }
1133
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1134
+ {
1135
+ o->type = msgpack::type::ARRAY;
1136
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*16));
1137
+ o->via.array.size = 16;
1138
+
1139
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1140
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1141
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1142
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1143
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1144
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1145
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1146
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1147
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1148
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1149
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1150
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1151
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1152
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1153
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1154
+ o->via.array.ptr[15] = msgpack::object(a15, z);
1155
+ }
1156
+
1157
+ A0& a0;
1158
+ A1& a1;
1159
+ A2& a2;
1160
+ A3& a3;
1161
+ A4& a4;
1162
+ A5& a5;
1163
+ A6& a6;
1164
+ A7& a7;
1165
+ A8& a8;
1166
+ A9& a9;
1167
+ A10& a10;
1168
+ A11& a11;
1169
+ A12& a12;
1170
+ A13& a13;
1171
+ A14& a14;
1172
+ A15& a15;
1173
+ };
1174
+
1175
+ 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>
1176
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> {
1177
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> value_type;
1178
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> tuple_type;
1179
+ define(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) :
1180
+ 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) {}
1181
+ template <typename Packer>
1182
+ void msgpack_pack(Packer& pk) const
1183
+ {
1184
+ pk.pack_array(17);
1185
+
1186
+ pk.pack(a0);
1187
+ pk.pack(a1);
1188
+ pk.pack(a2);
1189
+ pk.pack(a3);
1190
+ pk.pack(a4);
1191
+ pk.pack(a5);
1192
+ pk.pack(a6);
1193
+ pk.pack(a7);
1194
+ pk.pack(a8);
1195
+ pk.pack(a9);
1196
+ pk.pack(a10);
1197
+ pk.pack(a11);
1198
+ pk.pack(a12);
1199
+ pk.pack(a13);
1200
+ pk.pack(a14);
1201
+ pk.pack(a15);
1202
+ pk.pack(a16);
1203
+ }
1204
+ void msgpack_unpack(msgpack::object const& o)
1205
+ {
1206
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1207
+ const size_t size = o.via.array.size;
1208
+ if(size > 0) {
1209
+ msgpack::object *ptr = o.via.array.ptr;
1210
+ switch(size) {
1211
+ default:
1212
+ case 17: ptr[16].convert(a16);
1213
+ case 16: ptr[15].convert(a15);
1214
+ case 15: ptr[14].convert(a14);
1215
+ case 14: ptr[13].convert(a13);
1216
+ case 13: ptr[12].convert(a12);
1217
+ case 12: ptr[11].convert(a11);
1218
+ case 11: ptr[10].convert(a10);
1219
+ case 10: ptr[9].convert(a9);
1220
+ case 9: ptr[8].convert(a8);
1221
+ case 8: ptr[7].convert(a7);
1222
+ case 7: ptr[6].convert(a6);
1223
+ case 6: ptr[5].convert(a5);
1224
+ case 5: ptr[4].convert(a4);
1225
+ case 4: ptr[3].convert(a3);
1226
+ case 3: ptr[2].convert(a2);
1227
+ case 2: ptr[1].convert(a1);
1228
+ case 1: ptr[0].convert(a0);
1229
+ }
1230
+ }
1231
+ }
1232
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1233
+ {
1234
+ o->type = msgpack::type::ARRAY;
1235
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*17));
1236
+ o->via.array.size = 17;
1237
+
1238
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1239
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1240
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1241
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1242
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1243
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1244
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1245
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1246
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1247
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1248
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1249
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1250
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1251
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1252
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1253
+ o->via.array.ptr[15] = msgpack::object(a15, z);
1254
+ o->via.array.ptr[16] = msgpack::object(a16, z);
1255
+ }
1256
+
1257
+ A0& a0;
1258
+ A1& a1;
1259
+ A2& a2;
1260
+ A3& a3;
1261
+ A4& a4;
1262
+ A5& a5;
1263
+ A6& a6;
1264
+ A7& a7;
1265
+ A8& a8;
1266
+ A9& a9;
1267
+ A10& a10;
1268
+ A11& a11;
1269
+ A12& a12;
1270
+ A13& a13;
1271
+ A14& a14;
1272
+ A15& a15;
1273
+ A16& a16;
1274
+ };
1275
+
1276
+ 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>
1277
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> {
1278
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> value_type;
1279
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> tuple_type;
1280
+ define(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) :
1281
+ 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) {}
1282
+ template <typename Packer>
1283
+ void msgpack_pack(Packer& pk) const
1284
+ {
1285
+ pk.pack_array(18);
1286
+
1287
+ pk.pack(a0);
1288
+ pk.pack(a1);
1289
+ pk.pack(a2);
1290
+ pk.pack(a3);
1291
+ pk.pack(a4);
1292
+ pk.pack(a5);
1293
+ pk.pack(a6);
1294
+ pk.pack(a7);
1295
+ pk.pack(a8);
1296
+ pk.pack(a9);
1297
+ pk.pack(a10);
1298
+ pk.pack(a11);
1299
+ pk.pack(a12);
1300
+ pk.pack(a13);
1301
+ pk.pack(a14);
1302
+ pk.pack(a15);
1303
+ pk.pack(a16);
1304
+ pk.pack(a17);
1305
+ }
1306
+ void msgpack_unpack(msgpack::object const& o)
1307
+ {
1308
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1309
+ const size_t size = o.via.array.size;
1310
+ if(size > 0) {
1311
+ msgpack::object *ptr = o.via.array.ptr;
1312
+ switch(size) {
1313
+ default:
1314
+ case 18: ptr[17].convert(a17);
1315
+ case 17: ptr[16].convert(a16);
1316
+ case 16: ptr[15].convert(a15);
1317
+ case 15: ptr[14].convert(a14);
1318
+ case 14: ptr[13].convert(a13);
1319
+ case 13: ptr[12].convert(a12);
1320
+ case 12: ptr[11].convert(a11);
1321
+ case 11: ptr[10].convert(a10);
1322
+ case 10: ptr[9].convert(a9);
1323
+ case 9: ptr[8].convert(a8);
1324
+ case 8: ptr[7].convert(a7);
1325
+ case 7: ptr[6].convert(a6);
1326
+ case 6: ptr[5].convert(a5);
1327
+ case 5: ptr[4].convert(a4);
1328
+ case 4: ptr[3].convert(a3);
1329
+ case 3: ptr[2].convert(a2);
1330
+ case 2: ptr[1].convert(a1);
1331
+ case 1: ptr[0].convert(a0);
1332
+ }
1333
+ }
1334
+ }
1335
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1336
+ {
1337
+ o->type = msgpack::type::ARRAY;
1338
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*18));
1339
+ o->via.array.size = 18;
1340
+
1341
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1342
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1343
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1344
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1345
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1346
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1347
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1348
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1349
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1350
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1351
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1352
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1353
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1354
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1355
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1356
+ o->via.array.ptr[15] = msgpack::object(a15, z);
1357
+ o->via.array.ptr[16] = msgpack::object(a16, z);
1358
+ o->via.array.ptr[17] = msgpack::object(a17, z);
1359
+ }
1360
+
1361
+ A0& a0;
1362
+ A1& a1;
1363
+ A2& a2;
1364
+ A3& a3;
1365
+ A4& a4;
1366
+ A5& a5;
1367
+ A6& a6;
1368
+ A7& a7;
1369
+ A8& a8;
1370
+ A9& a9;
1371
+ A10& a10;
1372
+ A11& a11;
1373
+ A12& a12;
1374
+ A13& a13;
1375
+ A14& a14;
1376
+ A15& a15;
1377
+ A16& a16;
1378
+ A17& a17;
1379
+ };
1380
+
1381
+ 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>
1382
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> {
1383
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> value_type;
1384
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> tuple_type;
1385
+ define(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) :
1386
+ 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) {}
1387
+ template <typename Packer>
1388
+ void msgpack_pack(Packer& pk) const
1389
+ {
1390
+ pk.pack_array(19);
1391
+
1392
+ pk.pack(a0);
1393
+ pk.pack(a1);
1394
+ pk.pack(a2);
1395
+ pk.pack(a3);
1396
+ pk.pack(a4);
1397
+ pk.pack(a5);
1398
+ pk.pack(a6);
1399
+ pk.pack(a7);
1400
+ pk.pack(a8);
1401
+ pk.pack(a9);
1402
+ pk.pack(a10);
1403
+ pk.pack(a11);
1404
+ pk.pack(a12);
1405
+ pk.pack(a13);
1406
+ pk.pack(a14);
1407
+ pk.pack(a15);
1408
+ pk.pack(a16);
1409
+ pk.pack(a17);
1410
+ pk.pack(a18);
1411
+ }
1412
+ void msgpack_unpack(msgpack::object const& o)
1413
+ {
1414
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1415
+ const size_t size = o.via.array.size;
1416
+ if(size > 0) {
1417
+ msgpack::object *ptr = o.via.array.ptr;
1418
+ switch(size) {
1419
+ default:
1420
+ case 19: ptr[18].convert(a18);
1421
+ case 18: ptr[17].convert(a17);
1422
+ case 17: ptr[16].convert(a16);
1423
+ case 16: ptr[15].convert(a15);
1424
+ case 15: ptr[14].convert(a14);
1425
+ case 14: ptr[13].convert(a13);
1426
+ case 13: ptr[12].convert(a12);
1427
+ case 12: ptr[11].convert(a11);
1428
+ case 11: ptr[10].convert(a10);
1429
+ case 10: ptr[9].convert(a9);
1430
+ case 9: ptr[8].convert(a8);
1431
+ case 8: ptr[7].convert(a7);
1432
+ case 7: ptr[6].convert(a6);
1433
+ case 6: ptr[5].convert(a5);
1434
+ case 5: ptr[4].convert(a4);
1435
+ case 4: ptr[3].convert(a3);
1436
+ case 3: ptr[2].convert(a2);
1437
+ case 2: ptr[1].convert(a1);
1438
+ case 1: ptr[0].convert(a0);
1439
+ }
1440
+ }
1441
+ }
1442
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1443
+ {
1444
+ o->type = msgpack::type::ARRAY;
1445
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*19));
1446
+ o->via.array.size = 19;
1447
+
1448
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1449
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1450
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1451
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1452
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1453
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1454
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1455
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1456
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1457
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1458
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1459
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1460
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1461
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1462
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1463
+ o->via.array.ptr[15] = msgpack::object(a15, z);
1464
+ o->via.array.ptr[16] = msgpack::object(a16, z);
1465
+ o->via.array.ptr[17] = msgpack::object(a17, z);
1466
+ o->via.array.ptr[18] = msgpack::object(a18, z);
1467
+ }
1468
+
1469
+ A0& a0;
1470
+ A1& a1;
1471
+ A2& a2;
1472
+ A3& a3;
1473
+ A4& a4;
1474
+ A5& a5;
1475
+ A6& a6;
1476
+ A7& a7;
1477
+ A8& a8;
1478
+ A9& a9;
1479
+ A10& a10;
1480
+ A11& a11;
1481
+ A12& a12;
1482
+ A13& a13;
1483
+ A14& a14;
1484
+ A15& a15;
1485
+ A16& a16;
1486
+ A17& a17;
1487
+ A18& a18;
1488
+ };
1489
+
1490
+ 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>
1491
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> {
1492
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> value_type;
1493
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> tuple_type;
1494
+ define(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) :
1495
+ 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) {}
1496
+ template <typename Packer>
1497
+ void msgpack_pack(Packer& pk) const
1498
+ {
1499
+ pk.pack_array(20);
1500
+
1501
+ pk.pack(a0);
1502
+ pk.pack(a1);
1503
+ pk.pack(a2);
1504
+ pk.pack(a3);
1505
+ pk.pack(a4);
1506
+ pk.pack(a5);
1507
+ pk.pack(a6);
1508
+ pk.pack(a7);
1509
+ pk.pack(a8);
1510
+ pk.pack(a9);
1511
+ pk.pack(a10);
1512
+ pk.pack(a11);
1513
+ pk.pack(a12);
1514
+ pk.pack(a13);
1515
+ pk.pack(a14);
1516
+ pk.pack(a15);
1517
+ pk.pack(a16);
1518
+ pk.pack(a17);
1519
+ pk.pack(a18);
1520
+ pk.pack(a19);
1521
+ }
1522
+ void msgpack_unpack(msgpack::object const& o)
1523
+ {
1524
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1525
+ const size_t size = o.via.array.size;
1526
+ if(size > 0) {
1527
+ msgpack::object *ptr = o.via.array.ptr;
1528
+ switch(size) {
1529
+ default:
1530
+ case 20: ptr[19].convert(a19);
1531
+ case 19: ptr[18].convert(a18);
1532
+ case 18: ptr[17].convert(a17);
1533
+ case 17: ptr[16].convert(a16);
1534
+ case 16: ptr[15].convert(a15);
1535
+ case 15: ptr[14].convert(a14);
1536
+ case 14: ptr[13].convert(a13);
1537
+ case 13: ptr[12].convert(a12);
1538
+ case 12: ptr[11].convert(a11);
1539
+ case 11: ptr[10].convert(a10);
1540
+ case 10: ptr[9].convert(a9);
1541
+ case 9: ptr[8].convert(a8);
1542
+ case 8: ptr[7].convert(a7);
1543
+ case 7: ptr[6].convert(a6);
1544
+ case 6: ptr[5].convert(a5);
1545
+ case 5: ptr[4].convert(a4);
1546
+ case 4: ptr[3].convert(a3);
1547
+ case 3: ptr[2].convert(a2);
1548
+ case 2: ptr[1].convert(a1);
1549
+ case 1: ptr[0].convert(a0);
1550
+ }
1551
+ }
1552
+ }
1553
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1554
+ {
1555
+ o->type = msgpack::type::ARRAY;
1556
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*20));
1557
+ o->via.array.size = 20;
1558
+
1559
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1560
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1561
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1562
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1563
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1564
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1565
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1566
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1567
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1568
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1569
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1570
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1571
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1572
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1573
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1574
+ o->via.array.ptr[15] = msgpack::object(a15, z);
1575
+ o->via.array.ptr[16] = msgpack::object(a16, z);
1576
+ o->via.array.ptr[17] = msgpack::object(a17, z);
1577
+ o->via.array.ptr[18] = msgpack::object(a18, z);
1578
+ o->via.array.ptr[19] = msgpack::object(a19, z);
1579
+ }
1580
+
1581
+ A0& a0;
1582
+ A1& a1;
1583
+ A2& a2;
1584
+ A3& a3;
1585
+ A4& a4;
1586
+ A5& a5;
1587
+ A6& a6;
1588
+ A7& a7;
1589
+ A8& a8;
1590
+ A9& a9;
1591
+ A10& a10;
1592
+ A11& a11;
1593
+ A12& a12;
1594
+ A13& a13;
1595
+ A14& a14;
1596
+ A15& a15;
1597
+ A16& a16;
1598
+ A17& a17;
1599
+ A18& a18;
1600
+ A19& a19;
1601
+ };
1602
+
1603
+ 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>
1604
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> {
1605
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> value_type;
1606
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> tuple_type;
1607
+ define(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) :
1608
+ 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) {}
1609
+ template <typename Packer>
1610
+ void msgpack_pack(Packer& pk) const
1611
+ {
1612
+ pk.pack_array(21);
1613
+
1614
+ pk.pack(a0);
1615
+ pk.pack(a1);
1616
+ pk.pack(a2);
1617
+ pk.pack(a3);
1618
+ pk.pack(a4);
1619
+ pk.pack(a5);
1620
+ pk.pack(a6);
1621
+ pk.pack(a7);
1622
+ pk.pack(a8);
1623
+ pk.pack(a9);
1624
+ pk.pack(a10);
1625
+ pk.pack(a11);
1626
+ pk.pack(a12);
1627
+ pk.pack(a13);
1628
+ pk.pack(a14);
1629
+ pk.pack(a15);
1630
+ pk.pack(a16);
1631
+ pk.pack(a17);
1632
+ pk.pack(a18);
1633
+ pk.pack(a19);
1634
+ pk.pack(a20);
1635
+ }
1636
+ void msgpack_unpack(msgpack::object const& o)
1637
+ {
1638
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1639
+ const size_t size = o.via.array.size;
1640
+ if(size > 0) {
1641
+ msgpack::object *ptr = o.via.array.ptr;
1642
+ switch(size) {
1643
+ default:
1644
+ case 21: ptr[20].convert(a20);
1645
+ case 20: ptr[19].convert(a19);
1646
+ case 19: ptr[18].convert(a18);
1647
+ case 18: ptr[17].convert(a17);
1648
+ case 17: ptr[16].convert(a16);
1649
+ case 16: ptr[15].convert(a15);
1650
+ case 15: ptr[14].convert(a14);
1651
+ case 14: ptr[13].convert(a13);
1652
+ case 13: ptr[12].convert(a12);
1653
+ case 12: ptr[11].convert(a11);
1654
+ case 11: ptr[10].convert(a10);
1655
+ case 10: ptr[9].convert(a9);
1656
+ case 9: ptr[8].convert(a8);
1657
+ case 8: ptr[7].convert(a7);
1658
+ case 7: ptr[6].convert(a6);
1659
+ case 6: ptr[5].convert(a5);
1660
+ case 5: ptr[4].convert(a4);
1661
+ case 4: ptr[3].convert(a3);
1662
+ case 3: ptr[2].convert(a2);
1663
+ case 2: ptr[1].convert(a1);
1664
+ case 1: ptr[0].convert(a0);
1665
+ }
1666
+ }
1667
+ }
1668
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1669
+ {
1670
+ o->type = msgpack::type::ARRAY;
1671
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*21));
1672
+ o->via.array.size = 21;
1673
+
1674
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1675
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1676
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1677
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1678
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1679
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1680
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1681
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1682
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1683
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1684
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1685
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1686
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1687
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1688
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1689
+ o->via.array.ptr[15] = msgpack::object(a15, z);
1690
+ o->via.array.ptr[16] = msgpack::object(a16, z);
1691
+ o->via.array.ptr[17] = msgpack::object(a17, z);
1692
+ o->via.array.ptr[18] = msgpack::object(a18, z);
1693
+ o->via.array.ptr[19] = msgpack::object(a19, z);
1694
+ o->via.array.ptr[20] = msgpack::object(a20, z);
1695
+ }
1696
+
1697
+ A0& a0;
1698
+ A1& a1;
1699
+ A2& a2;
1700
+ A3& a3;
1701
+ A4& a4;
1702
+ A5& a5;
1703
+ A6& a6;
1704
+ A7& a7;
1705
+ A8& a8;
1706
+ A9& a9;
1707
+ A10& a10;
1708
+ A11& a11;
1709
+ A12& a12;
1710
+ A13& a13;
1711
+ A14& a14;
1712
+ A15& a15;
1713
+ A16& a16;
1714
+ A17& a17;
1715
+ A18& a18;
1716
+ A19& a19;
1717
+ A20& a20;
1718
+ };
1719
+
1720
+ 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>
1721
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21> {
1722
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21> value_type;
1723
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21> tuple_type;
1724
+ define(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) :
1725
+ 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) {}
1726
+ template <typename Packer>
1727
+ void msgpack_pack(Packer& pk) const
1728
+ {
1729
+ pk.pack_array(22);
1730
+
1731
+ pk.pack(a0);
1732
+ pk.pack(a1);
1733
+ pk.pack(a2);
1734
+ pk.pack(a3);
1735
+ pk.pack(a4);
1736
+ pk.pack(a5);
1737
+ pk.pack(a6);
1738
+ pk.pack(a7);
1739
+ pk.pack(a8);
1740
+ pk.pack(a9);
1741
+ pk.pack(a10);
1742
+ pk.pack(a11);
1743
+ pk.pack(a12);
1744
+ pk.pack(a13);
1745
+ pk.pack(a14);
1746
+ pk.pack(a15);
1747
+ pk.pack(a16);
1748
+ pk.pack(a17);
1749
+ pk.pack(a18);
1750
+ pk.pack(a19);
1751
+ pk.pack(a20);
1752
+ pk.pack(a21);
1753
+ }
1754
+ void msgpack_unpack(msgpack::object const& o)
1755
+ {
1756
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1757
+ const size_t size = o.via.array.size;
1758
+ if(size > 0) {
1759
+ msgpack::object *ptr = o.via.array.ptr;
1760
+ switch(size) {
1761
+ default:
1762
+ case 22: ptr[21].convert(a21);
1763
+ case 21: ptr[20].convert(a20);
1764
+ case 20: ptr[19].convert(a19);
1765
+ case 19: ptr[18].convert(a18);
1766
+ case 18: ptr[17].convert(a17);
1767
+ case 17: ptr[16].convert(a16);
1768
+ case 16: ptr[15].convert(a15);
1769
+ case 15: ptr[14].convert(a14);
1770
+ case 14: ptr[13].convert(a13);
1771
+ case 13: ptr[12].convert(a12);
1772
+ case 12: ptr[11].convert(a11);
1773
+ case 11: ptr[10].convert(a10);
1774
+ case 10: ptr[9].convert(a9);
1775
+ case 9: ptr[8].convert(a8);
1776
+ case 8: ptr[7].convert(a7);
1777
+ case 7: ptr[6].convert(a6);
1778
+ case 6: ptr[5].convert(a5);
1779
+ case 5: ptr[4].convert(a4);
1780
+ case 4: ptr[3].convert(a3);
1781
+ case 3: ptr[2].convert(a2);
1782
+ case 2: ptr[1].convert(a1);
1783
+ case 1: ptr[0].convert(a0);
1784
+ }
1785
+ }
1786
+ }
1787
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1788
+ {
1789
+ o->type = msgpack::type::ARRAY;
1790
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*22));
1791
+ o->via.array.size = 22;
1792
+
1793
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1794
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1795
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1796
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1797
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1798
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1799
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1800
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1801
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1802
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1803
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1804
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1805
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1806
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1807
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1808
+ o->via.array.ptr[15] = msgpack::object(a15, z);
1809
+ o->via.array.ptr[16] = msgpack::object(a16, z);
1810
+ o->via.array.ptr[17] = msgpack::object(a17, z);
1811
+ o->via.array.ptr[18] = msgpack::object(a18, z);
1812
+ o->via.array.ptr[19] = msgpack::object(a19, z);
1813
+ o->via.array.ptr[20] = msgpack::object(a20, z);
1814
+ o->via.array.ptr[21] = msgpack::object(a21, z);
1815
+ }
1816
+
1817
+ A0& a0;
1818
+ A1& a1;
1819
+ A2& a2;
1820
+ A3& a3;
1821
+ A4& a4;
1822
+ A5& a5;
1823
+ A6& a6;
1824
+ A7& a7;
1825
+ A8& a8;
1826
+ A9& a9;
1827
+ A10& a10;
1828
+ A11& a11;
1829
+ A12& a12;
1830
+ A13& a13;
1831
+ A14& a14;
1832
+ A15& a15;
1833
+ A16& a16;
1834
+ A17& a17;
1835
+ A18& a18;
1836
+ A19& a19;
1837
+ A20& a20;
1838
+ A21& a21;
1839
+ };
1840
+
1841
+ 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>
1842
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22> {
1843
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22> value_type;
1844
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22> tuple_type;
1845
+ define(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) :
1846
+ 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) {}
1847
+ template <typename Packer>
1848
+ void msgpack_pack(Packer& pk) const
1849
+ {
1850
+ pk.pack_array(23);
1851
+
1852
+ pk.pack(a0);
1853
+ pk.pack(a1);
1854
+ pk.pack(a2);
1855
+ pk.pack(a3);
1856
+ pk.pack(a4);
1857
+ pk.pack(a5);
1858
+ pk.pack(a6);
1859
+ pk.pack(a7);
1860
+ pk.pack(a8);
1861
+ pk.pack(a9);
1862
+ pk.pack(a10);
1863
+ pk.pack(a11);
1864
+ pk.pack(a12);
1865
+ pk.pack(a13);
1866
+ pk.pack(a14);
1867
+ pk.pack(a15);
1868
+ pk.pack(a16);
1869
+ pk.pack(a17);
1870
+ pk.pack(a18);
1871
+ pk.pack(a19);
1872
+ pk.pack(a20);
1873
+ pk.pack(a21);
1874
+ pk.pack(a22);
1875
+ }
1876
+ void msgpack_unpack(msgpack::object const& o)
1877
+ {
1878
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
1879
+ const size_t size = o.via.array.size;
1880
+ if(size > 0) {
1881
+ msgpack::object *ptr = o.via.array.ptr;
1882
+ switch(size) {
1883
+ default:
1884
+ case 23: ptr[22].convert(a22);
1885
+ case 22: ptr[21].convert(a21);
1886
+ case 21: ptr[20].convert(a20);
1887
+ case 20: ptr[19].convert(a19);
1888
+ case 19: ptr[18].convert(a18);
1889
+ case 18: ptr[17].convert(a17);
1890
+ case 17: ptr[16].convert(a16);
1891
+ case 16: ptr[15].convert(a15);
1892
+ case 15: ptr[14].convert(a14);
1893
+ case 14: ptr[13].convert(a13);
1894
+ case 13: ptr[12].convert(a12);
1895
+ case 12: ptr[11].convert(a11);
1896
+ case 11: ptr[10].convert(a10);
1897
+ case 10: ptr[9].convert(a9);
1898
+ case 9: ptr[8].convert(a8);
1899
+ case 8: ptr[7].convert(a7);
1900
+ case 7: ptr[6].convert(a6);
1901
+ case 6: ptr[5].convert(a5);
1902
+ case 5: ptr[4].convert(a4);
1903
+ case 4: ptr[3].convert(a3);
1904
+ case 3: ptr[2].convert(a2);
1905
+ case 2: ptr[1].convert(a1);
1906
+ case 1: ptr[0].convert(a0);
1907
+ }
1908
+ }
1909
+ }
1910
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
1911
+ {
1912
+ o->type = msgpack::type::ARRAY;
1913
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*23));
1914
+ o->via.array.size = 23;
1915
+
1916
+ o->via.array.ptr[0] = msgpack::object(a0, z);
1917
+ o->via.array.ptr[1] = msgpack::object(a1, z);
1918
+ o->via.array.ptr[2] = msgpack::object(a2, z);
1919
+ o->via.array.ptr[3] = msgpack::object(a3, z);
1920
+ o->via.array.ptr[4] = msgpack::object(a4, z);
1921
+ o->via.array.ptr[5] = msgpack::object(a5, z);
1922
+ o->via.array.ptr[6] = msgpack::object(a6, z);
1923
+ o->via.array.ptr[7] = msgpack::object(a7, z);
1924
+ o->via.array.ptr[8] = msgpack::object(a8, z);
1925
+ o->via.array.ptr[9] = msgpack::object(a9, z);
1926
+ o->via.array.ptr[10] = msgpack::object(a10, z);
1927
+ o->via.array.ptr[11] = msgpack::object(a11, z);
1928
+ o->via.array.ptr[12] = msgpack::object(a12, z);
1929
+ o->via.array.ptr[13] = msgpack::object(a13, z);
1930
+ o->via.array.ptr[14] = msgpack::object(a14, z);
1931
+ o->via.array.ptr[15] = msgpack::object(a15, z);
1932
+ o->via.array.ptr[16] = msgpack::object(a16, z);
1933
+ o->via.array.ptr[17] = msgpack::object(a17, z);
1934
+ o->via.array.ptr[18] = msgpack::object(a18, z);
1935
+ o->via.array.ptr[19] = msgpack::object(a19, z);
1936
+ o->via.array.ptr[20] = msgpack::object(a20, z);
1937
+ o->via.array.ptr[21] = msgpack::object(a21, z);
1938
+ o->via.array.ptr[22] = msgpack::object(a22, z);
1939
+ }
1940
+
1941
+ A0& a0;
1942
+ A1& a1;
1943
+ A2& a2;
1944
+ A3& a3;
1945
+ A4& a4;
1946
+ A5& a5;
1947
+ A6& a6;
1948
+ A7& a7;
1949
+ A8& a8;
1950
+ A9& a9;
1951
+ A10& a10;
1952
+ A11& a11;
1953
+ A12& a12;
1954
+ A13& a13;
1955
+ A14& a14;
1956
+ A15& a15;
1957
+ A16& a16;
1958
+ A17& a17;
1959
+ A18& a18;
1960
+ A19& a19;
1961
+ A20& a20;
1962
+ A21& a21;
1963
+ A22& a22;
1964
+ };
1965
+
1966
+ 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>
1967
+ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23> {
1968
+ typedef define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23> value_type;
1969
+ typedef tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23> tuple_type;
1970
+ define(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) :
1971
+ 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) {}
1972
+ template <typename Packer>
1973
+ void msgpack_pack(Packer& pk) const
1974
+ {
1975
+ pk.pack_array(24);
1976
+
1977
+ pk.pack(a0);
1978
+ pk.pack(a1);
1979
+ pk.pack(a2);
1980
+ pk.pack(a3);
1981
+ pk.pack(a4);
1982
+ pk.pack(a5);
1983
+ pk.pack(a6);
1984
+ pk.pack(a7);
1985
+ pk.pack(a8);
1986
+ pk.pack(a9);
1987
+ pk.pack(a10);
1988
+ pk.pack(a11);
1989
+ pk.pack(a12);
1990
+ pk.pack(a13);
1991
+ pk.pack(a14);
1992
+ pk.pack(a15);
1993
+ pk.pack(a16);
1994
+ pk.pack(a17);
1995
+ pk.pack(a18);
1996
+ pk.pack(a19);
1997
+ pk.pack(a20);
1998
+ pk.pack(a21);
1999
+ pk.pack(a22);
2000
+ pk.pack(a23);
2001
+ }
2002
+ void msgpack_unpack(msgpack::object const& o)
2003
+ {
2004
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
2005
+ const size_t size = o.via.array.size;
2006
+ if(size > 0) {
2007
+ msgpack::object *ptr = o.via.array.ptr;
2008
+ switch(size) {
2009
+ default:
2010
+ case 24: ptr[23].convert(a23);
2011
+ case 23: ptr[22].convert(a22);
2012
+ case 22: ptr[21].convert(a21);
2013
+ case 21: ptr[20].convert(a20);
2014
+ case 20: ptr[19].convert(a19);
2015
+ case 19: ptr[18].convert(a18);
2016
+ case 18: ptr[17].convert(a17);
2017
+ case 17: ptr[16].convert(a16);
2018
+ case 16: ptr[15].convert(a15);
2019
+ case 15: ptr[14].convert(a14);
2020
+ case 14: ptr[13].convert(a13);
2021
+ case 13: ptr[12].convert(a12);
2022
+ case 12: ptr[11].convert(a11);
2023
+ case 11: ptr[10].convert(a10);
2024
+ case 10: ptr[9].convert(a9);
2025
+ case 9: ptr[8].convert(a8);
2026
+ case 8: ptr[7].convert(a7);
2027
+ case 7: ptr[6].convert(a6);
2028
+ case 6: ptr[5].convert(a5);
2029
+ case 5: ptr[4].convert(a4);
2030
+ case 4: ptr[3].convert(a3);
2031
+ case 3: ptr[2].convert(a2);
2032
+ case 2: ptr[1].convert(a1);
2033
+ case 1: ptr[0].convert(a0);
2034
+ }
2035
+ }
2036
+ }
2037
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2038
+ {
2039
+ o->type = msgpack::type::ARRAY;
2040
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*24));
2041
+ o->via.array.size = 24;
2042
+
2043
+ o->via.array.ptr[0] = msgpack::object(a0, z);
2044
+ o->via.array.ptr[1] = msgpack::object(a1, z);
2045
+ o->via.array.ptr[2] = msgpack::object(a2, z);
2046
+ o->via.array.ptr[3] = msgpack::object(a3, z);
2047
+ o->via.array.ptr[4] = msgpack::object(a4, z);
2048
+ o->via.array.ptr[5] = msgpack::object(a5, z);
2049
+ o->via.array.ptr[6] = msgpack::object(a6, z);
2050
+ o->via.array.ptr[7] = msgpack::object(a7, z);
2051
+ o->via.array.ptr[8] = msgpack::object(a8, z);
2052
+ o->via.array.ptr[9] = msgpack::object(a9, z);
2053
+ o->via.array.ptr[10] = msgpack::object(a10, z);
2054
+ o->via.array.ptr[11] = msgpack::object(a11, z);
2055
+ o->via.array.ptr[12] = msgpack::object(a12, z);
2056
+ o->via.array.ptr[13] = msgpack::object(a13, z);
2057
+ o->via.array.ptr[14] = msgpack::object(a14, z);
2058
+ o->via.array.ptr[15] = msgpack::object(a15, z);
2059
+ o->via.array.ptr[16] = msgpack::object(a16, z);
2060
+ o->via.array.ptr[17] = msgpack::object(a17, z);
2061
+ o->via.array.ptr[18] = msgpack::object(a18, z);
2062
+ o->via.array.ptr[19] = msgpack::object(a19, z);
2063
+ o->via.array.ptr[20] = msgpack::object(a20, z);
2064
+ o->via.array.ptr[21] = msgpack::object(a21, z);
2065
+ o->via.array.ptr[22] = msgpack::object(a22, z);
2066
+ o->via.array.ptr[23] = msgpack::object(a23, z);
2067
+ }
2068
+
2069
+ A0& a0;
2070
+ A1& a1;
2071
+ A2& a2;
2072
+ A3& a3;
2073
+ A4& a4;
2074
+ A5& a5;
2075
+ A6& a6;
2076
+ A7& a7;
2077
+ A8& a8;
2078
+ A9& a9;
2079
+ A10& a10;
2080
+ A11& a11;
2081
+ A12& a12;
2082
+ A13& a13;
2083
+ A14& a14;
2084
+ A15& a15;
2085
+ A16& a16;
2086
+ A17& a17;
2087
+ A18& a18;
2088
+ A19& a19;
2089
+ A20& a20;
2090
+ A21& a21;
2091
+ A22& a22;
2092
+ A23& a23;
2093
+ };
2094
+
2095
+ 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>
2096
+ struct define<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> {
2097
+ typedef define<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> value_type;
2098
+ typedef tuple<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> tuple_type;
2099
+ define(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) :
2100
+ 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) {}
2101
+ template <typename Packer>
2102
+ void msgpack_pack(Packer& pk) const
2103
+ {
2104
+ pk.pack_array(25);
2105
+
2106
+ pk.pack(a0);
2107
+ pk.pack(a1);
2108
+ pk.pack(a2);
2109
+ pk.pack(a3);
2110
+ pk.pack(a4);
2111
+ pk.pack(a5);
2112
+ pk.pack(a6);
2113
+ pk.pack(a7);
2114
+ pk.pack(a8);
2115
+ pk.pack(a9);
2116
+ pk.pack(a10);
2117
+ pk.pack(a11);
2118
+ pk.pack(a12);
2119
+ pk.pack(a13);
2120
+ pk.pack(a14);
2121
+ pk.pack(a15);
2122
+ pk.pack(a16);
2123
+ pk.pack(a17);
2124
+ pk.pack(a18);
2125
+ pk.pack(a19);
2126
+ pk.pack(a20);
2127
+ pk.pack(a21);
2128
+ pk.pack(a22);
2129
+ pk.pack(a23);
2130
+ pk.pack(a24);
2131
+ }
2132
+ void msgpack_unpack(msgpack::object const& o)
2133
+ {
2134
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
2135
+ const size_t size = o.via.array.size;
2136
+ if(size > 0) {
2137
+ msgpack::object *ptr = o.via.array.ptr;
2138
+ switch(size) {
2139
+ default:
2140
+ case 25: ptr[24].convert(a24);
2141
+ case 24: ptr[23].convert(a23);
2142
+ case 23: ptr[22].convert(a22);
2143
+ case 22: ptr[21].convert(a21);
2144
+ case 21: ptr[20].convert(a20);
2145
+ case 20: ptr[19].convert(a19);
2146
+ case 19: ptr[18].convert(a18);
2147
+ case 18: ptr[17].convert(a17);
2148
+ case 17: ptr[16].convert(a16);
2149
+ case 16: ptr[15].convert(a15);
2150
+ case 15: ptr[14].convert(a14);
2151
+ case 14: ptr[13].convert(a13);
2152
+ case 13: ptr[12].convert(a12);
2153
+ case 12: ptr[11].convert(a11);
2154
+ case 11: ptr[10].convert(a10);
2155
+ case 10: ptr[9].convert(a9);
2156
+ case 9: ptr[8].convert(a8);
2157
+ case 8: ptr[7].convert(a7);
2158
+ case 7: ptr[6].convert(a6);
2159
+ case 6: ptr[5].convert(a5);
2160
+ case 5: ptr[4].convert(a4);
2161
+ case 4: ptr[3].convert(a3);
2162
+ case 3: ptr[2].convert(a2);
2163
+ case 2: ptr[1].convert(a1);
2164
+ case 1: ptr[0].convert(a0);
2165
+ }
2166
+ }
2167
+ }
2168
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2169
+ {
2170
+ o->type = msgpack::type::ARRAY;
2171
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*25));
2172
+ o->via.array.size = 25;
2173
+
2174
+ o->via.array.ptr[0] = msgpack::object(a0, z);
2175
+ o->via.array.ptr[1] = msgpack::object(a1, z);
2176
+ o->via.array.ptr[2] = msgpack::object(a2, z);
2177
+ o->via.array.ptr[3] = msgpack::object(a3, z);
2178
+ o->via.array.ptr[4] = msgpack::object(a4, z);
2179
+ o->via.array.ptr[5] = msgpack::object(a5, z);
2180
+ o->via.array.ptr[6] = msgpack::object(a6, z);
2181
+ o->via.array.ptr[7] = msgpack::object(a7, z);
2182
+ o->via.array.ptr[8] = msgpack::object(a8, z);
2183
+ o->via.array.ptr[9] = msgpack::object(a9, z);
2184
+ o->via.array.ptr[10] = msgpack::object(a10, z);
2185
+ o->via.array.ptr[11] = msgpack::object(a11, z);
2186
+ o->via.array.ptr[12] = msgpack::object(a12, z);
2187
+ o->via.array.ptr[13] = msgpack::object(a13, z);
2188
+ o->via.array.ptr[14] = msgpack::object(a14, z);
2189
+ o->via.array.ptr[15] = msgpack::object(a15, z);
2190
+ o->via.array.ptr[16] = msgpack::object(a16, z);
2191
+ o->via.array.ptr[17] = msgpack::object(a17, z);
2192
+ o->via.array.ptr[18] = msgpack::object(a18, z);
2193
+ o->via.array.ptr[19] = msgpack::object(a19, z);
2194
+ o->via.array.ptr[20] = msgpack::object(a20, z);
2195
+ o->via.array.ptr[21] = msgpack::object(a21, z);
2196
+ o->via.array.ptr[22] = msgpack::object(a22, z);
2197
+ o->via.array.ptr[23] = msgpack::object(a23, z);
2198
+ o->via.array.ptr[24] = msgpack::object(a24, z);
2199
+ }
2200
+
2201
+ A0& a0;
2202
+ A1& a1;
2203
+ A2& a2;
2204
+ A3& a3;
2205
+ A4& a4;
2206
+ A5& a5;
2207
+ A6& a6;
2208
+ A7& a7;
2209
+ A8& a8;
2210
+ A9& a9;
2211
+ A10& a10;
2212
+ A11& a11;
2213
+ A12& a12;
2214
+ A13& a13;
2215
+ A14& a14;
2216
+ A15& a15;
2217
+ A16& a16;
2218
+ A17& a17;
2219
+ A18& a18;
2220
+ A19& a19;
2221
+ A20& a20;
2222
+ A21& a21;
2223
+ A22& a22;
2224
+ A23& a23;
2225
+ A24& a24;
2226
+ };
2227
+
2228
+ 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>
2229
+ struct define<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> {
2230
+ typedef define<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> value_type;
2231
+ typedef tuple<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> tuple_type;
2232
+ define(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) :
2233
+ 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) {}
2234
+ template <typename Packer>
2235
+ void msgpack_pack(Packer& pk) const
2236
+ {
2237
+ pk.pack_array(26);
2238
+
2239
+ pk.pack(a0);
2240
+ pk.pack(a1);
2241
+ pk.pack(a2);
2242
+ pk.pack(a3);
2243
+ pk.pack(a4);
2244
+ pk.pack(a5);
2245
+ pk.pack(a6);
2246
+ pk.pack(a7);
2247
+ pk.pack(a8);
2248
+ pk.pack(a9);
2249
+ pk.pack(a10);
2250
+ pk.pack(a11);
2251
+ pk.pack(a12);
2252
+ pk.pack(a13);
2253
+ pk.pack(a14);
2254
+ pk.pack(a15);
2255
+ pk.pack(a16);
2256
+ pk.pack(a17);
2257
+ pk.pack(a18);
2258
+ pk.pack(a19);
2259
+ pk.pack(a20);
2260
+ pk.pack(a21);
2261
+ pk.pack(a22);
2262
+ pk.pack(a23);
2263
+ pk.pack(a24);
2264
+ pk.pack(a25);
2265
+ }
2266
+ void msgpack_unpack(msgpack::object const& o)
2267
+ {
2268
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
2269
+ const size_t size = o.via.array.size;
2270
+ if(size > 0) {
2271
+ msgpack::object *ptr = o.via.array.ptr;
2272
+ switch(size) {
2273
+ default:
2274
+ case 26: ptr[25].convert(a25);
2275
+ case 25: ptr[24].convert(a24);
2276
+ case 24: ptr[23].convert(a23);
2277
+ case 23: ptr[22].convert(a22);
2278
+ case 22: ptr[21].convert(a21);
2279
+ case 21: ptr[20].convert(a20);
2280
+ case 20: ptr[19].convert(a19);
2281
+ case 19: ptr[18].convert(a18);
2282
+ case 18: ptr[17].convert(a17);
2283
+ case 17: ptr[16].convert(a16);
2284
+ case 16: ptr[15].convert(a15);
2285
+ case 15: ptr[14].convert(a14);
2286
+ case 14: ptr[13].convert(a13);
2287
+ case 13: ptr[12].convert(a12);
2288
+ case 12: ptr[11].convert(a11);
2289
+ case 11: ptr[10].convert(a10);
2290
+ case 10: ptr[9].convert(a9);
2291
+ case 9: ptr[8].convert(a8);
2292
+ case 8: ptr[7].convert(a7);
2293
+ case 7: ptr[6].convert(a6);
2294
+ case 6: ptr[5].convert(a5);
2295
+ case 5: ptr[4].convert(a4);
2296
+ case 4: ptr[3].convert(a3);
2297
+ case 3: ptr[2].convert(a2);
2298
+ case 2: ptr[1].convert(a1);
2299
+ case 1: ptr[0].convert(a0);
2300
+ }
2301
+ }
2302
+ }
2303
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2304
+ {
2305
+ o->type = msgpack::type::ARRAY;
2306
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*26));
2307
+ o->via.array.size = 26;
2308
+
2309
+ o->via.array.ptr[0] = msgpack::object(a0, z);
2310
+ o->via.array.ptr[1] = msgpack::object(a1, z);
2311
+ o->via.array.ptr[2] = msgpack::object(a2, z);
2312
+ o->via.array.ptr[3] = msgpack::object(a3, z);
2313
+ o->via.array.ptr[4] = msgpack::object(a4, z);
2314
+ o->via.array.ptr[5] = msgpack::object(a5, z);
2315
+ o->via.array.ptr[6] = msgpack::object(a6, z);
2316
+ o->via.array.ptr[7] = msgpack::object(a7, z);
2317
+ o->via.array.ptr[8] = msgpack::object(a8, z);
2318
+ o->via.array.ptr[9] = msgpack::object(a9, z);
2319
+ o->via.array.ptr[10] = msgpack::object(a10, z);
2320
+ o->via.array.ptr[11] = msgpack::object(a11, z);
2321
+ o->via.array.ptr[12] = msgpack::object(a12, z);
2322
+ o->via.array.ptr[13] = msgpack::object(a13, z);
2323
+ o->via.array.ptr[14] = msgpack::object(a14, z);
2324
+ o->via.array.ptr[15] = msgpack::object(a15, z);
2325
+ o->via.array.ptr[16] = msgpack::object(a16, z);
2326
+ o->via.array.ptr[17] = msgpack::object(a17, z);
2327
+ o->via.array.ptr[18] = msgpack::object(a18, z);
2328
+ o->via.array.ptr[19] = msgpack::object(a19, z);
2329
+ o->via.array.ptr[20] = msgpack::object(a20, z);
2330
+ o->via.array.ptr[21] = msgpack::object(a21, z);
2331
+ o->via.array.ptr[22] = msgpack::object(a22, z);
2332
+ o->via.array.ptr[23] = msgpack::object(a23, z);
2333
+ o->via.array.ptr[24] = msgpack::object(a24, z);
2334
+ o->via.array.ptr[25] = msgpack::object(a25, z);
2335
+ }
2336
+
2337
+ A0& a0;
2338
+ A1& a1;
2339
+ A2& a2;
2340
+ A3& a3;
2341
+ A4& a4;
2342
+ A5& a5;
2343
+ A6& a6;
2344
+ A7& a7;
2345
+ A8& a8;
2346
+ A9& a9;
2347
+ A10& a10;
2348
+ A11& a11;
2349
+ A12& a12;
2350
+ A13& a13;
2351
+ A14& a14;
2352
+ A15& a15;
2353
+ A16& a16;
2354
+ A17& a17;
2355
+ A18& a18;
2356
+ A19& a19;
2357
+ A20& a20;
2358
+ A21& a21;
2359
+ A22& a22;
2360
+ A23& a23;
2361
+ A24& a24;
2362
+ A25& a25;
2363
+ };
2364
+
2365
+ 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>
2366
+ struct define<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> {
2367
+ typedef define<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> value_type;
2368
+ typedef tuple<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> tuple_type;
2369
+ define(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) :
2370
+ 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) {}
2371
+ template <typename Packer>
2372
+ void msgpack_pack(Packer& pk) const
2373
+ {
2374
+ pk.pack_array(27);
2375
+
2376
+ pk.pack(a0);
2377
+ pk.pack(a1);
2378
+ pk.pack(a2);
2379
+ pk.pack(a3);
2380
+ pk.pack(a4);
2381
+ pk.pack(a5);
2382
+ pk.pack(a6);
2383
+ pk.pack(a7);
2384
+ pk.pack(a8);
2385
+ pk.pack(a9);
2386
+ pk.pack(a10);
2387
+ pk.pack(a11);
2388
+ pk.pack(a12);
2389
+ pk.pack(a13);
2390
+ pk.pack(a14);
2391
+ pk.pack(a15);
2392
+ pk.pack(a16);
2393
+ pk.pack(a17);
2394
+ pk.pack(a18);
2395
+ pk.pack(a19);
2396
+ pk.pack(a20);
2397
+ pk.pack(a21);
2398
+ pk.pack(a22);
2399
+ pk.pack(a23);
2400
+ pk.pack(a24);
2401
+ pk.pack(a25);
2402
+ pk.pack(a26);
2403
+ }
2404
+ void msgpack_unpack(msgpack::object const& o)
2405
+ {
2406
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
2407
+ const size_t size = o.via.array.size;
2408
+ if(size > 0) {
2409
+ msgpack::object *ptr = o.via.array.ptr;
2410
+ switch(size) {
2411
+ default:
2412
+ case 27: ptr[26].convert(a26);
2413
+ case 26: ptr[25].convert(a25);
2414
+ case 25: ptr[24].convert(a24);
2415
+ case 24: ptr[23].convert(a23);
2416
+ case 23: ptr[22].convert(a22);
2417
+ case 22: ptr[21].convert(a21);
2418
+ case 21: ptr[20].convert(a20);
2419
+ case 20: ptr[19].convert(a19);
2420
+ case 19: ptr[18].convert(a18);
2421
+ case 18: ptr[17].convert(a17);
2422
+ case 17: ptr[16].convert(a16);
2423
+ case 16: ptr[15].convert(a15);
2424
+ case 15: ptr[14].convert(a14);
2425
+ case 14: ptr[13].convert(a13);
2426
+ case 13: ptr[12].convert(a12);
2427
+ case 12: ptr[11].convert(a11);
2428
+ case 11: ptr[10].convert(a10);
2429
+ case 10: ptr[9].convert(a9);
2430
+ case 9: ptr[8].convert(a8);
2431
+ case 8: ptr[7].convert(a7);
2432
+ case 7: ptr[6].convert(a6);
2433
+ case 6: ptr[5].convert(a5);
2434
+ case 5: ptr[4].convert(a4);
2435
+ case 4: ptr[3].convert(a3);
2436
+ case 3: ptr[2].convert(a2);
2437
+ case 2: ptr[1].convert(a1);
2438
+ case 1: ptr[0].convert(a0);
2439
+ }
2440
+ }
2441
+ }
2442
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2443
+ {
2444
+ o->type = msgpack::type::ARRAY;
2445
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*27));
2446
+ o->via.array.size = 27;
2447
+
2448
+ o->via.array.ptr[0] = msgpack::object(a0, z);
2449
+ o->via.array.ptr[1] = msgpack::object(a1, z);
2450
+ o->via.array.ptr[2] = msgpack::object(a2, z);
2451
+ o->via.array.ptr[3] = msgpack::object(a3, z);
2452
+ o->via.array.ptr[4] = msgpack::object(a4, z);
2453
+ o->via.array.ptr[5] = msgpack::object(a5, z);
2454
+ o->via.array.ptr[6] = msgpack::object(a6, z);
2455
+ o->via.array.ptr[7] = msgpack::object(a7, z);
2456
+ o->via.array.ptr[8] = msgpack::object(a8, z);
2457
+ o->via.array.ptr[9] = msgpack::object(a9, z);
2458
+ o->via.array.ptr[10] = msgpack::object(a10, z);
2459
+ o->via.array.ptr[11] = msgpack::object(a11, z);
2460
+ o->via.array.ptr[12] = msgpack::object(a12, z);
2461
+ o->via.array.ptr[13] = msgpack::object(a13, z);
2462
+ o->via.array.ptr[14] = msgpack::object(a14, z);
2463
+ o->via.array.ptr[15] = msgpack::object(a15, z);
2464
+ o->via.array.ptr[16] = msgpack::object(a16, z);
2465
+ o->via.array.ptr[17] = msgpack::object(a17, z);
2466
+ o->via.array.ptr[18] = msgpack::object(a18, z);
2467
+ o->via.array.ptr[19] = msgpack::object(a19, z);
2468
+ o->via.array.ptr[20] = msgpack::object(a20, z);
2469
+ o->via.array.ptr[21] = msgpack::object(a21, z);
2470
+ o->via.array.ptr[22] = msgpack::object(a22, z);
2471
+ o->via.array.ptr[23] = msgpack::object(a23, z);
2472
+ o->via.array.ptr[24] = msgpack::object(a24, z);
2473
+ o->via.array.ptr[25] = msgpack::object(a25, z);
2474
+ o->via.array.ptr[26] = msgpack::object(a26, z);
2475
+ }
2476
+
2477
+ A0& a0;
2478
+ A1& a1;
2479
+ A2& a2;
2480
+ A3& a3;
2481
+ A4& a4;
2482
+ A5& a5;
2483
+ A6& a6;
2484
+ A7& a7;
2485
+ A8& a8;
2486
+ A9& a9;
2487
+ A10& a10;
2488
+ A11& a11;
2489
+ A12& a12;
2490
+ A13& a13;
2491
+ A14& a14;
2492
+ A15& a15;
2493
+ A16& a16;
2494
+ A17& a17;
2495
+ A18& a18;
2496
+ A19& a19;
2497
+ A20& a20;
2498
+ A21& a21;
2499
+ A22& a22;
2500
+ A23& a23;
2501
+ A24& a24;
2502
+ A25& a25;
2503
+ A26& a26;
2504
+ };
2505
+
2506
+ 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>
2507
+ struct define<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> {
2508
+ typedef define<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> value_type;
2509
+ typedef tuple<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> tuple_type;
2510
+ define(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) :
2511
+ 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) {}
2512
+ template <typename Packer>
2513
+ void msgpack_pack(Packer& pk) const
2514
+ {
2515
+ pk.pack_array(28);
2516
+
2517
+ pk.pack(a0);
2518
+ pk.pack(a1);
2519
+ pk.pack(a2);
2520
+ pk.pack(a3);
2521
+ pk.pack(a4);
2522
+ pk.pack(a5);
2523
+ pk.pack(a6);
2524
+ pk.pack(a7);
2525
+ pk.pack(a8);
2526
+ pk.pack(a9);
2527
+ pk.pack(a10);
2528
+ pk.pack(a11);
2529
+ pk.pack(a12);
2530
+ pk.pack(a13);
2531
+ pk.pack(a14);
2532
+ pk.pack(a15);
2533
+ pk.pack(a16);
2534
+ pk.pack(a17);
2535
+ pk.pack(a18);
2536
+ pk.pack(a19);
2537
+ pk.pack(a20);
2538
+ pk.pack(a21);
2539
+ pk.pack(a22);
2540
+ pk.pack(a23);
2541
+ pk.pack(a24);
2542
+ pk.pack(a25);
2543
+ pk.pack(a26);
2544
+ pk.pack(a27);
2545
+ }
2546
+ void msgpack_unpack(msgpack::object const& o)
2547
+ {
2548
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
2549
+ const size_t size = o.via.array.size;
2550
+ if(size > 0) {
2551
+ msgpack::object *ptr = o.via.array.ptr;
2552
+ switch(size) {
2553
+ default:
2554
+ case 28: ptr[27].convert(a27);
2555
+ case 27: ptr[26].convert(a26);
2556
+ case 26: ptr[25].convert(a25);
2557
+ case 25: ptr[24].convert(a24);
2558
+ case 24: ptr[23].convert(a23);
2559
+ case 23: ptr[22].convert(a22);
2560
+ case 22: ptr[21].convert(a21);
2561
+ case 21: ptr[20].convert(a20);
2562
+ case 20: ptr[19].convert(a19);
2563
+ case 19: ptr[18].convert(a18);
2564
+ case 18: ptr[17].convert(a17);
2565
+ case 17: ptr[16].convert(a16);
2566
+ case 16: ptr[15].convert(a15);
2567
+ case 15: ptr[14].convert(a14);
2568
+ case 14: ptr[13].convert(a13);
2569
+ case 13: ptr[12].convert(a12);
2570
+ case 12: ptr[11].convert(a11);
2571
+ case 11: ptr[10].convert(a10);
2572
+ case 10: ptr[9].convert(a9);
2573
+ case 9: ptr[8].convert(a8);
2574
+ case 8: ptr[7].convert(a7);
2575
+ case 7: ptr[6].convert(a6);
2576
+ case 6: ptr[5].convert(a5);
2577
+ case 5: ptr[4].convert(a4);
2578
+ case 4: ptr[3].convert(a3);
2579
+ case 3: ptr[2].convert(a2);
2580
+ case 2: ptr[1].convert(a1);
2581
+ case 1: ptr[0].convert(a0);
2582
+ }
2583
+ }
2584
+ }
2585
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2586
+ {
2587
+ o->type = msgpack::type::ARRAY;
2588
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*28));
2589
+ o->via.array.size = 28;
2590
+
2591
+ o->via.array.ptr[0] = msgpack::object(a0, z);
2592
+ o->via.array.ptr[1] = msgpack::object(a1, z);
2593
+ o->via.array.ptr[2] = msgpack::object(a2, z);
2594
+ o->via.array.ptr[3] = msgpack::object(a3, z);
2595
+ o->via.array.ptr[4] = msgpack::object(a4, z);
2596
+ o->via.array.ptr[5] = msgpack::object(a5, z);
2597
+ o->via.array.ptr[6] = msgpack::object(a6, z);
2598
+ o->via.array.ptr[7] = msgpack::object(a7, z);
2599
+ o->via.array.ptr[8] = msgpack::object(a8, z);
2600
+ o->via.array.ptr[9] = msgpack::object(a9, z);
2601
+ o->via.array.ptr[10] = msgpack::object(a10, z);
2602
+ o->via.array.ptr[11] = msgpack::object(a11, z);
2603
+ o->via.array.ptr[12] = msgpack::object(a12, z);
2604
+ o->via.array.ptr[13] = msgpack::object(a13, z);
2605
+ o->via.array.ptr[14] = msgpack::object(a14, z);
2606
+ o->via.array.ptr[15] = msgpack::object(a15, z);
2607
+ o->via.array.ptr[16] = msgpack::object(a16, z);
2608
+ o->via.array.ptr[17] = msgpack::object(a17, z);
2609
+ o->via.array.ptr[18] = msgpack::object(a18, z);
2610
+ o->via.array.ptr[19] = msgpack::object(a19, z);
2611
+ o->via.array.ptr[20] = msgpack::object(a20, z);
2612
+ o->via.array.ptr[21] = msgpack::object(a21, z);
2613
+ o->via.array.ptr[22] = msgpack::object(a22, z);
2614
+ o->via.array.ptr[23] = msgpack::object(a23, z);
2615
+ o->via.array.ptr[24] = msgpack::object(a24, z);
2616
+ o->via.array.ptr[25] = msgpack::object(a25, z);
2617
+ o->via.array.ptr[26] = msgpack::object(a26, z);
2618
+ o->via.array.ptr[27] = msgpack::object(a27, z);
2619
+ }
2620
+
2621
+ A0& a0;
2622
+ A1& a1;
2623
+ A2& a2;
2624
+ A3& a3;
2625
+ A4& a4;
2626
+ A5& a5;
2627
+ A6& a6;
2628
+ A7& a7;
2629
+ A8& a8;
2630
+ A9& a9;
2631
+ A10& a10;
2632
+ A11& a11;
2633
+ A12& a12;
2634
+ A13& a13;
2635
+ A14& a14;
2636
+ A15& a15;
2637
+ A16& a16;
2638
+ A17& a17;
2639
+ A18& a18;
2640
+ A19& a19;
2641
+ A20& a20;
2642
+ A21& a21;
2643
+ A22& a22;
2644
+ A23& a23;
2645
+ A24& a24;
2646
+ A25& a25;
2647
+ A26& a26;
2648
+ A27& a27;
2649
+ };
2650
+
2651
+ 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>
2652
+ struct define<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> {
2653
+ typedef define<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> value_type;
2654
+ typedef tuple<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> tuple_type;
2655
+ define(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) :
2656
+ 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) {}
2657
+ template <typename Packer>
2658
+ void msgpack_pack(Packer& pk) const
2659
+ {
2660
+ pk.pack_array(29);
2661
+
2662
+ pk.pack(a0);
2663
+ pk.pack(a1);
2664
+ pk.pack(a2);
2665
+ pk.pack(a3);
2666
+ pk.pack(a4);
2667
+ pk.pack(a5);
2668
+ pk.pack(a6);
2669
+ pk.pack(a7);
2670
+ pk.pack(a8);
2671
+ pk.pack(a9);
2672
+ pk.pack(a10);
2673
+ pk.pack(a11);
2674
+ pk.pack(a12);
2675
+ pk.pack(a13);
2676
+ pk.pack(a14);
2677
+ pk.pack(a15);
2678
+ pk.pack(a16);
2679
+ pk.pack(a17);
2680
+ pk.pack(a18);
2681
+ pk.pack(a19);
2682
+ pk.pack(a20);
2683
+ pk.pack(a21);
2684
+ pk.pack(a22);
2685
+ pk.pack(a23);
2686
+ pk.pack(a24);
2687
+ pk.pack(a25);
2688
+ pk.pack(a26);
2689
+ pk.pack(a27);
2690
+ pk.pack(a28);
2691
+ }
2692
+ void msgpack_unpack(msgpack::object const& o)
2693
+ {
2694
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
2695
+ const size_t size = o.via.array.size;
2696
+ if(size > 0) {
2697
+ msgpack::object *ptr = o.via.array.ptr;
2698
+ switch(size) {
2699
+ default:
2700
+ case 29: ptr[28].convert(a28);
2701
+ case 28: ptr[27].convert(a27);
2702
+ case 27: ptr[26].convert(a26);
2703
+ case 26: ptr[25].convert(a25);
2704
+ case 25: ptr[24].convert(a24);
2705
+ case 24: ptr[23].convert(a23);
2706
+ case 23: ptr[22].convert(a22);
2707
+ case 22: ptr[21].convert(a21);
2708
+ case 21: ptr[20].convert(a20);
2709
+ case 20: ptr[19].convert(a19);
2710
+ case 19: ptr[18].convert(a18);
2711
+ case 18: ptr[17].convert(a17);
2712
+ case 17: ptr[16].convert(a16);
2713
+ case 16: ptr[15].convert(a15);
2714
+ case 15: ptr[14].convert(a14);
2715
+ case 14: ptr[13].convert(a13);
2716
+ case 13: ptr[12].convert(a12);
2717
+ case 12: ptr[11].convert(a11);
2718
+ case 11: ptr[10].convert(a10);
2719
+ case 10: ptr[9].convert(a9);
2720
+ case 9: ptr[8].convert(a8);
2721
+ case 8: ptr[7].convert(a7);
2722
+ case 7: ptr[6].convert(a6);
2723
+ case 6: ptr[5].convert(a5);
2724
+ case 5: ptr[4].convert(a4);
2725
+ case 4: ptr[3].convert(a3);
2726
+ case 3: ptr[2].convert(a2);
2727
+ case 2: ptr[1].convert(a1);
2728
+ case 1: ptr[0].convert(a0);
2729
+ }
2730
+ }
2731
+ }
2732
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2733
+ {
2734
+ o->type = msgpack::type::ARRAY;
2735
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*29));
2736
+ o->via.array.size = 29;
2737
+
2738
+ o->via.array.ptr[0] = msgpack::object(a0, z);
2739
+ o->via.array.ptr[1] = msgpack::object(a1, z);
2740
+ o->via.array.ptr[2] = msgpack::object(a2, z);
2741
+ o->via.array.ptr[3] = msgpack::object(a3, z);
2742
+ o->via.array.ptr[4] = msgpack::object(a4, z);
2743
+ o->via.array.ptr[5] = msgpack::object(a5, z);
2744
+ o->via.array.ptr[6] = msgpack::object(a6, z);
2745
+ o->via.array.ptr[7] = msgpack::object(a7, z);
2746
+ o->via.array.ptr[8] = msgpack::object(a8, z);
2747
+ o->via.array.ptr[9] = msgpack::object(a9, z);
2748
+ o->via.array.ptr[10] = msgpack::object(a10, z);
2749
+ o->via.array.ptr[11] = msgpack::object(a11, z);
2750
+ o->via.array.ptr[12] = msgpack::object(a12, z);
2751
+ o->via.array.ptr[13] = msgpack::object(a13, z);
2752
+ o->via.array.ptr[14] = msgpack::object(a14, z);
2753
+ o->via.array.ptr[15] = msgpack::object(a15, z);
2754
+ o->via.array.ptr[16] = msgpack::object(a16, z);
2755
+ o->via.array.ptr[17] = msgpack::object(a17, z);
2756
+ o->via.array.ptr[18] = msgpack::object(a18, z);
2757
+ o->via.array.ptr[19] = msgpack::object(a19, z);
2758
+ o->via.array.ptr[20] = msgpack::object(a20, z);
2759
+ o->via.array.ptr[21] = msgpack::object(a21, z);
2760
+ o->via.array.ptr[22] = msgpack::object(a22, z);
2761
+ o->via.array.ptr[23] = msgpack::object(a23, z);
2762
+ o->via.array.ptr[24] = msgpack::object(a24, z);
2763
+ o->via.array.ptr[25] = msgpack::object(a25, z);
2764
+ o->via.array.ptr[26] = msgpack::object(a26, z);
2765
+ o->via.array.ptr[27] = msgpack::object(a27, z);
2766
+ o->via.array.ptr[28] = msgpack::object(a28, z);
2767
+ }
2768
+
2769
+ A0& a0;
2770
+ A1& a1;
2771
+ A2& a2;
2772
+ A3& a3;
2773
+ A4& a4;
2774
+ A5& a5;
2775
+ A6& a6;
2776
+ A7& a7;
2777
+ A8& a8;
2778
+ A9& a9;
2779
+ A10& a10;
2780
+ A11& a11;
2781
+ A12& a12;
2782
+ A13& a13;
2783
+ A14& a14;
2784
+ A15& a15;
2785
+ A16& a16;
2786
+ A17& a17;
2787
+ A18& a18;
2788
+ A19& a19;
2789
+ A20& a20;
2790
+ A21& a21;
2791
+ A22& a22;
2792
+ A23& a23;
2793
+ A24& a24;
2794
+ A25& a25;
2795
+ A26& a26;
2796
+ A27& a27;
2797
+ A28& a28;
2798
+ };
2799
+
2800
+ 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>
2801
+ struct define<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> {
2802
+ typedef define<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> value_type;
2803
+ typedef tuple<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> tuple_type;
2804
+ define(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) :
2805
+ 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) {}
2806
+ template <typename Packer>
2807
+ void msgpack_pack(Packer& pk) const
2808
+ {
2809
+ pk.pack_array(30);
2810
+
2811
+ pk.pack(a0);
2812
+ pk.pack(a1);
2813
+ pk.pack(a2);
2814
+ pk.pack(a3);
2815
+ pk.pack(a4);
2816
+ pk.pack(a5);
2817
+ pk.pack(a6);
2818
+ pk.pack(a7);
2819
+ pk.pack(a8);
2820
+ pk.pack(a9);
2821
+ pk.pack(a10);
2822
+ pk.pack(a11);
2823
+ pk.pack(a12);
2824
+ pk.pack(a13);
2825
+ pk.pack(a14);
2826
+ pk.pack(a15);
2827
+ pk.pack(a16);
2828
+ pk.pack(a17);
2829
+ pk.pack(a18);
2830
+ pk.pack(a19);
2831
+ pk.pack(a20);
2832
+ pk.pack(a21);
2833
+ pk.pack(a22);
2834
+ pk.pack(a23);
2835
+ pk.pack(a24);
2836
+ pk.pack(a25);
2837
+ pk.pack(a26);
2838
+ pk.pack(a27);
2839
+ pk.pack(a28);
2840
+ pk.pack(a29);
2841
+ }
2842
+ void msgpack_unpack(msgpack::object const& o)
2843
+ {
2844
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
2845
+ const size_t size = o.via.array.size;
2846
+ if(size > 0) {
2847
+ msgpack::object *ptr = o.via.array.ptr;
2848
+ switch(size) {
2849
+ default:
2850
+ case 30: ptr[29].convert(a29);
2851
+ case 29: ptr[28].convert(a28);
2852
+ case 28: ptr[27].convert(a27);
2853
+ case 27: ptr[26].convert(a26);
2854
+ case 26: ptr[25].convert(a25);
2855
+ case 25: ptr[24].convert(a24);
2856
+ case 24: ptr[23].convert(a23);
2857
+ case 23: ptr[22].convert(a22);
2858
+ case 22: ptr[21].convert(a21);
2859
+ case 21: ptr[20].convert(a20);
2860
+ case 20: ptr[19].convert(a19);
2861
+ case 19: ptr[18].convert(a18);
2862
+ case 18: ptr[17].convert(a17);
2863
+ case 17: ptr[16].convert(a16);
2864
+ case 16: ptr[15].convert(a15);
2865
+ case 15: ptr[14].convert(a14);
2866
+ case 14: ptr[13].convert(a13);
2867
+ case 13: ptr[12].convert(a12);
2868
+ case 12: ptr[11].convert(a11);
2869
+ case 11: ptr[10].convert(a10);
2870
+ case 10: ptr[9].convert(a9);
2871
+ case 9: ptr[8].convert(a8);
2872
+ case 8: ptr[7].convert(a7);
2873
+ case 7: ptr[6].convert(a6);
2874
+ case 6: ptr[5].convert(a5);
2875
+ case 5: ptr[4].convert(a4);
2876
+ case 4: ptr[3].convert(a3);
2877
+ case 3: ptr[2].convert(a2);
2878
+ case 2: ptr[1].convert(a1);
2879
+ case 1: ptr[0].convert(a0);
2880
+ }
2881
+ }
2882
+ }
2883
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
2884
+ {
2885
+ o->type = msgpack::type::ARRAY;
2886
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*30));
2887
+ o->via.array.size = 30;
2888
+
2889
+ o->via.array.ptr[0] = msgpack::object(a0, z);
2890
+ o->via.array.ptr[1] = msgpack::object(a1, z);
2891
+ o->via.array.ptr[2] = msgpack::object(a2, z);
2892
+ o->via.array.ptr[3] = msgpack::object(a3, z);
2893
+ o->via.array.ptr[4] = msgpack::object(a4, z);
2894
+ o->via.array.ptr[5] = msgpack::object(a5, z);
2895
+ o->via.array.ptr[6] = msgpack::object(a6, z);
2896
+ o->via.array.ptr[7] = msgpack::object(a7, z);
2897
+ o->via.array.ptr[8] = msgpack::object(a8, z);
2898
+ o->via.array.ptr[9] = msgpack::object(a9, z);
2899
+ o->via.array.ptr[10] = msgpack::object(a10, z);
2900
+ o->via.array.ptr[11] = msgpack::object(a11, z);
2901
+ o->via.array.ptr[12] = msgpack::object(a12, z);
2902
+ o->via.array.ptr[13] = msgpack::object(a13, z);
2903
+ o->via.array.ptr[14] = msgpack::object(a14, z);
2904
+ o->via.array.ptr[15] = msgpack::object(a15, z);
2905
+ o->via.array.ptr[16] = msgpack::object(a16, z);
2906
+ o->via.array.ptr[17] = msgpack::object(a17, z);
2907
+ o->via.array.ptr[18] = msgpack::object(a18, z);
2908
+ o->via.array.ptr[19] = msgpack::object(a19, z);
2909
+ o->via.array.ptr[20] = msgpack::object(a20, z);
2910
+ o->via.array.ptr[21] = msgpack::object(a21, z);
2911
+ o->via.array.ptr[22] = msgpack::object(a22, z);
2912
+ o->via.array.ptr[23] = msgpack::object(a23, z);
2913
+ o->via.array.ptr[24] = msgpack::object(a24, z);
2914
+ o->via.array.ptr[25] = msgpack::object(a25, z);
2915
+ o->via.array.ptr[26] = msgpack::object(a26, z);
2916
+ o->via.array.ptr[27] = msgpack::object(a27, z);
2917
+ o->via.array.ptr[28] = msgpack::object(a28, z);
2918
+ o->via.array.ptr[29] = msgpack::object(a29, z);
2919
+ }
2920
+
2921
+ A0& a0;
2922
+ A1& a1;
2923
+ A2& a2;
2924
+ A3& a3;
2925
+ A4& a4;
2926
+ A5& a5;
2927
+ A6& a6;
2928
+ A7& a7;
2929
+ A8& a8;
2930
+ A9& a9;
2931
+ A10& a10;
2932
+ A11& a11;
2933
+ A12& a12;
2934
+ A13& a13;
2935
+ A14& a14;
2936
+ A15& a15;
2937
+ A16& a16;
2938
+ A17& a17;
2939
+ A18& a18;
2940
+ A19& a19;
2941
+ A20& a20;
2942
+ A21& a21;
2943
+ A22& a22;
2944
+ A23& a23;
2945
+ A24& a24;
2946
+ A25& a25;
2947
+ A26& a26;
2948
+ A27& a27;
2949
+ A28& a28;
2950
+ A29& a29;
2951
+ };
2952
+
2953
+ 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>
2954
+ struct define<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> {
2955
+ typedef define<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> value_type;
2956
+ typedef tuple<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> tuple_type;
2957
+ define(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) :
2958
+ 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) {}
2959
+ template <typename Packer>
2960
+ void msgpack_pack(Packer& pk) const
2961
+ {
2962
+ pk.pack_array(31);
2963
+
2964
+ pk.pack(a0);
2965
+ pk.pack(a1);
2966
+ pk.pack(a2);
2967
+ pk.pack(a3);
2968
+ pk.pack(a4);
2969
+ pk.pack(a5);
2970
+ pk.pack(a6);
2971
+ pk.pack(a7);
2972
+ pk.pack(a8);
2973
+ pk.pack(a9);
2974
+ pk.pack(a10);
2975
+ pk.pack(a11);
2976
+ pk.pack(a12);
2977
+ pk.pack(a13);
2978
+ pk.pack(a14);
2979
+ pk.pack(a15);
2980
+ pk.pack(a16);
2981
+ pk.pack(a17);
2982
+ pk.pack(a18);
2983
+ pk.pack(a19);
2984
+ pk.pack(a20);
2985
+ pk.pack(a21);
2986
+ pk.pack(a22);
2987
+ pk.pack(a23);
2988
+ pk.pack(a24);
2989
+ pk.pack(a25);
2990
+ pk.pack(a26);
2991
+ pk.pack(a27);
2992
+ pk.pack(a28);
2993
+ pk.pack(a29);
2994
+ pk.pack(a30);
2995
+ }
2996
+ void msgpack_unpack(msgpack::object const& o)
2997
+ {
2998
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
2999
+ const size_t size = o.via.array.size;
3000
+ if(size > 0) {
3001
+ msgpack::object *ptr = o.via.array.ptr;
3002
+ switch(size) {
3003
+ default:
3004
+ case 31: ptr[30].convert(a30);
3005
+ case 30: ptr[29].convert(a29);
3006
+ case 29: ptr[28].convert(a28);
3007
+ case 28: ptr[27].convert(a27);
3008
+ case 27: ptr[26].convert(a26);
3009
+ case 26: ptr[25].convert(a25);
3010
+ case 25: ptr[24].convert(a24);
3011
+ case 24: ptr[23].convert(a23);
3012
+ case 23: ptr[22].convert(a22);
3013
+ case 22: ptr[21].convert(a21);
3014
+ case 21: ptr[20].convert(a20);
3015
+ case 20: ptr[19].convert(a19);
3016
+ case 19: ptr[18].convert(a18);
3017
+ case 18: ptr[17].convert(a17);
3018
+ case 17: ptr[16].convert(a16);
3019
+ case 16: ptr[15].convert(a15);
3020
+ case 15: ptr[14].convert(a14);
3021
+ case 14: ptr[13].convert(a13);
3022
+ case 13: ptr[12].convert(a12);
3023
+ case 12: ptr[11].convert(a11);
3024
+ case 11: ptr[10].convert(a10);
3025
+ case 10: ptr[9].convert(a9);
3026
+ case 9: ptr[8].convert(a8);
3027
+ case 8: ptr[7].convert(a7);
3028
+ case 7: ptr[6].convert(a6);
3029
+ case 6: ptr[5].convert(a5);
3030
+ case 5: ptr[4].convert(a4);
3031
+ case 4: ptr[3].convert(a3);
3032
+ case 3: ptr[2].convert(a2);
3033
+ case 2: ptr[1].convert(a1);
3034
+ case 1: ptr[0].convert(a0);
3035
+ }
3036
+ }
3037
+ }
3038
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
3039
+ {
3040
+ o->type = msgpack::type::ARRAY;
3041
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*31));
3042
+ o->via.array.size = 31;
3043
+
3044
+ o->via.array.ptr[0] = msgpack::object(a0, z);
3045
+ o->via.array.ptr[1] = msgpack::object(a1, z);
3046
+ o->via.array.ptr[2] = msgpack::object(a2, z);
3047
+ o->via.array.ptr[3] = msgpack::object(a3, z);
3048
+ o->via.array.ptr[4] = msgpack::object(a4, z);
3049
+ o->via.array.ptr[5] = msgpack::object(a5, z);
3050
+ o->via.array.ptr[6] = msgpack::object(a6, z);
3051
+ o->via.array.ptr[7] = msgpack::object(a7, z);
3052
+ o->via.array.ptr[8] = msgpack::object(a8, z);
3053
+ o->via.array.ptr[9] = msgpack::object(a9, z);
3054
+ o->via.array.ptr[10] = msgpack::object(a10, z);
3055
+ o->via.array.ptr[11] = msgpack::object(a11, z);
3056
+ o->via.array.ptr[12] = msgpack::object(a12, z);
3057
+ o->via.array.ptr[13] = msgpack::object(a13, z);
3058
+ o->via.array.ptr[14] = msgpack::object(a14, z);
3059
+ o->via.array.ptr[15] = msgpack::object(a15, z);
3060
+ o->via.array.ptr[16] = msgpack::object(a16, z);
3061
+ o->via.array.ptr[17] = msgpack::object(a17, z);
3062
+ o->via.array.ptr[18] = msgpack::object(a18, z);
3063
+ o->via.array.ptr[19] = msgpack::object(a19, z);
3064
+ o->via.array.ptr[20] = msgpack::object(a20, z);
3065
+ o->via.array.ptr[21] = msgpack::object(a21, z);
3066
+ o->via.array.ptr[22] = msgpack::object(a22, z);
3067
+ o->via.array.ptr[23] = msgpack::object(a23, z);
3068
+ o->via.array.ptr[24] = msgpack::object(a24, z);
3069
+ o->via.array.ptr[25] = msgpack::object(a25, z);
3070
+ o->via.array.ptr[26] = msgpack::object(a26, z);
3071
+ o->via.array.ptr[27] = msgpack::object(a27, z);
3072
+ o->via.array.ptr[28] = msgpack::object(a28, z);
3073
+ o->via.array.ptr[29] = msgpack::object(a29, z);
3074
+ o->via.array.ptr[30] = msgpack::object(a30, z);
3075
+ }
3076
+
3077
+ A0& a0;
3078
+ A1& a1;
3079
+ A2& a2;
3080
+ A3& a3;
3081
+ A4& a4;
3082
+ A5& a5;
3083
+ A6& a6;
3084
+ A7& a7;
3085
+ A8& a8;
3086
+ A9& a9;
3087
+ A10& a10;
3088
+ A11& a11;
3089
+ A12& a12;
3090
+ A13& a13;
3091
+ A14& a14;
3092
+ A15& a15;
3093
+ A16& a16;
3094
+ A17& a17;
3095
+ A18& a18;
3096
+ A19& a19;
3097
+ A20& a20;
3098
+ A21& a21;
3099
+ A22& a22;
3100
+ A23& a23;
3101
+ A24& a24;
3102
+ A25& a25;
3103
+ A26& a26;
3104
+ A27& a27;
3105
+ A28& a28;
3106
+ A29& a29;
3107
+ A30& a30;
3108
+ };
3109
+
3110
+ 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>
3111
+ struct define<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> {
3112
+ typedef define<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> value_type;
3113
+ typedef tuple<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> tuple_type;
3114
+ define(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) :
3115
+ 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) {}
3116
+ template <typename Packer>
3117
+ void msgpack_pack(Packer& pk) const
3118
+ {
3119
+ pk.pack_array(32);
3120
+
3121
+ pk.pack(a0);
3122
+ pk.pack(a1);
3123
+ pk.pack(a2);
3124
+ pk.pack(a3);
3125
+ pk.pack(a4);
3126
+ pk.pack(a5);
3127
+ pk.pack(a6);
3128
+ pk.pack(a7);
3129
+ pk.pack(a8);
3130
+ pk.pack(a9);
3131
+ pk.pack(a10);
3132
+ pk.pack(a11);
3133
+ pk.pack(a12);
3134
+ pk.pack(a13);
3135
+ pk.pack(a14);
3136
+ pk.pack(a15);
3137
+ pk.pack(a16);
3138
+ pk.pack(a17);
3139
+ pk.pack(a18);
3140
+ pk.pack(a19);
3141
+ pk.pack(a20);
3142
+ pk.pack(a21);
3143
+ pk.pack(a22);
3144
+ pk.pack(a23);
3145
+ pk.pack(a24);
3146
+ pk.pack(a25);
3147
+ pk.pack(a26);
3148
+ pk.pack(a27);
3149
+ pk.pack(a28);
3150
+ pk.pack(a29);
3151
+ pk.pack(a30);
3152
+ pk.pack(a31);
3153
+ }
3154
+ void msgpack_unpack(msgpack::object const& o)
3155
+ {
3156
+ if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
3157
+ const size_t size = o.via.array.size;
3158
+ if(size > 0) {
3159
+ msgpack::object *ptr = o.via.array.ptr;
3160
+ switch(size) {
3161
+ default:
3162
+ case 32: ptr[31].convert(a31);
3163
+ case 31: ptr[30].convert(a30);
3164
+ case 30: ptr[29].convert(a29);
3165
+ case 29: ptr[28].convert(a28);
3166
+ case 28: ptr[27].convert(a27);
3167
+ case 27: ptr[26].convert(a26);
3168
+ case 26: ptr[25].convert(a25);
3169
+ case 25: ptr[24].convert(a24);
3170
+ case 24: ptr[23].convert(a23);
3171
+ case 23: ptr[22].convert(a22);
3172
+ case 22: ptr[21].convert(a21);
3173
+ case 21: ptr[20].convert(a20);
3174
+ case 20: ptr[19].convert(a19);
3175
+ case 19: ptr[18].convert(a18);
3176
+ case 18: ptr[17].convert(a17);
3177
+ case 17: ptr[16].convert(a16);
3178
+ case 16: ptr[15].convert(a15);
3179
+ case 15: ptr[14].convert(a14);
3180
+ case 14: ptr[13].convert(a13);
3181
+ case 13: ptr[12].convert(a12);
3182
+ case 12: ptr[11].convert(a11);
3183
+ case 11: ptr[10].convert(a10);
3184
+ case 10: ptr[9].convert(a9);
3185
+ case 9: ptr[8].convert(a8);
3186
+ case 8: ptr[7].convert(a7);
3187
+ case 7: ptr[6].convert(a6);
3188
+ case 6: ptr[5].convert(a5);
3189
+ case 5: ptr[4].convert(a4);
3190
+ case 4: ptr[3].convert(a3);
3191
+ case 3: ptr[2].convert(a2);
3192
+ case 2: ptr[1].convert(a1);
3193
+ case 1: ptr[0].convert(a0);
3194
+ }
3195
+ }
3196
+ }
3197
+ void msgpack_object(msgpack::object* o, msgpack::zone& z) const
3198
+ {
3199
+ o->type = msgpack::type::ARRAY;
3200
+ o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*32));
3201
+ o->via.array.size = 32;
3202
+
3203
+ o->via.array.ptr[0] = msgpack::object(a0, z);
3204
+ o->via.array.ptr[1] = msgpack::object(a1, z);
3205
+ o->via.array.ptr[2] = msgpack::object(a2, z);
3206
+ o->via.array.ptr[3] = msgpack::object(a3, z);
3207
+ o->via.array.ptr[4] = msgpack::object(a4, z);
3208
+ o->via.array.ptr[5] = msgpack::object(a5, z);
3209
+ o->via.array.ptr[6] = msgpack::object(a6, z);
3210
+ o->via.array.ptr[7] = msgpack::object(a7, z);
3211
+ o->via.array.ptr[8] = msgpack::object(a8, z);
3212
+ o->via.array.ptr[9] = msgpack::object(a9, z);
3213
+ o->via.array.ptr[10] = msgpack::object(a10, z);
3214
+ o->via.array.ptr[11] = msgpack::object(a11, z);
3215
+ o->via.array.ptr[12] = msgpack::object(a12, z);
3216
+ o->via.array.ptr[13] = msgpack::object(a13, z);
3217
+ o->via.array.ptr[14] = msgpack::object(a14, z);
3218
+ o->via.array.ptr[15] = msgpack::object(a15, z);
3219
+ o->via.array.ptr[16] = msgpack::object(a16, z);
3220
+ o->via.array.ptr[17] = msgpack::object(a17, z);
3221
+ o->via.array.ptr[18] = msgpack::object(a18, z);
3222
+ o->via.array.ptr[19] = msgpack::object(a19, z);
3223
+ o->via.array.ptr[20] = msgpack::object(a20, z);
3224
+ o->via.array.ptr[21] = msgpack::object(a21, z);
3225
+ o->via.array.ptr[22] = msgpack::object(a22, z);
3226
+ o->via.array.ptr[23] = msgpack::object(a23, z);
3227
+ o->via.array.ptr[24] = msgpack::object(a24, z);
3228
+ o->via.array.ptr[25] = msgpack::object(a25, z);
3229
+ o->via.array.ptr[26] = msgpack::object(a26, z);
3230
+ o->via.array.ptr[27] = msgpack::object(a27, z);
3231
+ o->via.array.ptr[28] = msgpack::object(a28, z);
3232
+ o->via.array.ptr[29] = msgpack::object(a29, z);
3233
+ o->via.array.ptr[30] = msgpack::object(a30, z);
3234
+ o->via.array.ptr[31] = msgpack::object(a31, z);
3235
+ }
3236
+
3237
+ A0& a0;
3238
+ A1& a1;
3239
+ A2& a2;
3240
+ A3& a3;
3241
+ A4& a4;
3242
+ A5& a5;
3243
+ A6& a6;
3244
+ A7& a7;
3245
+ A8& a8;
3246
+ A9& a9;
3247
+ A10& a10;
3248
+ A11& a11;
3249
+ A12& a12;
3250
+ A13& a13;
3251
+ A14& a14;
3252
+ A15& a15;
3253
+ A16& a16;
3254
+ A17& a17;
3255
+ A18& a18;
3256
+ A19& a19;
3257
+ A20& a20;
3258
+ A21& a21;
3259
+ A22& a22;
3260
+ A23& a23;
3261
+ A24& a24;
3262
+ A25& a25;
3263
+ A26& a26;
3264
+ A27& a27;
3265
+ A28& a28;
3266
+ A29& a29;
3267
+ A30& a30;
3268
+ A31& a31;
3269
+ };
3270
+
3271
+
3272
+ inline define<> make_define()
3273
+ {
3274
+ return define<>();
3275
+ }
3276
+
3277
+ template <typename A0>
3278
+ define<A0> make_define(A0& a0)
3279
+ {
3280
+ return define<A0>(a0);
3281
+ }
3282
+
3283
+ template <typename A0, typename A1>
3284
+ define<A0, A1> make_define(A0& a0, A1& a1)
3285
+ {
3286
+ return define<A0, A1>(a0, a1);
3287
+ }
3288
+
3289
+ template <typename A0, typename A1, typename A2>
3290
+ define<A0, A1, A2> make_define(A0& a0, A1& a1, A2& a2)
3291
+ {
3292
+ return define<A0, A1, A2>(a0, a1, a2);
3293
+ }
3294
+
3295
+ template <typename A0, typename A1, typename A2, typename A3>
3296
+ define<A0, A1, A2, A3> make_define(A0& a0, A1& a1, A2& a2, A3& a3)
3297
+ {
3298
+ return define<A0, A1, A2, A3>(a0, a1, a2, a3);
3299
+ }
3300
+
3301
+ template <typename A0, typename A1, typename A2, typename A3, typename A4>
3302
+ define<A0, A1, A2, A3, A4> make_define(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4)
3303
+ {
3304
+ return define<A0, A1, A2, A3, A4>(a0, a1, a2, a3, a4);
3305
+ }
3306
+
3307
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
3308
+ define<A0, A1, A2, A3, A4, A5> make_define(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5)
3309
+ {
3310
+ return define<A0, A1, A2, A3, A4, A5>(a0, a1, a2, a3, a4, a5);
3311
+ }
3312
+
3313
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
3314
+ define<A0, A1, A2, A3, A4, A5, A6> make_define(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6)
3315
+ {
3316
+ return define<A0, A1, A2, A3, A4, A5, A6>(a0, a1, a2, a3, a4, a5, a6);
3317
+ }
3318
+
3319
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
3320
+ define<A0, A1, A2, A3, A4, A5, A6, A7> make_define(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7)
3321
+ {
3322
+ return define<A0, A1, A2, A3, A4, A5, A6, A7>(a0, a1, a2, a3, a4, a5, a6, a7);
3323
+ }
3324
+
3325
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
3326
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8> make_define(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8)
3327
+ {
3328
+ return define<A0, A1, A2, A3, A4, A5, A6, A7, A8>(a0, a1, a2, a3, a4, a5, a6, a7, a8);
3329
+ }
3330
+
3331
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
3332
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> make_define(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9)
3333
+ {
3334
+ return define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
3335
+ }
3336
+
3337
+ template <typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
3338
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> make_define(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10)
3339
+ {
3340
+ return define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
3341
+ }
3342
+
3343
+ 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>
3344
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> make_define(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11)
3345
+ {
3346
+ return define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
3347
+ }
3348
+
3349
+ 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>
3350
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> make_define(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)
3351
+ {
3352
+ return define<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);
3353
+ }
3354
+
3355
+ 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>
3356
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> make_define(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)
3357
+ {
3358
+ return define<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);
3359
+ }
3360
+
3361
+ 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>
3362
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> make_define(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)
3363
+ {
3364
+ return define<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);
3365
+ }
3366
+
3367
+ 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>
3368
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> make_define(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)
3369
+ {
3370
+ return define<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);
3371
+ }
3372
+
3373
+ 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>
3374
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> make_define(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)
3375
+ {
3376
+ return define<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);
3377
+ }
3378
+
3379
+ 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>
3380
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> make_define(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)
3381
+ {
3382
+ return define<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);
3383
+ }
3384
+
3385
+ 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>
3386
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> make_define(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)
3387
+ {
3388
+ return define<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);
3389
+ }
3390
+
3391
+ 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>
3392
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> make_define(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)
3393
+ {
3394
+ return define<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);
3395
+ }
3396
+
3397
+ 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>
3398
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> make_define(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)
3399
+ {
3400
+ return define<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);
3401
+ }
3402
+
3403
+ 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>
3404
+ define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21> make_define(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)
3405
+ {
3406
+ return define<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);
3407
+ }
3408
+
3409
+ 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>
3410
+ define<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(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)
3411
+ {
3412
+ return define<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);
3413
+ }
3414
+
3415
+ 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>
3416
+ define<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(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)
3417
+ {
3418
+ return define<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);
3419
+ }
3420
+
3421
+ 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>
3422
+ define<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(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)
3423
+ {
3424
+ return define<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);
3425
+ }
3426
+
3427
+ 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>
3428
+ define<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(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)
3429
+ {
3430
+ return define<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);
3431
+ }
3432
+
3433
+ 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>
3434
+ define<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(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)
3435
+ {
3436
+ return define<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);
3437
+ }
3438
+
3439
+ 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>
3440
+ define<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(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)
3441
+ {
3442
+ return define<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);
3443
+ }
3444
+
3445
+ 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>
3446
+ define<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(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)
3447
+ {
3448
+ return define<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);
3449
+ }
3450
+
3451
+ 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>
3452
+ define<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(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)
3453
+ {
3454
+ return define<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);
3455
+ }
3456
+
3457
+ 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>
3458
+ define<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(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)
3459
+ {
3460
+ return define<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);
3461
+ }
3462
+
3463
+ 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>
3464
+ define<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(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)
3465
+ {
3466
+ return define<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);
3467
+ }
3468
+
3469
+
3470
+ } // namespace type
3471
+ } // MSGPACK_API_VERSION_NAMESPACE(v1)
3472
+ } // namespace msgpack
3473
+
3474
+
3475
+ #endif // MSGPACK_CPP03_DEFINE_HPP