rroonga 1.3.1-x86-mingw32 → 2.0.0-x86-mingw32

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