rroonga 4.0.3-x86-mingw32 → 4.0.4-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (682) hide show
  1. checksums.yaml +13 -5
  2. data/Gemfile +1 -1
  3. data/README.textile +1 -1
  4. data/Rakefile +8 -1
  5. data/bin/grndump +1 -1
  6. data/bin/grntest-log-analyze +1 -1
  7. data/bin/groonga-database-inspect +1 -1
  8. data/bin/groonga-index-dump +1 -1
  9. data/doc/text/news.textile +28 -0
  10. data/ext/groonga/extconf.rb +12 -2
  11. data/ext/groonga/rb-grn-accessor.c +2 -1
  12. data/ext/groonga/rb-grn-array-cursor.c +1 -1
  13. data/ext/groonga/rb-grn-array.c +1 -1
  14. data/ext/groonga/rb-grn-column.c +1 -1
  15. data/ext/groonga/rb-grn-context.c +7 -5
  16. data/ext/groonga/rb-grn-database.c +1 -1
  17. data/ext/groonga/rb-grn-double-array-trie-cursor.c +1 -1
  18. data/ext/groonga/rb-grn-double-array-trie.c +1 -1
  19. data/ext/groonga/rb-grn-encoding-support.c +1 -1
  20. data/ext/groonga/rb-grn-encoding.c +1 -1
  21. data/ext/groonga/rb-grn-exception.c +1 -1
  22. data/ext/groonga/rb-grn-expression-builder.c +1 -1
  23. data/ext/groonga/rb-grn-expression.c +1 -1
  24. data/ext/groonga/rb-grn-fix-size-column.c +1 -1
  25. data/ext/groonga/rb-grn-geo-point.c +1 -1
  26. data/ext/groonga/rb-grn-hash-cursor.c +1 -1
  27. data/ext/groonga/rb-grn-hash.c +1 -1
  28. data/ext/groonga/rb-grn-index-column.c +1 -1
  29. data/ext/groonga/rb-grn-index-cursor.c +1 -1
  30. data/ext/groonga/rb-grn-logger.c +1 -1
  31. data/ext/groonga/rb-grn-normalizer.c +1 -1
  32. data/ext/groonga/rb-grn-object.c +71 -45
  33. data/ext/groonga/rb-grn-operator.c +1 -1
  34. data/ext/groonga/rb-grn-patricia-trie-cursor.c +1 -1
  35. data/ext/groonga/rb-grn-patricia-trie.c +1 -1
  36. data/ext/groonga/rb-grn-plugin.c +1 -1
  37. data/ext/groonga/rb-grn-posting.c +1 -1
  38. data/ext/groonga/rb-grn-procedure-type.c +40 -0
  39. data/ext/groonga/rb-grn-procedure.c +17 -4
  40. data/ext/groonga/rb-grn-query-logger.c +1 -1
  41. data/ext/groonga/rb-grn-record.c +1 -1
  42. data/ext/groonga/rb-grn-snippet.c +1 -1
  43. data/ext/groonga/rb-grn-table-cursor-key-support.c +1 -1
  44. data/ext/groonga/rb-grn-table-cursor.c +1 -1
  45. data/ext/groonga/rb-grn-table-key-support.c +1 -1
  46. data/ext/groonga/rb-grn-table.c +3 -2
  47. data/ext/groonga/rb-grn-type.c +1 -1
  48. data/ext/groonga/rb-grn-utils.c +1 -1
  49. data/ext/groonga/rb-grn-variable-size-column.c +55 -27
  50. data/ext/groonga/rb-grn-variable.c +1 -1
  51. data/ext/groonga/rb-grn.h +4 -2
  52. data/ext/groonga/rb-groonga.c +3 -2
  53. data/extconf.rb +1 -1
  54. data/lib/1.9/groonga.so +0 -0
  55. data/lib/2.0/groonga.so +0 -0
  56. data/lib/2.1/groonga.so +0 -0
  57. data/lib/groonga.rb +1 -1
  58. data/lib/groonga/column.rb +1 -1
  59. data/lib/groonga/context.rb +1 -1
  60. data/lib/groonga/context/command-executor.rb +1 -1
  61. data/lib/groonga/database-inspector.rb +1 -1
  62. data/lib/groonga/database.rb +1 -1
  63. data/lib/groonga/dumper.rb +1 -1
  64. data/lib/groonga/expression-builder-19.rb +1 -1
  65. data/lib/groonga/expression-builder.rb +1 -1
  66. data/lib/groonga/geo-point.rb +1 -1
  67. data/lib/groonga/grntest-log.rb +1 -1
  68. data/lib/groonga/index-column.rb +1 -1
  69. data/lib/groonga/logger.rb +1 -1
  70. data/lib/groonga/memory-pool.rb +1 -2
  71. data/lib/groonga/pagination.rb +1 -1
  72. data/lib/groonga/patricia-trie.rb +1 -1
  73. data/lib/groonga/posting.rb +1 -1
  74. data/lib/groonga/query-logger.rb +1 -1
  75. data/lib/groonga/record.rb +6 -2
  76. data/lib/groonga/schema.rb +1 -1
  77. data/lib/groonga/statistic-measurer.rb +1 -1
  78. data/lib/groonga/sub-records.rb +1 -1
  79. data/lib/groonga/table.rb +1 -1
  80. data/misc/grnop2ruby.rb +1 -1
  81. data/rroonga-build.rb +4 -4
  82. data/rroonga.gemspec +3 -3
  83. data/test/groonga-test-utils.rb +4 -4
  84. data/test/run-test.rb +1 -1
  85. data/test/test-accessor.rb +1 -1
  86. data/test/test-array.rb +1 -1
  87. data/test/test-column.rb +1 -1
  88. data/test/test-command-select.rb +1 -1
  89. data/test/test-context.rb +21 -16
  90. data/test/test-convert.rb +1 -1
  91. data/test/test-database-dumper.rb +1 -1
  92. data/test/test-database-inspector.rb +1 -1
  93. data/test/test-database.rb +38 -25
  94. data/test/test-double-array-trie.rb +1 -1
  95. data/test/test-encoding.rb +1 -1
  96. data/test/test-exception.rb +12 -7
  97. data/test/test-expression-builder.rb +1 -1
  98. data/test/test-expression.rb +1 -1
  99. data/test/test-fix-size-column.rb +1 -1
  100. data/test/test-geo-point.rb +1 -1
  101. data/test/test-gqtp.rb +1 -1
  102. data/test/test-hash.rb +1 -1
  103. data/test/test-index-column.rb +1 -1
  104. data/test/test-index-cursor.rb +1 -1
  105. data/test/test-lock-timeout.rb +1 -1
  106. data/test/test-logger.rb +1 -1
  107. data/test/test-memory-pool.rb +1 -1
  108. data/test/test-normalizer.rb +1 -1
  109. data/test/test-pagination.rb +1 -1
  110. data/test/test-patricia-trie.rb +1 -1
  111. data/test/test-plugin.rb +1 -1
  112. data/test/test-procedure.rb +9 -2
  113. data/test/test-record.rb +1 -1
  114. data/test/test-remote.rb +1 -1
  115. data/test/test-schema-create-table.rb +1 -1
  116. data/test/test-schema-dumper.rb +1 -1
  117. data/test/test-schema-type.rb +1 -1
  118. data/test/test-schema.rb +1 -1
  119. data/test/test-snippet.rb +1 -1
  120. data/test/test-statistic-measurer.rb +1 -1
  121. data/test/test-sub-records.rb +1 -1
  122. data/test/test-table-dumper.rb +1 -1
  123. data/test/test-table-key-support.rb +1 -1
  124. data/test/test-table-offset-and-limit.rb +1 -1
  125. data/test/test-table-select-mecab.rb +1 -1
  126. data/test/test-table-select-normalize.rb +1 -1
  127. data/test/test-table-select-weight.rb +1 -1
  128. data/test/test-table-select.rb +1 -1
  129. data/test/test-table-traverse.rb +1 -1
  130. data/test/test-table.rb +1 -1
  131. data/test/test-type.rb +1 -1
  132. data/test/test-variable-size-column.rb +136 -67
  133. data/test/test-variable.rb +1 -1
  134. data/test/test-vector-column.rb +1 -1
  135. data/test/test-version.rb +1 -1
  136. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  137. data/vendor/local/bin/groonga.exe +0 -0
  138. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  139. data/vendor/local/bin/libgroonga-0.dll +0 -0
  140. data/vendor/local/bin/libmecab-1.dll +0 -0
  141. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  142. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  143. data/vendor/local/bin/libstdc++-6.dll +0 -0
  144. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  145. data/vendor/local/bin/mecab-config +0 -0
  146. data/vendor/local/bin/mecab.exe +0 -0
  147. data/vendor/local/include/groonga/groonga.h +38 -5
  148. data/vendor/local/include/groonga/groonga/plugin.h +11 -83
  149. data/vendor/local/include/groonga/groonga/tokenizer.h +10 -5
  150. data/vendor/local/include/msgpack.h +1 -0
  151. data/vendor/local/include/msgpack/fbuffer.h +47 -0
  152. data/vendor/local/include/msgpack/fbuffer.hpp +56 -0
  153. data/vendor/local/include/msgpack/object.hpp +12 -3
  154. data/vendor/local/include/msgpack/pack.h +7 -3
  155. data/vendor/local/include/msgpack/pack.hpp +26 -7
  156. data/vendor/local/include/msgpack/pack_template.h +34 -7
  157. data/vendor/local/include/msgpack/sbuffer.h +3 -2
  158. data/vendor/local/include/msgpack/sbuffer.hpp +1 -1
  159. data/vendor/local/include/msgpack/sysdep.h +27 -14
  160. data/vendor/local/include/msgpack/type.hpp +2 -1
  161. data/vendor/local/include/msgpack/type/define.hpp +747 -561
  162. data/vendor/local/include/msgpack/type/float.hpp +24 -4
  163. data/vendor/local/include/msgpack/type/int.hpp +78 -13
  164. data/vendor/local/include/msgpack/type/tr1/unordered_map.hpp +31 -10
  165. data/vendor/local/include/msgpack/type/tr1/unordered_set.hpp +30 -10
  166. data/vendor/local/include/msgpack/unpack.h +9 -9
  167. data/vendor/local/include/msgpack/unpack_define.h +16 -14
  168. data/vendor/local/include/msgpack/unpack_template.h +19 -8
  169. data/vendor/local/include/msgpack/version.h +1 -1
  170. data/vendor/local/include/msgpack/vrefbuffer.h +10 -9
  171. data/vendor/local/include/msgpack/vrefbuffer.hpp +4 -2
  172. data/vendor/local/include/msgpack/zbuffer.h +3 -2
  173. data/vendor/local/include/msgpack/zbuffer.hpp +4 -2
  174. data/vendor/local/include/msgpack/zone.h +5 -4
  175. data/vendor/local/include/msgpack/zone.hpp +10 -1
  176. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  177. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  178. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  179. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +1 -1
  180. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  181. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  182. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  183. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +1 -1
  184. data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
  185. data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
  186. data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
  187. data/vendor/local/lib/groonga/plugins/table/table.la +1 -1
  188. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  189. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  190. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  191. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  192. data/vendor/local/lib/libgroonga.a +0 -0
  193. data/vendor/local/lib/libgroonga.dll.a +0 -0
  194. data/vendor/local/lib/libgroonga.la +1 -1
  195. data/vendor/local/lib/libmecab.a +0 -0
  196. data/vendor/local/lib/libmecab.dll.a +0 -0
  197. data/vendor/local/lib/libmecab.la +2 -2
  198. data/vendor/local/lib/libmsgpack.a +0 -0
  199. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  200. data/vendor/local/lib/libmsgpack.la +1 -1
  201. data/vendor/local/lib/libmsgpackc.a +0 -0
  202. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  203. data/vendor/local/lib/libmsgpackc.la +1 -1
  204. data/vendor/local/lib/pkgconfig/groonga.pc +2 -2
  205. data/vendor/local/lib/pkgconfig/msgpack.pc +10 -0
  206. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  207. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  208. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  209. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  210. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  211. data/vendor/local/sbin/groonga-httpd-restart +0 -0
  212. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  213. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/documentation/i18n.txt +2 -6
  214. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +7 -26
  215. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +9 -5
  216. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +13 -15
  217. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
  218. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +4 -4
  219. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  220. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +5 -5
  221. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
  222. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +149 -1194
  223. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.3.x.txt +49 -0
  224. data/vendor/local/share/doc/groonga/en/html/_sources/news/2.x.txt +617 -0
  225. data/vendor/local/share/doc/groonga/en/html/_sources/news/3.x.txt +536 -0
  226. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/plugin.txt +122 -3
  227. data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/vector.txt +0 -1
  228. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/check.txt +50 -55
  229. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/clearlock.txt +25 -31
  230. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_remove.txt +26 -29
  231. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/define_selector.txt +20 -26
  232. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/defrag.txt +26 -29
  233. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/dump.txt +28 -28
  234. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/log_level.txt +20 -26
  235. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/log_put.txt +20 -26
  236. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/log_reopen.txt +29 -34
  237. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/normalizer_list.txt +3 -3
  238. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/quit.txt +20 -20
  239. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/register.txt +2 -2
  240. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/shutdown.txt +19 -20
  241. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/status.txt +19 -24
  242. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/suggest.txt +78 -87
  243. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_list.txt +20 -22
  244. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_remove.txt +19 -24
  245. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/tokenize.txt +27 -0
  246. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/tokenizer_list.txt +3 -3
  247. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-benchmark.txt +17 -5
  248. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-suggest-learner.txt +17 -8
  249. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga.txt +2 -2
  250. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_full.txt +132 -0
  251. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_html.txt +100 -0
  252. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/snippet_html.txt +1 -1
  253. data/vendor/local/share/doc/groonga/en/html/_sources/server/http/comparison.txt +1 -1
  254. data/vendor/local/share/doc/groonga/en/html/_sources/troubleshooting/mmap_cannot_allocate_memory.txt +1 -1
  255. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/data.txt +6 -2
  256. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/drilldown.txt +3 -2
  257. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/index.txt +28 -25
  258. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/match_columns.txt +26 -21
  259. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +3 -3
  260. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/patricia_trie.txt +17 -12
  261. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/search.txt +44 -42
  262. data/vendor/local/share/doc/groonga/en/html/_static/basic.css +0 -18
  263. data/vendor/local/share/doc/groonga/en/html/_static/groonga.css +2 -0
  264. data/vendor/local/share/doc/groonga/en/html/characteristic.html +17 -19
  265. data/vendor/local/share/doc/groonga/en/html/community.html +17 -19
  266. data/vendor/local/share/doc/groonga/en/html/contribution.html +17 -19
  267. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +17 -19
  268. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +17 -19
  269. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +17 -19
  270. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +17 -19
  271. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +17 -19
  272. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +17 -19
  273. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +17 -19
  274. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +17 -19
  275. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +17 -19
  276. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +17 -19
  277. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +17 -19
  278. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +17 -19
  279. data/vendor/local/share/doc/groonga/en/html/development.html +17 -19
  280. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +17 -19
  281. data/vendor/local/share/doc/groonga/en/html/genindex.html +136 -26
  282. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +17 -19
  283. data/vendor/local/share/doc/groonga/en/html/index.html +56 -56
  284. data/vendor/local/share/doc/groonga/en/html/install.html +17 -19
  285. data/vendor/local/share/doc/groonga/en/html/install/centos.html +43 -50
  286. data/vendor/local/share/doc/groonga/en/html/install/debian.html +59 -35
  287. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +40 -44
  288. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +20 -22
  289. data/vendor/local/share/doc/groonga/en/html/install/others.html +21 -23
  290. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +20 -22
  291. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +33 -35
  292. data/vendor/local/share/doc/groonga/en/html/install/windows.html +26 -28
  293. data/vendor/local/share/doc/groonga/en/html/limitations.html +17 -19
  294. data/vendor/local/share/doc/groonga/en/html/news.html +320 -1367
  295. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +17 -19
  296. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +17 -19
  297. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +17 -19
  298. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +17 -19
  299. data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +160 -0
  300. data/vendor/local/share/doc/groonga/en/html/news/2.x.html +804 -0
  301. data/vendor/local/share/doc/groonga/en/html/news/3.x.html +727 -0
  302. data/vendor/local/share/doc/groonga/en/html/news/senna.html +17 -19
  303. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  304. data/vendor/local/share/doc/groonga/en/html/reference.html +41 -41
  305. data/vendor/local/share/doc/groonga/en/html/reference/api.html +17 -19
  306. data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +19 -21
  307. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +23 -25
  308. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +23 -25
  309. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +19 -21
  310. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +28 -30
  311. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +21 -23
  312. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +21 -23
  313. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +30 -32
  314. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +21 -23
  315. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +21 -23
  316. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +21 -23
  317. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +19 -21
  318. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +21 -23
  319. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +21 -23
  320. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +40 -42
  321. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +20 -22
  322. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +18 -20
  323. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +35 -37
  324. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +25 -27
  325. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +18 -20
  326. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +18 -20
  327. data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +226 -24
  328. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +17 -19
  329. data/vendor/local/share/doc/groonga/en/html/reference/column.html +17 -19
  330. data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +17 -19
  331. data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +17 -20
  332. data/vendor/local/share/doc/groonga/en/html/reference/command.html +33 -35
  333. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +17 -19
  334. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +17 -19
  335. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +17 -19
  336. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +18 -20
  337. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +73 -85
  338. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +50 -62
  339. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +18 -20
  340. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +18 -20
  341. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +53 -65
  342. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +19 -21
  343. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +45 -57
  344. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +49 -59
  345. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +19 -21
  346. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +47 -51
  347. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +19 -21
  348. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +44 -56
  349. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +45 -57
  350. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +54 -63
  351. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +18 -20
  352. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +21 -23
  353. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +42 -46
  354. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +20 -22
  355. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +18 -20
  356. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +17 -19
  357. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +18 -20
  358. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +41 -46
  359. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +52 -64
  360. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +201 -213
  361. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +19 -21
  362. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +74 -81
  363. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +42 -54
  364. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +174 -20
  365. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +20 -22
  366. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +17 -19
  367. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +17 -19
  368. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +17 -19
  369. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +31 -24
  370. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +17 -19
  371. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +17 -19
  372. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +17 -19
  373. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +17 -19
  374. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +38 -27
  375. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +19 -21
  376. data/vendor/local/share/doc/groonga/en/html/reference/function.html +25 -25
  377. data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +17 -19
  378. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +17 -19
  379. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +17 -19
  380. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +17 -19
  381. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +22 -24
  382. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +311 -0
  383. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +278 -0
  384. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +42 -44
  385. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +37 -39
  386. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +53 -55
  387. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +39 -41
  388. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +40 -42
  389. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +39 -41
  390. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +17 -19
  391. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +17 -19
  392. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +17 -19
  393. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +21 -23
  394. data/vendor/local/share/doc/groonga/en/html/reference/log.html +18 -20
  395. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +17 -19
  396. data/vendor/local/share/doc/groonga/en/html/reference/output.html +17 -19
  397. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +17 -19
  398. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +17 -19
  399. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +17 -19
  400. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +17 -19
  401. data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +17 -19
  402. data/vendor/local/share/doc/groonga/en/html/reference/types.html +17 -19
  403. data/vendor/local/share/doc/groonga/en/html/search.html +11 -11
  404. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  405. data/vendor/local/share/doc/groonga/en/html/server.html +17 -19
  406. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +17 -19
  407. data/vendor/local/share/doc/groonga/en/html/server/http.html +17 -19
  408. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +18 -20
  409. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +17 -19
  410. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +17 -19
  411. data/vendor/local/share/doc/groonga/en/html/server/package.html +17 -19
  412. data/vendor/local/share/doc/groonga/en/html/spec.html +17 -19
  413. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +17 -19
  414. data/vendor/local/share/doc/groonga/en/html/spec/search.html +17 -19
  415. data/vendor/local/share/doc/groonga/en/html/suggest.html +17 -19
  416. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +17 -19
  417. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +17 -19
  418. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +17 -19
  419. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +17 -19
  420. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +17 -19
  421. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +17 -19
  422. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +17 -19
  423. data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +18 -20
  424. data/vendor/local/share/doc/groonga/en/html/tutorial.html +32 -34
  425. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +21 -23
  426. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +28 -29
  427. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +52 -52
  428. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +17 -19
  429. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +21 -23
  430. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +57 -56
  431. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +22 -24
  432. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +20 -22
  433. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +46 -44
  434. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +17 -19
  435. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +71 -69
  436. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  437. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/documentation/i18n.txt +2 -6
  438. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +7 -26
  439. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +9 -5
  440. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +13 -15
  441. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
  442. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +4 -4
  443. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  444. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +5 -5
  445. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
  446. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +149 -1194
  447. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.3.x.txt +49 -0
  448. data/vendor/local/share/doc/groonga/ja/html/_sources/news/2.x.txt +617 -0
  449. data/vendor/local/share/doc/groonga/ja/html/_sources/news/3.x.txt +536 -0
  450. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/plugin.txt +122 -3
  451. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/vector.txt +0 -1
  452. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/check.txt +50 -55
  453. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/clearlock.txt +25 -31
  454. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_remove.txt +26 -29
  455. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/define_selector.txt +20 -26
  456. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/defrag.txt +26 -29
  457. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/dump.txt +28 -28
  458. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/log_level.txt +20 -26
  459. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/log_put.txt +20 -26
  460. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/log_reopen.txt +29 -34
  461. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/normalizer_list.txt +3 -3
  462. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/quit.txt +20 -20
  463. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/register.txt +2 -2
  464. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/shutdown.txt +19 -20
  465. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/status.txt +19 -24
  466. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/suggest.txt +78 -87
  467. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_list.txt +20 -22
  468. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_remove.txt +19 -24
  469. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/tokenize.txt +27 -0
  470. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/tokenizer_list.txt +3 -3
  471. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-benchmark.txt +17 -5
  472. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-suggest-learner.txt +17 -8
  473. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga.txt +2 -2
  474. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_full.txt +132 -0
  475. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_html.txt +100 -0
  476. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/snippet_html.txt +1 -1
  477. data/vendor/local/share/doc/groonga/ja/html/_sources/server/http/comparison.txt +1 -1
  478. data/vendor/local/share/doc/groonga/ja/html/_sources/troubleshooting/mmap_cannot_allocate_memory.txt +1 -1
  479. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/data.txt +6 -2
  480. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/drilldown.txt +3 -2
  481. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/index.txt +28 -25
  482. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/match_columns.txt +26 -21
  483. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +3 -3
  484. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/patricia_trie.txt +17 -12
  485. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/search.txt +44 -42
  486. data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +0 -18
  487. data/vendor/local/share/doc/groonga/ja/html/_static/groonga.css +2 -0
  488. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +17 -19
  489. data/vendor/local/share/doc/groonga/ja/html/community.html +17 -19
  490. data/vendor/local/share/doc/groonga/ja/html/contribution.html +17 -19
  491. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +17 -19
  492. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +17 -19
  493. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +17 -19
  494. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +17 -19
  495. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +17 -19
  496. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +17 -19
  497. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +17 -19
  498. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +17 -19
  499. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +17 -19
  500. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +19 -21
  501. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +17 -19
  502. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +18 -20
  503. data/vendor/local/share/doc/groonga/ja/html/development.html +17 -19
  504. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +17 -19
  505. data/vendor/local/share/doc/groonga/ja/html/genindex.html +136 -26
  506. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +17 -19
  507. data/vendor/local/share/doc/groonga/ja/html/index.html +53 -53
  508. data/vendor/local/share/doc/groonga/ja/html/install.html +17 -19
  509. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +44 -50
  510. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +62 -36
  511. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +33 -35
  512. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +20 -22
  513. data/vendor/local/share/doc/groonga/ja/html/install/others.html +21 -23
  514. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +20 -22
  515. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +34 -36
  516. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +26 -28
  517. data/vendor/local/share/doc/groonga/ja/html/limitations.html +17 -19
  518. data/vendor/local/share/doc/groonga/ja/html/news.html +354 -1643
  519. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +17 -19
  520. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +17 -19
  521. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +17 -19
  522. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +17 -19
  523. data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +180 -0
  524. data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +950 -0
  525. data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +831 -0
  526. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +17 -19
  527. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  528. data/vendor/local/share/doc/groonga/ja/html/reference.html +41 -41
  529. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +17 -19
  530. data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +19 -21
  531. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +24 -26
  532. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +23 -25
  533. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +19 -21
  534. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +28 -30
  535. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +21 -23
  536. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +21 -23
  537. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +30 -32
  538. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +21 -23
  539. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +21 -23
  540. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +21 -23
  541. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +19 -21
  542. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +21 -23
  543. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +21 -23
  544. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +40 -42
  545. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +20 -22
  546. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +18 -20
  547. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +35 -37
  548. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +25 -27
  549. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +18 -20
  550. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +18 -20
  551. data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +226 -24
  552. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +17 -19
  553. data/vendor/local/share/doc/groonga/ja/html/reference/column.html +17 -19
  554. data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +17 -19
  555. data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +17 -21
  556. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +33 -35
  557. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +17 -19
  558. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +17 -19
  559. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +17 -19
  560. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +18 -20
  561. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +73 -85
  562. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +50 -62
  563. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +18 -20
  564. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +42 -57
  565. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +53 -65
  566. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +27 -35
  567. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +45 -57
  568. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +49 -59
  569. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +19 -21
  570. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +47 -51
  571. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +19 -21
  572. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +44 -56
  573. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +45 -57
  574. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +54 -63
  575. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +20 -22
  576. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +27 -30
  577. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +42 -46
  578. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +20 -22
  579. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +18 -20
  580. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +17 -19
  581. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +18 -20
  582. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +41 -46
  583. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +52 -64
  584. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +195 -207
  585. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +19 -21
  586. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +74 -81
  587. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +42 -54
  588. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +172 -21
  589. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +26 -29
  590. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +17 -19
  591. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +17 -19
  592. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +17 -19
  593. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +31 -24
  594. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +17 -19
  595. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +17 -19
  596. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +17 -19
  597. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +17 -19
  598. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +38 -27
  599. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +19 -21
  600. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +25 -25
  601. data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +18 -21
  602. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +17 -19
  603. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +17 -19
  604. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +17 -19
  605. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +22 -24
  606. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +294 -0
  607. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +266 -0
  608. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +42 -44
  609. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +37 -39
  610. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +55 -62
  611. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +39 -41
  612. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +39 -41
  613. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +39 -41
  614. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +17 -19
  615. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +17 -19
  616. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +17 -19
  617. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +21 -23
  618. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +18 -20
  619. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +17 -19
  620. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +17 -19
  621. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +17 -19
  622. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +17 -19
  623. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +17 -19
  624. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +17 -19
  625. data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +17 -19
  626. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +17 -19
  627. data/vendor/local/share/doc/groonga/ja/html/search.html +11 -11
  628. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  629. data/vendor/local/share/doc/groonga/ja/html/server.html +17 -19
  630. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +17 -19
  631. data/vendor/local/share/doc/groonga/ja/html/server/http.html +17 -19
  632. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +18 -20
  633. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +17 -19
  634. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +17 -19
  635. data/vendor/local/share/doc/groonga/ja/html/server/package.html +17 -19
  636. data/vendor/local/share/doc/groonga/ja/html/spec.html +17 -19
  637. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +17 -19
  638. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +17 -19
  639. data/vendor/local/share/doc/groonga/ja/html/suggest.html +17 -19
  640. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +17 -19
  641. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +17 -19
  642. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +17 -19
  643. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +17 -19
  644. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +17 -19
  645. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +17 -19
  646. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +17 -19
  647. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +18 -20
  648. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +29 -31
  649. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +24 -26
  650. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +28 -31
  651. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +33 -35
  652. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +20 -22
  653. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +17 -19
  654. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +43 -43
  655. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +19 -21
  656. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +21 -23
  657. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +39 -38
  658. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +17 -19
  659. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +68 -64
  660. data/vendor/local/share/groonga/examples/dictionary/edict/edict-import.sh +0 -0
  661. data/vendor/local/share/groonga/examples/dictionary/edict/edict2grn.rb +2 -2
  662. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro-import.sh +0 -0
  663. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro2grn.rb +0 -0
  664. data/vendor/local/share/groonga/examples/dictionary/gene95/gene-import.sh +0 -0
  665. data/vendor/local/share/groonga/examples/dictionary/gene95/gene2grn.rb +0 -0
  666. data/vendor/local/share/groonga/examples/dictionary/html/index.html +2 -2
  667. data/vendor/local/share/groonga/examples/dictionary/html/js/jquery-1.7.2.min.js +4 -0
  668. data/vendor/local/share/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.min.js +356 -0
  669. data/vendor/local/share/groonga/examples/dictionary/init-db.sh +0 -0
  670. data/vendor/local/share/groonga/examples/dictionary/jmdict/jmdict.rb +0 -0
  671. data/vendor/local/share/groonga/html/admin/css/groonga-admin.css +11 -0
  672. data/vendor/local/share/groonga/html/admin/index.html +75 -75
  673. data/vendor/local/share/groonga/html/admin/index.ja.html +301 -0
  674. data/vendor/local/share/groonga/html/admin/js/groonga-admin.ja.js +1372 -0
  675. data/vendor/local/share/groonga/html/admin/js/groonga-admin.js +28 -28
  676. data/vendor/local/share/license/groonga/README.md +49 -0
  677. data/vendor/local/share/man/ja/man1/groonga.1 +1934 -1247
  678. data/vendor/local/share/man/man1/groonga.1 +2008 -1240
  679. metadata +111 -83
  680. data/vendor/local/share/groonga/examples/dictionary/html/js/jquery-1.6.0.min.js +0 -16
  681. data/vendor/local/share/groonga/examples/dictionary/html/js/jquery-ui-1.8.12.min.js +0 -406
  682. data/vendor/local/share/license/groonga/AUTHORS +0 -17
@@ -372,6 +372,28 @@ msgpack_pack_inline_func(_int64)(msgpack_pack_user x, int64_t d)
372
372
  msgpack_pack_real_int64(x, d);
373
373
  }
374
374
 
375
+ msgpack_pack_inline_func(_char)(msgpack_pack_user x, char d)
376
+ {
377
+ #if defined(CHAR_MIN)
378
+ #if CHAR_MIN < 0
379
+ msgpack_pack_real_int8(x, d);
380
+ #else
381
+ msgpack_pack_real_uint8(x, d);
382
+ #endif
383
+ #else
384
+ #error CHAR_MIN is not defined
385
+ #endif
386
+ }
387
+
388
+ msgpack_pack_inline_func(_signed_char)(msgpack_pack_user x, signed char d)
389
+ {
390
+ msgpack_pack_real_int8(x, d);
391
+ }
392
+
393
+ msgpack_pack_inline_func(_unsigned_char)(msgpack_pack_user x, unsigned char d)
394
+ {
395
+ msgpack_pack_real_uint8(x, d);
396
+ }
375
397
 
376
398
  #ifdef msgpack_pack_inline_func_cint
377
399
 
@@ -634,19 +656,24 @@ if(sizeof(unsigned long long) == 2) {
634
656
 
635
657
  msgpack_pack_inline_func(_float)(msgpack_pack_user x, float d)
636
658
  {
659
+ unsigned char buf[5];
637
660
  union { float f; uint32_t i; } mem;
638
661
  mem.f = d;
639
- unsigned char buf[5];
640
662
  buf[0] = 0xca; _msgpack_store32(&buf[1], mem.i);
641
663
  msgpack_pack_append_buffer(x, buf, 5);
642
664
  }
643
665
 
644
666
  msgpack_pack_inline_func(_double)(msgpack_pack_user x, double d)
645
667
  {
668
+ unsigned char buf[9];
646
669
  union { double f; uint64_t i; } mem;
647
670
  mem.f = d;
648
- unsigned char buf[9];
649
- buf[0] = 0xcb; _msgpack_store64(&buf[1], mem.i);
671
+ buf[0] = 0xcb;
672
+ #if defined(__arm__) && !(__ARM_EABI__) // arm-oabi
673
+ // https://github.com/msgpack/msgpack-perl/pull/1
674
+ mem.i = (mem.i & 0xFFFFFFFFUL) << 32UL | (mem.i >> 32UL);
675
+ #endif
676
+ _msgpack_store64(&buf[1], mem.i);
650
677
  msgpack_pack_append_buffer(x, buf, 9);
651
678
  }
652
679
 
@@ -683,10 +710,10 @@ msgpack_pack_inline_func(_false)(msgpack_pack_user x)
683
710
  * Array
684
711
  */
685
712
 
686
- msgpack_pack_inline_func(_array)(msgpack_pack_user x, unsigned int n)
713
+ msgpack_pack_inline_func(_array)(msgpack_pack_user x, size_t n)
687
714
  {
688
715
  if(n < 16) {
689
- unsigned char d = 0x90 | n;
716
+ unsigned char d = 0x90 | (uint8_t)n;
690
717
  msgpack_pack_append_buffer(x, &d, 1);
691
718
  } else if(n < 65536) {
692
719
  unsigned char buf[3];
@@ -704,10 +731,10 @@ msgpack_pack_inline_func(_array)(msgpack_pack_user x, unsigned int n)
704
731
  * Map
705
732
  */
706
733
 
707
- msgpack_pack_inline_func(_map)(msgpack_pack_user x, unsigned int n)
734
+ msgpack_pack_inline_func(_map)(msgpack_pack_user x, size_t n)
708
735
  {
709
736
  if(n < 16) {
710
- unsigned char d = 0x80 | n;
737
+ unsigned char d = 0x80 | (uint8_t)n;
711
738
  msgpack_pack_append_buffer(x, &TAKE8_8(d), 1);
712
739
  } else if(n < 65536) {
713
740
  unsigned char buf[3];
@@ -64,17 +64,18 @@ static inline void msgpack_sbuffer_free(msgpack_sbuffer* sbuf)
64
64
  #define MSGPACK_SBUFFER_INIT_SIZE 8192
65
65
  #endif
66
66
 
67
- static inline int msgpack_sbuffer_write(void* data, const char* buf, unsigned int len)
67
+ static inline int msgpack_sbuffer_write(void* data, const char* buf, size_t len)
68
68
  {
69
69
  msgpack_sbuffer* sbuf = (msgpack_sbuffer*)data;
70
70
 
71
71
  if(sbuf->alloc - sbuf->size < len) {
72
+ void* tmp;
72
73
  size_t nsize = (sbuf->alloc) ?
73
74
  sbuf->alloc * 2 : MSGPACK_SBUFFER_INIT_SIZE;
74
75
 
75
76
  while(nsize < sbuf->size + len) { nsize *= 2; }
76
77
 
77
- void* tmp = realloc(sbuf->data, nsize);
78
+ tmp = realloc(sbuf->data, nsize);
78
79
  if(!tmp) { return -1; }
79
80
 
80
81
  sbuf->data = (char*)tmp;
@@ -47,7 +47,7 @@ public:
47
47
  }
48
48
 
49
49
  public:
50
- void write(const char* buf, unsigned int len)
50
+ void write(const char* buf, size_t len)
51
51
  {
52
52
  if(base::alloc - base::size < len) {
53
53
  expand_buffer(len);
@@ -153,24 +153,24 @@ typedef unsigned int _msgpack_atomic_counter_t;
153
153
  #define _msgpack_be64(x) (x)
154
154
 
155
155
  #define _msgpack_load16(cast, from) ((cast)( \
156
- (((uint16_t)((uint8_t*)from)[1]) << 8) | \
157
- (((uint16_t)((uint8_t*)from)[0]) ) ))
156
+ (((uint16_t)((uint8_t*)from)[0]) << 8) | \
157
+ (((uint16_t)((uint8_t*)from)[1]) ) ))
158
158
 
159
159
  #define _msgpack_load32(cast, from) ((cast)( \
160
- (((uint32_t)((uint8_t*)from)[3]) << 24) | \
161
- (((uint32_t)((uint8_t*)from)[2]) << 16) | \
162
- (((uint32_t)((uint8_t*)from)[1]) << 8) | \
163
- (((uint32_t)((uint8_t*)from)[0]) ) ))
160
+ (((uint32_t)((uint8_t*)from)[0]) << 24) | \
161
+ (((uint32_t)((uint8_t*)from)[1]) << 16) | \
162
+ (((uint32_t)((uint8_t*)from)[2]) << 8) | \
163
+ (((uint32_t)((uint8_t*)from)[3]) ) ))
164
164
 
165
165
  #define _msgpack_load64(cast, from) ((cast)( \
166
- (((uint64_t)((uint8_t*)from)[7]) << 56) | \
167
- (((uint64_t)((uint8_t*)from)[6]) << 48) | \
168
- (((uint64_t)((uint8_t*)from)[5]) << 40) | \
169
- (((uint64_t)((uint8_t*)from)[4]) << 32) | \
170
- (((uint64_t)((uint8_t*)from)[3]) << 24) | \
171
- (((uint64_t)((uint8_t*)from)[2]) << 16) | \
172
- (((uint64_t)((uint8_t*)from)[1]) << 8) | \
173
- (((uint64_t)((uint8_t*)from)[0]) ) ))
166
+ (((uint64_t)((uint8_t*)from)[0]) << 56) | \
167
+ (((uint64_t)((uint8_t*)from)[1]) << 48) | \
168
+ (((uint64_t)((uint8_t*)from)[2]) << 40) | \
169
+ (((uint64_t)((uint8_t*)from)[3]) << 32) | \
170
+ (((uint64_t)((uint8_t*)from)[4]) << 24) | \
171
+ (((uint64_t)((uint8_t*)from)[5]) << 16) | \
172
+ (((uint64_t)((uint8_t*)from)[6]) << 8) | \
173
+ (((uint64_t)((uint8_t*)from)[7]) ) ))
174
174
  #endif
175
175
 
176
176
 
@@ -191,5 +191,18 @@ typedef unsigned int _msgpack_atomic_counter_t;
191
191
  */
192
192
 
193
193
 
194
+ #if !defined(__cplusplus) && defined(_MSC_VER)
195
+ #if !defined(FALSE)
196
+ #define FALSE (0)
197
+ #endif
198
+ #if !defined(TRUE)
199
+ #define TRUE (!FALSE)
200
+ #endif
201
+ #define bool int
202
+ #define true TRUE
203
+ #define false FALSE
204
+ #define inline __inline
205
+ #endif
206
+
194
207
  #endif /* msgpack/sysdep.h */
195
208
 
@@ -13,4 +13,5 @@
13
13
  #include "type/vector.hpp"
14
14
  #include "type/tuple.hpp"
15
15
  #include "type/define.hpp"
16
-
16
+ #include "type/tr1/unordered_map.hpp"
17
+ #include "type/tr1/unordered_set.hpp"
@@ -34,6 +34,32 @@
34
34
  msgpack::type::make_define(__VA_ARGS__).msgpack_object(o, z); \
35
35
  }
36
36
 
37
+ // MSGPACK_ADD_ENUM must be used in the global namespace.
38
+ #define MSGPACK_ADD_ENUM(enum) \
39
+ namespace msgpack { \
40
+ template <> \
41
+ inline enum& operator>> (object o, enum& v) \
42
+ { \
43
+ int tmp; \
44
+ o >> tmp; \
45
+ v = static_cast<enum>(tmp); \
46
+ return v; \
47
+ } \
48
+ template <> \
49
+ inline void operator<< (object::with_zone& o, const enum& v) \
50
+ { \
51
+ o << static_cast<int>(v); \
52
+ } \
53
+ namespace detail { \
54
+ template <typename Stream> \
55
+ struct packer_serializer<Stream, enum> { \
56
+ static packer<Stream>& pack(packer<Stream>& o, const enum& v) { \
57
+ return o << static_cast<int>(v); \
58
+ } \
59
+ }; \
60
+ } \
61
+ }
62
+
37
63
  namespace msgpack {
38
64
  namespace type {
39
65
 
@@ -50,7 +76,7 @@ struct define<> {
50
76
  template <typename Packer>
51
77
  void msgpack_pack(Packer& pk) const
52
78
  {
53
- pk.pack_array(1);
79
+ pk.pack_array(0);
54
80
  }
55
81
  void msgpack_unpack(msgpack::object o)
56
82
  {
@@ -81,8 +107,13 @@ struct define<A0> {
81
107
  {
82
108
  if(o.type != type::ARRAY) { throw type_error(); }
83
109
  const size_t size = o.via.array.size;
84
-
85
- if(size <= 0) { return; } o.via.array.ptr[0].convert(&a0);
110
+ if(size > 0) {
111
+ msgpack::object *ptr = o.via.array.ptr;
112
+ switch(size) {
113
+ default:
114
+ case 1: ptr[0].convert(&a0);
115
+ }
116
+ }
86
117
  }
87
118
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
88
119
  {
@@ -114,9 +145,14 @@ struct define<A0, A1> {
114
145
  {
115
146
  if(o.type != type::ARRAY) { throw type_error(); }
116
147
  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);
148
+ if(size > 0) {
149
+ msgpack::object *ptr = o.via.array.ptr;
150
+ switch(size) {
151
+ default:
152
+ case 2: ptr[1].convert(&a1);
153
+ case 1: ptr[0].convert(&a0);
154
+ }
155
+ }
120
156
  }
121
157
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
122
158
  {
@@ -151,10 +187,15 @@ struct define<A0, A1, A2> {
151
187
  {
152
188
  if(o.type != type::ARRAY) { throw type_error(); }
153
189
  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);
190
+ if(size > 0) {
191
+ msgpack::object *ptr = o.via.array.ptr;
192
+ switch(size) {
193
+ default:
194
+ case 3: ptr[2].convert(&a2);
195
+ case 2: ptr[1].convert(&a1);
196
+ case 1: ptr[0].convert(&a0);
197
+ }
198
+ }
158
199
  }
159
200
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
160
201
  {
@@ -192,11 +233,16 @@ struct define<A0, A1, A2, A3> {
192
233
  {
193
234
  if(o.type != type::ARRAY) { throw type_error(); }
194
235
  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);
236
+ if(size > 0) {
237
+ msgpack::object *ptr = o.via.array.ptr;
238
+ switch(size) {
239
+ default:
240
+ case 4: ptr[3].convert(&a3);
241
+ case 3: ptr[2].convert(&a2);
242
+ case 2: ptr[1].convert(&a1);
243
+ case 1: ptr[0].convert(&a0);
244
+ }
245
+ }
200
246
  }
201
247
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
202
248
  {
@@ -237,12 +283,17 @@ struct define<A0, A1, A2, A3, A4> {
237
283
  {
238
284
  if(o.type != type::ARRAY) { throw type_error(); }
239
285
  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);
286
+ if(size > 0) {
287
+ msgpack::object *ptr = o.via.array.ptr;
288
+ switch(size) {
289
+ default:
290
+ case 5: ptr[4].convert(&a4);
291
+ case 4: ptr[3].convert(&a3);
292
+ case 3: ptr[2].convert(&a2);
293
+ case 2: ptr[1].convert(&a1);
294
+ case 1: ptr[0].convert(&a0);
295
+ }
296
+ }
246
297
  }
247
298
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
248
299
  {
@@ -286,13 +337,18 @@ struct define<A0, A1, A2, A3, A4, A5> {
286
337
  {
287
338
  if(o.type != type::ARRAY) { throw type_error(); }
288
339
  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);
340
+ if(size > 0) {
341
+ msgpack::object *ptr = o.via.array.ptr;
342
+ switch(size) {
343
+ default:
344
+ case 6: ptr[5].convert(&a5);
345
+ case 5: ptr[4].convert(&a4);
346
+ case 4: ptr[3].convert(&a3);
347
+ case 3: ptr[2].convert(&a2);
348
+ case 2: ptr[1].convert(&a1);
349
+ case 1: ptr[0].convert(&a0);
350
+ }
351
+ }
296
352
  }
297
353
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
298
354
  {
@@ -339,14 +395,19 @@ struct define<A0, A1, A2, A3, A4, A5, A6> {
339
395
  {
340
396
  if(o.type != type::ARRAY) { throw type_error(); }
341
397
  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);
398
+ if(size > 0) {
399
+ msgpack::object *ptr = o.via.array.ptr;
400
+ switch(size) {
401
+ default:
402
+ case 7: ptr[6].convert(&a6);
403
+ case 6: ptr[5].convert(&a5);
404
+ case 5: ptr[4].convert(&a4);
405
+ case 4: ptr[3].convert(&a3);
406
+ case 3: ptr[2].convert(&a2);
407
+ case 2: ptr[1].convert(&a1);
408
+ case 1: ptr[0].convert(&a0);
409
+ }
410
+ }
350
411
  }
351
412
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
352
413
  {
@@ -396,15 +457,20 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7> {
396
457
  {
397
458
  if(o.type != type::ARRAY) { throw type_error(); }
398
459
  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);
460
+ if(size > 0) {
461
+ msgpack::object *ptr = o.via.array.ptr;
462
+ switch(size) {
463
+ default:
464
+ case 8: ptr[7].convert(&a7);
465
+ case 7: ptr[6].convert(&a6);
466
+ case 6: ptr[5].convert(&a5);
467
+ case 5: ptr[4].convert(&a4);
468
+ case 4: ptr[3].convert(&a3);
469
+ case 3: ptr[2].convert(&a2);
470
+ case 2: ptr[1].convert(&a1);
471
+ case 1: ptr[0].convert(&a0);
472
+ }
473
+ }
408
474
  }
409
475
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
410
476
  {
@@ -457,16 +523,21 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8> {
457
523
  {
458
524
  if(o.type != type::ARRAY) { throw type_error(); }
459
525
  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);
526
+ if(size > 0) {
527
+ msgpack::object *ptr = o.via.array.ptr;
528
+ switch(size) {
529
+ default:
530
+ case 9: ptr[8].convert(&a8);
531
+ case 8: ptr[7].convert(&a7);
532
+ case 7: ptr[6].convert(&a6);
533
+ case 6: ptr[5].convert(&a5);
534
+ case 5: ptr[4].convert(&a4);
535
+ case 4: ptr[3].convert(&a3);
536
+ case 3: ptr[2].convert(&a2);
537
+ case 2: ptr[1].convert(&a1);
538
+ case 1: ptr[0].convert(&a0);
539
+ }
540
+ }
470
541
  }
471
542
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
472
543
  {
@@ -522,17 +593,22 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> {
522
593
  {
523
594
  if(o.type != type::ARRAY) { throw type_error(); }
524
595
  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);
596
+ if(size > 0) {
597
+ msgpack::object *ptr = o.via.array.ptr;
598
+ switch(size) {
599
+ default:
600
+ case 10: ptr[9].convert(&a9);
601
+ case 9: ptr[8].convert(&a8);
602
+ case 8: ptr[7].convert(&a7);
603
+ case 7: ptr[6].convert(&a6);
604
+ case 6: ptr[5].convert(&a5);
605
+ case 5: ptr[4].convert(&a4);
606
+ case 4: ptr[3].convert(&a3);
607
+ case 3: ptr[2].convert(&a2);
608
+ case 2: ptr[1].convert(&a1);
609
+ case 1: ptr[0].convert(&a0);
610
+ }
611
+ }
536
612
  }
537
613
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
538
614
  {
@@ -591,18 +667,23 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> {
591
667
  {
592
668
  if(o.type != type::ARRAY) { throw type_error(); }
593
669
  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);
670
+ if(size > 0) {
671
+ msgpack::object *ptr = o.via.array.ptr;
672
+ switch(size) {
673
+ default:
674
+ case 11: ptr[10].convert(&a10);
675
+ case 10: ptr[9].convert(&a9);
676
+ case 9: ptr[8].convert(&a8);
677
+ case 8: ptr[7].convert(&a7);
678
+ case 7: ptr[6].convert(&a6);
679
+ case 6: ptr[5].convert(&a5);
680
+ case 5: ptr[4].convert(&a4);
681
+ case 4: ptr[3].convert(&a3);
682
+ case 3: ptr[2].convert(&a2);
683
+ case 2: ptr[1].convert(&a1);
684
+ case 1: ptr[0].convert(&a0);
685
+ }
686
+ }
606
687
  }
607
688
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
608
689
  {
@@ -664,19 +745,24 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> {
664
745
  {
665
746
  if(o.type != type::ARRAY) { throw type_error(); }
666
747
  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);
748
+ if(size > 0) {
749
+ msgpack::object *ptr = o.via.array.ptr;
750
+ switch(size) {
751
+ default:
752
+ case 12: ptr[11].convert(&a11);
753
+ case 11: ptr[10].convert(&a10);
754
+ case 10: ptr[9].convert(&a9);
755
+ case 9: ptr[8].convert(&a8);
756
+ case 8: ptr[7].convert(&a7);
757
+ case 7: ptr[6].convert(&a6);
758
+ case 6: ptr[5].convert(&a5);
759
+ case 5: ptr[4].convert(&a4);
760
+ case 4: ptr[3].convert(&a3);
761
+ case 3: ptr[2].convert(&a2);
762
+ case 2: ptr[1].convert(&a1);
763
+ case 1: ptr[0].convert(&a0);
764
+ }
765
+ }
680
766
  }
681
767
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
682
768
  {
@@ -741,20 +827,25 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> {
741
827
  {
742
828
  if(o.type != type::ARRAY) { throw type_error(); }
743
829
  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);
830
+ if(size > 0) {
831
+ msgpack::object *ptr = o.via.array.ptr;
832
+ switch(size) {
833
+ default:
834
+ case 13: ptr[12].convert(&a12);
835
+ case 12: ptr[11].convert(&a11);
836
+ case 11: ptr[10].convert(&a10);
837
+ case 10: ptr[9].convert(&a9);
838
+ case 9: ptr[8].convert(&a8);
839
+ case 8: ptr[7].convert(&a7);
840
+ case 7: ptr[6].convert(&a6);
841
+ case 6: ptr[5].convert(&a5);
842
+ case 5: ptr[4].convert(&a4);
843
+ case 4: ptr[3].convert(&a3);
844
+ case 3: ptr[2].convert(&a2);
845
+ case 2: ptr[1].convert(&a1);
846
+ case 1: ptr[0].convert(&a0);
847
+ }
848
+ }
758
849
  }
759
850
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
760
851
  {
@@ -822,21 +913,26 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> {
822
913
  {
823
914
  if(o.type != type::ARRAY) { throw type_error(); }
824
915
  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);
916
+ if(size > 0) {
917
+ msgpack::object *ptr = o.via.array.ptr;
918
+ switch(size) {
919
+ default:
920
+ case 14: ptr[13].convert(&a13);
921
+ case 13: ptr[12].convert(&a12);
922
+ case 12: ptr[11].convert(&a11);
923
+ case 11: ptr[10].convert(&a10);
924
+ case 10: ptr[9].convert(&a9);
925
+ case 9: ptr[8].convert(&a8);
926
+ case 8: ptr[7].convert(&a7);
927
+ case 7: ptr[6].convert(&a6);
928
+ case 6: ptr[5].convert(&a5);
929
+ case 5: ptr[4].convert(&a4);
930
+ case 4: ptr[3].convert(&a3);
931
+ case 3: ptr[2].convert(&a2);
932
+ case 2: ptr[1].convert(&a1);
933
+ case 1: ptr[0].convert(&a0);
934
+ }
935
+ }
840
936
  }
841
937
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
842
938
  {
@@ -907,22 +1003,27 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> {
907
1003
  {
908
1004
  if(o.type != type::ARRAY) { throw type_error(); }
909
1005
  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);
1006
+ if(size > 0) {
1007
+ msgpack::object *ptr = o.via.array.ptr;
1008
+ switch(size) {
1009
+ default:
1010
+ case 15: ptr[14].convert(&a14);
1011
+ case 14: ptr[13].convert(&a13);
1012
+ case 13: ptr[12].convert(&a12);
1013
+ case 12: ptr[11].convert(&a11);
1014
+ case 11: ptr[10].convert(&a10);
1015
+ case 10: ptr[9].convert(&a9);
1016
+ case 9: ptr[8].convert(&a8);
1017
+ case 8: ptr[7].convert(&a7);
1018
+ case 7: ptr[6].convert(&a6);
1019
+ case 6: ptr[5].convert(&a5);
1020
+ case 5: ptr[4].convert(&a4);
1021
+ case 4: ptr[3].convert(&a3);
1022
+ case 3: ptr[2].convert(&a2);
1023
+ case 2: ptr[1].convert(&a1);
1024
+ case 1: ptr[0].convert(&a0);
1025
+ }
1026
+ }
926
1027
  }
927
1028
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
928
1029
  {
@@ -996,23 +1097,28 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
996
1097
  {
997
1098
  if(o.type != type::ARRAY) { throw type_error(); }
998
1099
  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);
1100
+ if(size > 0) {
1101
+ msgpack::object *ptr = o.via.array.ptr;
1102
+ switch(size) {
1103
+ default:
1104
+ case 16: ptr[15].convert(&a15);
1105
+ case 15: ptr[14].convert(&a14);
1106
+ case 14: ptr[13].convert(&a13);
1107
+ case 13: ptr[12].convert(&a12);
1108
+ case 12: ptr[11].convert(&a11);
1109
+ case 11: ptr[10].convert(&a10);
1110
+ case 10: ptr[9].convert(&a9);
1111
+ case 9: ptr[8].convert(&a8);
1112
+ case 8: ptr[7].convert(&a7);
1113
+ case 7: ptr[6].convert(&a6);
1114
+ case 6: ptr[5].convert(&a5);
1115
+ case 5: ptr[4].convert(&a4);
1116
+ case 4: ptr[3].convert(&a3);
1117
+ case 3: ptr[2].convert(&a2);
1118
+ case 2: ptr[1].convert(&a1);
1119
+ case 1: ptr[0].convert(&a0);
1120
+ }
1121
+ }
1016
1122
  }
1017
1123
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1018
1124
  {
@@ -1089,24 +1195,29 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1089
1195
  {
1090
1196
  if(o.type != type::ARRAY) { throw type_error(); }
1091
1197
  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);
1198
+ if(size > 0) {
1199
+ msgpack::object *ptr = o.via.array.ptr;
1200
+ switch(size) {
1201
+ default:
1202
+ case 17: ptr[16].convert(&a16);
1203
+ case 16: ptr[15].convert(&a15);
1204
+ case 15: ptr[14].convert(&a14);
1205
+ case 14: ptr[13].convert(&a13);
1206
+ case 13: ptr[12].convert(&a12);
1207
+ case 12: ptr[11].convert(&a11);
1208
+ case 11: ptr[10].convert(&a10);
1209
+ case 10: ptr[9].convert(&a9);
1210
+ case 9: ptr[8].convert(&a8);
1211
+ case 8: ptr[7].convert(&a7);
1212
+ case 7: ptr[6].convert(&a6);
1213
+ case 6: ptr[5].convert(&a5);
1214
+ case 5: ptr[4].convert(&a4);
1215
+ case 4: ptr[3].convert(&a3);
1216
+ case 3: ptr[2].convert(&a2);
1217
+ case 2: ptr[1].convert(&a1);
1218
+ case 1: ptr[0].convert(&a0);
1219
+ }
1220
+ }
1110
1221
  }
1111
1222
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1112
1223
  {
@@ -1186,25 +1297,30 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1186
1297
  {
1187
1298
  if(o.type != type::ARRAY) { throw type_error(); }
1188
1299
  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);
1300
+ if(size > 0) {
1301
+ msgpack::object *ptr = o.via.array.ptr;
1302
+ switch(size) {
1303
+ default:
1304
+ case 18: ptr[17].convert(&a17);
1305
+ case 17: ptr[16].convert(&a16);
1306
+ case 16: ptr[15].convert(&a15);
1307
+ case 15: ptr[14].convert(&a14);
1308
+ case 14: ptr[13].convert(&a13);
1309
+ case 13: ptr[12].convert(&a12);
1310
+ case 12: ptr[11].convert(&a11);
1311
+ case 11: ptr[10].convert(&a10);
1312
+ case 10: ptr[9].convert(&a9);
1313
+ case 9: ptr[8].convert(&a8);
1314
+ case 8: ptr[7].convert(&a7);
1315
+ case 7: ptr[6].convert(&a6);
1316
+ case 6: ptr[5].convert(&a5);
1317
+ case 5: ptr[4].convert(&a4);
1318
+ case 4: ptr[3].convert(&a3);
1319
+ case 3: ptr[2].convert(&a2);
1320
+ case 2: ptr[1].convert(&a1);
1321
+ case 1: ptr[0].convert(&a0);
1322
+ }
1323
+ }
1208
1324
  }
1209
1325
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1210
1326
  {
@@ -1287,26 +1403,31 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1287
1403
  {
1288
1404
  if(o.type != type::ARRAY) { throw type_error(); }
1289
1405
  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);
1406
+ if(size > 0) {
1407
+ msgpack::object *ptr = o.via.array.ptr;
1408
+ switch(size) {
1409
+ default:
1410
+ case 19: ptr[18].convert(&a18);
1411
+ case 18: ptr[17].convert(&a17);
1412
+ case 17: ptr[16].convert(&a16);
1413
+ case 16: ptr[15].convert(&a15);
1414
+ case 15: ptr[14].convert(&a14);
1415
+ case 14: ptr[13].convert(&a13);
1416
+ case 13: ptr[12].convert(&a12);
1417
+ case 12: ptr[11].convert(&a11);
1418
+ case 11: ptr[10].convert(&a10);
1419
+ case 10: ptr[9].convert(&a9);
1420
+ case 9: ptr[8].convert(&a8);
1421
+ case 8: ptr[7].convert(&a7);
1422
+ case 7: ptr[6].convert(&a6);
1423
+ case 6: ptr[5].convert(&a5);
1424
+ case 5: ptr[4].convert(&a4);
1425
+ case 4: ptr[3].convert(&a3);
1426
+ case 3: ptr[2].convert(&a2);
1427
+ case 2: ptr[1].convert(&a1);
1428
+ case 1: ptr[0].convert(&a0);
1429
+ }
1430
+ }
1310
1431
  }
1311
1432
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1312
1433
  {
@@ -1392,27 +1513,32 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1392
1513
  {
1393
1514
  if(o.type != type::ARRAY) { throw type_error(); }
1394
1515
  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);
1516
+ if(size > 0) {
1517
+ msgpack::object *ptr = o.via.array.ptr;
1518
+ switch(size) {
1519
+ default:
1520
+ case 20: ptr[19].convert(&a19);
1521
+ case 19: ptr[18].convert(&a18);
1522
+ case 18: ptr[17].convert(&a17);
1523
+ case 17: ptr[16].convert(&a16);
1524
+ case 16: ptr[15].convert(&a15);
1525
+ case 15: ptr[14].convert(&a14);
1526
+ case 14: ptr[13].convert(&a13);
1527
+ case 13: ptr[12].convert(&a12);
1528
+ case 12: ptr[11].convert(&a11);
1529
+ case 11: ptr[10].convert(&a10);
1530
+ case 10: ptr[9].convert(&a9);
1531
+ case 9: ptr[8].convert(&a8);
1532
+ case 8: ptr[7].convert(&a7);
1533
+ case 7: ptr[6].convert(&a6);
1534
+ case 6: ptr[5].convert(&a5);
1535
+ case 5: ptr[4].convert(&a4);
1536
+ case 4: ptr[3].convert(&a3);
1537
+ case 3: ptr[2].convert(&a2);
1538
+ case 2: ptr[1].convert(&a1);
1539
+ case 1: ptr[0].convert(&a0);
1540
+ }
1541
+ }
1416
1542
  }
1417
1543
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1418
1544
  {
@@ -1501,28 +1627,33 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1501
1627
  {
1502
1628
  if(o.type != type::ARRAY) { throw type_error(); }
1503
1629
  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);
1630
+ if(size > 0) {
1631
+ msgpack::object *ptr = o.via.array.ptr;
1632
+ switch(size) {
1633
+ default:
1634
+ case 21: ptr[20].convert(&a20);
1635
+ case 20: ptr[19].convert(&a19);
1636
+ case 19: ptr[18].convert(&a18);
1637
+ case 18: ptr[17].convert(&a17);
1638
+ case 17: ptr[16].convert(&a16);
1639
+ case 16: ptr[15].convert(&a15);
1640
+ case 15: ptr[14].convert(&a14);
1641
+ case 14: ptr[13].convert(&a13);
1642
+ case 13: ptr[12].convert(&a12);
1643
+ case 12: ptr[11].convert(&a11);
1644
+ case 11: ptr[10].convert(&a10);
1645
+ case 10: ptr[9].convert(&a9);
1646
+ case 9: ptr[8].convert(&a8);
1647
+ case 8: ptr[7].convert(&a7);
1648
+ case 7: ptr[6].convert(&a6);
1649
+ case 6: ptr[5].convert(&a5);
1650
+ case 5: ptr[4].convert(&a4);
1651
+ case 4: ptr[3].convert(&a3);
1652
+ case 3: ptr[2].convert(&a2);
1653
+ case 2: ptr[1].convert(&a1);
1654
+ case 1: ptr[0].convert(&a0);
1655
+ }
1656
+ }
1526
1657
  }
1527
1658
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1528
1659
  {
@@ -1614,29 +1745,34 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1614
1745
  {
1615
1746
  if(o.type != type::ARRAY) { throw type_error(); }
1616
1747
  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);
1748
+ if(size > 0) {
1749
+ msgpack::object *ptr = o.via.array.ptr;
1750
+ switch(size) {
1751
+ default:
1752
+ case 22: ptr[21].convert(&a21);
1753
+ case 21: ptr[20].convert(&a20);
1754
+ case 20: ptr[19].convert(&a19);
1755
+ case 19: ptr[18].convert(&a18);
1756
+ case 18: ptr[17].convert(&a17);
1757
+ case 17: ptr[16].convert(&a16);
1758
+ case 16: ptr[15].convert(&a15);
1759
+ case 15: ptr[14].convert(&a14);
1760
+ case 14: ptr[13].convert(&a13);
1761
+ case 13: ptr[12].convert(&a12);
1762
+ case 12: ptr[11].convert(&a11);
1763
+ case 11: ptr[10].convert(&a10);
1764
+ case 10: ptr[9].convert(&a9);
1765
+ case 9: ptr[8].convert(&a8);
1766
+ case 8: ptr[7].convert(&a7);
1767
+ case 7: ptr[6].convert(&a6);
1768
+ case 6: ptr[5].convert(&a5);
1769
+ case 5: ptr[4].convert(&a4);
1770
+ case 4: ptr[3].convert(&a3);
1771
+ case 3: ptr[2].convert(&a2);
1772
+ case 2: ptr[1].convert(&a1);
1773
+ case 1: ptr[0].convert(&a0);
1774
+ }
1775
+ }
1640
1776
  }
1641
1777
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1642
1778
  {
@@ -1731,30 +1867,35 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1731
1867
  {
1732
1868
  if(o.type != type::ARRAY) { throw type_error(); }
1733
1869
  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);
1870
+ if(size > 0) {
1871
+ msgpack::object *ptr = o.via.array.ptr;
1872
+ switch(size) {
1873
+ default:
1874
+ case 23: ptr[22].convert(&a22);
1875
+ case 22: ptr[21].convert(&a21);
1876
+ case 21: ptr[20].convert(&a20);
1877
+ case 20: ptr[19].convert(&a19);
1878
+ case 19: ptr[18].convert(&a18);
1879
+ case 18: ptr[17].convert(&a17);
1880
+ case 17: ptr[16].convert(&a16);
1881
+ case 16: ptr[15].convert(&a15);
1882
+ case 15: ptr[14].convert(&a14);
1883
+ case 14: ptr[13].convert(&a13);
1884
+ case 13: ptr[12].convert(&a12);
1885
+ case 12: ptr[11].convert(&a11);
1886
+ case 11: ptr[10].convert(&a10);
1887
+ case 10: ptr[9].convert(&a9);
1888
+ case 9: ptr[8].convert(&a8);
1889
+ case 8: ptr[7].convert(&a7);
1890
+ case 7: ptr[6].convert(&a6);
1891
+ case 6: ptr[5].convert(&a5);
1892
+ case 5: ptr[4].convert(&a4);
1893
+ case 4: ptr[3].convert(&a3);
1894
+ case 3: ptr[2].convert(&a2);
1895
+ case 2: ptr[1].convert(&a1);
1896
+ case 1: ptr[0].convert(&a0);
1897
+ }
1898
+ }
1758
1899
  }
1759
1900
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1760
1901
  {
@@ -1852,31 +1993,36 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1852
1993
  {
1853
1994
  if(o.type != type::ARRAY) { throw type_error(); }
1854
1995
  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);
1996
+ if(size > 0) {
1997
+ msgpack::object *ptr = o.via.array.ptr;
1998
+ switch(size) {
1999
+ default:
2000
+ case 24: ptr[23].convert(&a23);
2001
+ case 23: ptr[22].convert(&a22);
2002
+ case 22: ptr[21].convert(&a21);
2003
+ case 21: ptr[20].convert(&a20);
2004
+ case 20: ptr[19].convert(&a19);
2005
+ case 19: ptr[18].convert(&a18);
2006
+ case 18: ptr[17].convert(&a17);
2007
+ case 17: ptr[16].convert(&a16);
2008
+ case 16: ptr[15].convert(&a15);
2009
+ case 15: ptr[14].convert(&a14);
2010
+ case 14: ptr[13].convert(&a13);
2011
+ case 13: ptr[12].convert(&a12);
2012
+ case 12: ptr[11].convert(&a11);
2013
+ case 11: ptr[10].convert(&a10);
2014
+ case 10: ptr[9].convert(&a9);
2015
+ case 9: ptr[8].convert(&a8);
2016
+ case 8: ptr[7].convert(&a7);
2017
+ case 7: ptr[6].convert(&a6);
2018
+ case 6: ptr[5].convert(&a5);
2019
+ case 5: ptr[4].convert(&a4);
2020
+ case 4: ptr[3].convert(&a3);
2021
+ case 3: ptr[2].convert(&a2);
2022
+ case 2: ptr[1].convert(&a1);
2023
+ case 1: ptr[0].convert(&a0);
2024
+ }
2025
+ }
1880
2026
  }
1881
2027
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
1882
2028
  {
@@ -1977,32 +2123,37 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
1977
2123
  {
1978
2124
  if(o.type != type::ARRAY) { throw type_error(); }
1979
2125
  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);
2126
+ if(size > 0) {
2127
+ msgpack::object *ptr = o.via.array.ptr;
2128
+ switch(size) {
2129
+ default:
2130
+ case 25: ptr[24].convert(&a24);
2131
+ case 24: ptr[23].convert(&a23);
2132
+ case 23: ptr[22].convert(&a22);
2133
+ case 22: ptr[21].convert(&a21);
2134
+ case 21: ptr[20].convert(&a20);
2135
+ case 20: ptr[19].convert(&a19);
2136
+ case 19: ptr[18].convert(&a18);
2137
+ case 18: ptr[17].convert(&a17);
2138
+ case 17: ptr[16].convert(&a16);
2139
+ case 16: ptr[15].convert(&a15);
2140
+ case 15: ptr[14].convert(&a14);
2141
+ case 14: ptr[13].convert(&a13);
2142
+ case 13: ptr[12].convert(&a12);
2143
+ case 12: ptr[11].convert(&a11);
2144
+ case 11: ptr[10].convert(&a10);
2145
+ case 10: ptr[9].convert(&a9);
2146
+ case 9: ptr[8].convert(&a8);
2147
+ case 8: ptr[7].convert(&a7);
2148
+ case 7: ptr[6].convert(&a6);
2149
+ case 6: ptr[5].convert(&a5);
2150
+ case 5: ptr[4].convert(&a4);
2151
+ case 4: ptr[3].convert(&a3);
2152
+ case 3: ptr[2].convert(&a2);
2153
+ case 2: ptr[1].convert(&a1);
2154
+ case 1: ptr[0].convert(&a0);
2155
+ }
2156
+ }
2006
2157
  }
2007
2158
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
2008
2159
  {
@@ -2106,33 +2257,38 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
2106
2257
  {
2107
2258
  if(o.type != type::ARRAY) { throw type_error(); }
2108
2259
  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);
2260
+ if(size > 0) {
2261
+ msgpack::object *ptr = o.via.array.ptr;
2262
+ switch(size) {
2263
+ default:
2264
+ case 26: ptr[25].convert(&a25);
2265
+ case 25: ptr[24].convert(&a24);
2266
+ case 24: ptr[23].convert(&a23);
2267
+ case 23: ptr[22].convert(&a22);
2268
+ case 22: ptr[21].convert(&a21);
2269
+ case 21: ptr[20].convert(&a20);
2270
+ case 20: ptr[19].convert(&a19);
2271
+ case 19: ptr[18].convert(&a18);
2272
+ case 18: ptr[17].convert(&a17);
2273
+ case 17: ptr[16].convert(&a16);
2274
+ case 16: ptr[15].convert(&a15);
2275
+ case 15: ptr[14].convert(&a14);
2276
+ case 14: ptr[13].convert(&a13);
2277
+ case 13: ptr[12].convert(&a12);
2278
+ case 12: ptr[11].convert(&a11);
2279
+ case 11: ptr[10].convert(&a10);
2280
+ case 10: ptr[9].convert(&a9);
2281
+ case 9: ptr[8].convert(&a8);
2282
+ case 8: ptr[7].convert(&a7);
2283
+ case 7: ptr[6].convert(&a6);
2284
+ case 6: ptr[5].convert(&a5);
2285
+ case 5: ptr[4].convert(&a4);
2286
+ case 4: ptr[3].convert(&a3);
2287
+ case 3: ptr[2].convert(&a2);
2288
+ case 2: ptr[1].convert(&a1);
2289
+ case 1: ptr[0].convert(&a0);
2290
+ }
2291
+ }
2136
2292
  }
2137
2293
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
2138
2294
  {
@@ -2239,34 +2395,39 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
2239
2395
  {
2240
2396
  if(o.type != type::ARRAY) { throw type_error(); }
2241
2397
  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);
2398
+ if(size > 0) {
2399
+ msgpack::object *ptr = o.via.array.ptr;
2400
+ switch(size) {
2401
+ default:
2402
+ case 27: ptr[26].convert(&a26);
2403
+ case 26: ptr[25].convert(&a25);
2404
+ case 25: ptr[24].convert(&a24);
2405
+ case 24: ptr[23].convert(&a23);
2406
+ case 23: ptr[22].convert(&a22);
2407
+ case 22: ptr[21].convert(&a21);
2408
+ case 21: ptr[20].convert(&a20);
2409
+ case 20: ptr[19].convert(&a19);
2410
+ case 19: ptr[18].convert(&a18);
2411
+ case 18: ptr[17].convert(&a17);
2412
+ case 17: ptr[16].convert(&a16);
2413
+ case 16: ptr[15].convert(&a15);
2414
+ case 15: ptr[14].convert(&a14);
2415
+ case 14: ptr[13].convert(&a13);
2416
+ case 13: ptr[12].convert(&a12);
2417
+ case 12: ptr[11].convert(&a11);
2418
+ case 11: ptr[10].convert(&a10);
2419
+ case 10: ptr[9].convert(&a9);
2420
+ case 9: ptr[8].convert(&a8);
2421
+ case 8: ptr[7].convert(&a7);
2422
+ case 7: ptr[6].convert(&a6);
2423
+ case 6: ptr[5].convert(&a5);
2424
+ case 5: ptr[4].convert(&a4);
2425
+ case 4: ptr[3].convert(&a3);
2426
+ case 3: ptr[2].convert(&a2);
2427
+ case 2: ptr[1].convert(&a1);
2428
+ case 1: ptr[0].convert(&a0);
2429
+ }
2430
+ }
2270
2431
  }
2271
2432
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
2272
2433
  {
@@ -2376,35 +2537,40 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
2376
2537
  {
2377
2538
  if(o.type != type::ARRAY) { throw type_error(); }
2378
2539
  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);
2540
+ if(size > 0) {
2541
+ msgpack::object *ptr = o.via.array.ptr;
2542
+ switch(size) {
2543
+ default:
2544
+ case 28: ptr[27].convert(&a27);
2545
+ case 27: ptr[26].convert(&a26);
2546
+ case 26: ptr[25].convert(&a25);
2547
+ case 25: ptr[24].convert(&a24);
2548
+ case 24: ptr[23].convert(&a23);
2549
+ case 23: ptr[22].convert(&a22);
2550
+ case 22: ptr[21].convert(&a21);
2551
+ case 21: ptr[20].convert(&a20);
2552
+ case 20: ptr[19].convert(&a19);
2553
+ case 19: ptr[18].convert(&a18);
2554
+ case 18: ptr[17].convert(&a17);
2555
+ case 17: ptr[16].convert(&a16);
2556
+ case 16: ptr[15].convert(&a15);
2557
+ case 15: ptr[14].convert(&a14);
2558
+ case 14: ptr[13].convert(&a13);
2559
+ case 13: ptr[12].convert(&a12);
2560
+ case 12: ptr[11].convert(&a11);
2561
+ case 11: ptr[10].convert(&a10);
2562
+ case 10: ptr[9].convert(&a9);
2563
+ case 9: ptr[8].convert(&a8);
2564
+ case 8: ptr[7].convert(&a7);
2565
+ case 7: ptr[6].convert(&a6);
2566
+ case 6: ptr[5].convert(&a5);
2567
+ case 5: ptr[4].convert(&a4);
2568
+ case 4: ptr[3].convert(&a3);
2569
+ case 3: ptr[2].convert(&a2);
2570
+ case 2: ptr[1].convert(&a1);
2571
+ case 1: ptr[0].convert(&a0);
2572
+ }
2573
+ }
2408
2574
  }
2409
2575
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
2410
2576
  {
@@ -2517,36 +2683,41 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
2517
2683
  {
2518
2684
  if(o.type != type::ARRAY) { throw type_error(); }
2519
2685
  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);
2686
+ if(size > 0) {
2687
+ msgpack::object *ptr = o.via.array.ptr;
2688
+ switch(size) {
2689
+ default:
2690
+ case 29: ptr[28].convert(&a28);
2691
+ case 28: ptr[27].convert(&a27);
2692
+ case 27: ptr[26].convert(&a26);
2693
+ case 26: ptr[25].convert(&a25);
2694
+ case 25: ptr[24].convert(&a24);
2695
+ case 24: ptr[23].convert(&a23);
2696
+ case 23: ptr[22].convert(&a22);
2697
+ case 22: ptr[21].convert(&a21);
2698
+ case 21: ptr[20].convert(&a20);
2699
+ case 20: ptr[19].convert(&a19);
2700
+ case 19: ptr[18].convert(&a18);
2701
+ case 18: ptr[17].convert(&a17);
2702
+ case 17: ptr[16].convert(&a16);
2703
+ case 16: ptr[15].convert(&a15);
2704
+ case 15: ptr[14].convert(&a14);
2705
+ case 14: ptr[13].convert(&a13);
2706
+ case 13: ptr[12].convert(&a12);
2707
+ case 12: ptr[11].convert(&a11);
2708
+ case 11: ptr[10].convert(&a10);
2709
+ case 10: ptr[9].convert(&a9);
2710
+ case 9: ptr[8].convert(&a8);
2711
+ case 8: ptr[7].convert(&a7);
2712
+ case 7: ptr[6].convert(&a6);
2713
+ case 6: ptr[5].convert(&a5);
2714
+ case 5: ptr[4].convert(&a4);
2715
+ case 4: ptr[3].convert(&a3);
2716
+ case 3: ptr[2].convert(&a2);
2717
+ case 2: ptr[1].convert(&a1);
2718
+ case 1: ptr[0].convert(&a0);
2719
+ }
2720
+ }
2550
2721
  }
2551
2722
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
2552
2723
  {
@@ -2662,37 +2833,42 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
2662
2833
  {
2663
2834
  if(o.type != type::ARRAY) { throw type_error(); }
2664
2835
  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);
2836
+ if(size > 0) {
2837
+ msgpack::object *ptr = o.via.array.ptr;
2838
+ switch(size) {
2839
+ default:
2840
+ case 30: ptr[29].convert(&a29);
2841
+ case 29: ptr[28].convert(&a28);
2842
+ case 28: ptr[27].convert(&a27);
2843
+ case 27: ptr[26].convert(&a26);
2844
+ case 26: ptr[25].convert(&a25);
2845
+ case 25: ptr[24].convert(&a24);
2846
+ case 24: ptr[23].convert(&a23);
2847
+ case 23: ptr[22].convert(&a22);
2848
+ case 22: ptr[21].convert(&a21);
2849
+ case 21: ptr[20].convert(&a20);
2850
+ case 20: ptr[19].convert(&a19);
2851
+ case 19: ptr[18].convert(&a18);
2852
+ case 18: ptr[17].convert(&a17);
2853
+ case 17: ptr[16].convert(&a16);
2854
+ case 16: ptr[15].convert(&a15);
2855
+ case 15: ptr[14].convert(&a14);
2856
+ case 14: ptr[13].convert(&a13);
2857
+ case 13: ptr[12].convert(&a12);
2858
+ case 12: ptr[11].convert(&a11);
2859
+ case 11: ptr[10].convert(&a10);
2860
+ case 10: ptr[9].convert(&a9);
2861
+ case 9: ptr[8].convert(&a8);
2862
+ case 8: ptr[7].convert(&a7);
2863
+ case 7: ptr[6].convert(&a6);
2864
+ case 6: ptr[5].convert(&a5);
2865
+ case 5: ptr[4].convert(&a4);
2866
+ case 4: ptr[3].convert(&a3);
2867
+ case 3: ptr[2].convert(&a2);
2868
+ case 2: ptr[1].convert(&a1);
2869
+ case 1: ptr[0].convert(&a0);
2870
+ }
2871
+ }
2696
2872
  }
2697
2873
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
2698
2874
  {
@@ -2811,38 +2987,43 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
2811
2987
  {
2812
2988
  if(o.type != type::ARRAY) { throw type_error(); }
2813
2989
  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);
2990
+ if(size > 0) {
2991
+ msgpack::object *ptr = o.via.array.ptr;
2992
+ switch(size) {
2993
+ default:
2994
+ case 31: ptr[30].convert(&a30);
2995
+ case 30: ptr[29].convert(&a29);
2996
+ case 29: ptr[28].convert(&a28);
2997
+ case 28: ptr[27].convert(&a27);
2998
+ case 27: ptr[26].convert(&a26);
2999
+ case 26: ptr[25].convert(&a25);
3000
+ case 25: ptr[24].convert(&a24);
3001
+ case 24: ptr[23].convert(&a23);
3002
+ case 23: ptr[22].convert(&a22);
3003
+ case 22: ptr[21].convert(&a21);
3004
+ case 21: ptr[20].convert(&a20);
3005
+ case 20: ptr[19].convert(&a19);
3006
+ case 19: ptr[18].convert(&a18);
3007
+ case 18: ptr[17].convert(&a17);
3008
+ case 17: ptr[16].convert(&a16);
3009
+ case 16: ptr[15].convert(&a15);
3010
+ case 15: ptr[14].convert(&a14);
3011
+ case 14: ptr[13].convert(&a13);
3012
+ case 13: ptr[12].convert(&a12);
3013
+ case 12: ptr[11].convert(&a11);
3014
+ case 11: ptr[10].convert(&a10);
3015
+ case 10: ptr[9].convert(&a9);
3016
+ case 9: ptr[8].convert(&a8);
3017
+ case 8: ptr[7].convert(&a7);
3018
+ case 7: ptr[6].convert(&a6);
3019
+ case 6: ptr[5].convert(&a5);
3020
+ case 5: ptr[4].convert(&a4);
3021
+ case 4: ptr[3].convert(&a3);
3022
+ case 3: ptr[2].convert(&a2);
3023
+ case 2: ptr[1].convert(&a1);
3024
+ case 1: ptr[0].convert(&a0);
3025
+ }
3026
+ }
2846
3027
  }
2847
3028
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
2848
3029
  {
@@ -2964,39 +3145,44 @@ struct define<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A
2964
3145
  {
2965
3146
  if(o.type != type::ARRAY) { throw type_error(); }
2966
3147
  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);
3148
+ if(size > 0) {
3149
+ msgpack::object *ptr = o.via.array.ptr;
3150
+ switch(size) {
3151
+ default:
3152
+ case 32: ptr[31].convert(&a31);
3153
+ case 31: ptr[30].convert(&a30);
3154
+ case 30: ptr[29].convert(&a29);
3155
+ case 29: ptr[28].convert(&a28);
3156
+ case 28: ptr[27].convert(&a27);
3157
+ case 27: ptr[26].convert(&a26);
3158
+ case 26: ptr[25].convert(&a25);
3159
+ case 25: ptr[24].convert(&a24);
3160
+ case 24: ptr[23].convert(&a23);
3161
+ case 23: ptr[22].convert(&a22);
3162
+ case 22: ptr[21].convert(&a21);
3163
+ case 21: ptr[20].convert(&a20);
3164
+ case 20: ptr[19].convert(&a19);
3165
+ case 19: ptr[18].convert(&a18);
3166
+ case 18: ptr[17].convert(&a17);
3167
+ case 17: ptr[16].convert(&a16);
3168
+ case 16: ptr[15].convert(&a15);
3169
+ case 15: ptr[14].convert(&a14);
3170
+ case 14: ptr[13].convert(&a13);
3171
+ case 13: ptr[12].convert(&a12);
3172
+ case 12: ptr[11].convert(&a11);
3173
+ case 11: ptr[10].convert(&a10);
3174
+ case 10: ptr[9].convert(&a9);
3175
+ case 9: ptr[8].convert(&a8);
3176
+ case 8: ptr[7].convert(&a7);
3177
+ case 7: ptr[6].convert(&a6);
3178
+ case 6: ptr[5].convert(&a5);
3179
+ case 5: ptr[4].convert(&a4);
3180
+ case 4: ptr[3].convert(&a3);
3181
+ case 3: ptr[2].convert(&a2);
3182
+ case 2: ptr[1].convert(&a1);
3183
+ case 1: ptr[0].convert(&a0);
3184
+ }
3185
+ }
3000
3186
  }
3001
3187
  void msgpack_object(msgpack::object* o, msgpack::zone* z) const
3002
3188
  {