rroonga 6.0.5-x64-mingw32 → 6.0.7-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (993) hide show
  1. checksums.yaml +4 -4
  2. data/doc/text/news.md +15 -0
  3. data/ext/groonga/rb-grn-column.c +23 -17
  4. data/ext/groonga/rb-grn-context.c +24 -22
  5. data/ext/groonga/rb-grn-exception.c +2 -256
  6. data/ext/groonga/rb-grn-index-column.c +21 -9
  7. data/ext/groonga/rb-grn-object.c +98 -62
  8. data/ext/groonga/rb-grn-table-sort-keys.c +1 -1
  9. data/ext/groonga/rb-grn-table.c +2 -2
  10. data/ext/groonga/rb-grn-variable-size-column.c +13 -7
  11. data/ext/groonga/rb-grn.h +1 -2
  12. data/ext/groonga/rb-groonga.c +3 -2
  13. data/lib/2.1/groonga.so +0 -0
  14. data/lib/2.2/groonga.so +0 -0
  15. data/lib/2.3/groonga.so +0 -0
  16. data/rroonga-build.rb +3 -3
  17. data/test/test-fix-size-column.rb +1 -1
  18. data/test/test-schema.rb +1 -1
  19. data/test/test-variable-size-column.rb +1 -1
  20. data/vendor/local/bin/grndb.exe +0 -0
  21. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  22. data/vendor/local/bin/groonga-suggest-create-dataset.exe +0 -0
  23. data/vendor/local/bin/groonga.exe +0 -0
  24. data/vendor/local/bin/libgroonga-0.dll +0 -0
  25. data/vendor/local/bin/libmecab-2.dll +0 -0
  26. data/vendor/local/bin/{libmsgpack-4.dll → libmsgpackc.dll} +0 -0
  27. data/vendor/local/bin/libonig-5.dll +0 -0
  28. data/vendor/local/bin/lz4.exe +0 -0
  29. data/vendor/local/bin/lz4c.exe +0 -0
  30. data/vendor/local/bin/lz4cat +0 -0
  31. data/vendor/local/bin/mecab.exe +0 -0
  32. data/vendor/local/bin/zlib1.dll +0 -0
  33. data/vendor/local/include/groonga/groonga.h +2 -0
  34. data/vendor/local/include/groonga/groonga/column.h +29 -0
  35. data/vendor/local/include/groonga/groonga/dump.h +1 -1
  36. data/vendor/local/include/groonga/groonga/error.h +29 -0
  37. data/vendor/local/include/groonga/groonga/groonga.h +6 -1
  38. data/vendor/local/include/msgpack/adaptor/adaptor_base.hpp +4 -70
  39. data/vendor/local/include/msgpack/adaptor/adaptor_base_decl.hpp +16 -0
  40. data/vendor/local/include/msgpack/adaptor/array_ref.hpp +4 -161
  41. data/vendor/local/include/msgpack/adaptor/array_ref_decl.hpp +16 -0
  42. data/vendor/local/include/msgpack/adaptor/bool.hpp +2 -53
  43. data/vendor/local/include/msgpack/adaptor/boost/fusion.hpp +1 -146
  44. data/vendor/local/include/msgpack/adaptor/boost/msgpack_variant.hpp +4 -416
  45. data/vendor/local/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp +16 -0
  46. data/vendor/local/include/msgpack/adaptor/boost/optional.hpp +2 -83
  47. data/vendor/local/include/msgpack/adaptor/boost/string_ref.hpp +2 -74
  48. data/vendor/local/include/msgpack/adaptor/carray.hpp +15 -0
  49. data/vendor/local/include/msgpack/adaptor/char_ptr.hpp +2 -144
  50. data/vendor/local/include/msgpack/adaptor/check_container_size.hpp +3 -53
  51. data/vendor/local/include/msgpack/adaptor/check_container_size_decl.hpp +16 -0
  52. data/vendor/local/include/msgpack/adaptor/cpp11/array.hpp +5 -127
  53. data/vendor/local/include/msgpack/adaptor/cpp11/array_char.hpp +5 -78
  54. data/vendor/local/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp +5 -78
  55. data/vendor/local/include/msgpack/adaptor/cpp11/forward_list.hpp +5 -83
  56. data/vendor/local/include/msgpack/adaptor/cpp11/reference_wrapper.hpp +5 -57
  57. data/vendor/local/include/msgpack/adaptor/cpp11/shared_ptr.hpp +5 -71
  58. data/vendor/local/include/msgpack/adaptor/cpp11/tuple.hpp +5 -165
  59. data/vendor/local/include/msgpack/adaptor/cpp11/unique_ptr.hpp +5 -71
  60. data/vendor/local/include/msgpack/adaptor/cpp11/unordered_map.hpp +5 -171
  61. data/vendor/local/include/msgpack/adaptor/cpp11/unordered_set.hpp +5 -161
  62. data/vendor/local/include/msgpack/adaptor/define.hpp +3 -17
  63. data/vendor/local/include/msgpack/adaptor/define_decl.hpp +142 -0
  64. data/vendor/local/include/msgpack/adaptor/deque.hpp +3 -96
  65. data/vendor/local/include/msgpack/adaptor/ext.hpp +3 -223
  66. data/vendor/local/include/msgpack/adaptor/ext_decl.hpp +16 -0
  67. data/vendor/local/include/msgpack/adaptor/fixint.hpp +4 -285
  68. data/vendor/local/include/msgpack/adaptor/fixint_decl.hpp +16 -0
  69. data/vendor/local/include/msgpack/adaptor/float.hpp +2 -110
  70. data/vendor/local/include/msgpack/adaptor/int.hpp +4 -415
  71. data/vendor/local/include/msgpack/adaptor/int_decl.hpp +16 -0
  72. data/vendor/local/include/msgpack/adaptor/list.hpp +2 -93
  73. data/vendor/local/include/msgpack/adaptor/map.hpp +3 -291
  74. data/vendor/local/include/msgpack/adaptor/map_decl.hpp +16 -0
  75. data/vendor/local/include/msgpack/adaptor/msgpack_tuple.hpp +2 -6
  76. data/vendor/local/include/msgpack/adaptor/msgpack_tuple_decl.hpp +16 -0
  77. data/vendor/local/include/msgpack/adaptor/nil.hpp +3 -70
  78. data/vendor/local/include/msgpack/adaptor/nil_decl.hpp +16 -0
  79. data/vendor/local/include/msgpack/adaptor/pair.hpp +2 -70
  80. data/vendor/local/include/msgpack/adaptor/raw.hpp +3 -92
  81. data/vendor/local/include/msgpack/adaptor/raw_decl.hpp +16 -0
  82. data/vendor/local/include/msgpack/adaptor/set.hpp +2 -175
  83. data/vendor/local/include/msgpack/adaptor/size_equal_only.hpp +17 -0
  84. data/vendor/local/include/msgpack/adaptor/size_equal_only_decl.hpp +16 -0
  85. data/vendor/local/include/msgpack/adaptor/string.hpp +2 -73
  86. data/vendor/local/include/msgpack/adaptor/tr1/unordered_map.hpp +2 -2
  87. data/vendor/local/include/msgpack/adaptor/tr1/unordered_set.hpp +2 -2
  88. data/vendor/local/include/msgpack/adaptor/v4raw.hpp +3 -92
  89. data/vendor/local/include/msgpack/adaptor/v4raw_decl.hpp +16 -0
  90. data/vendor/local/include/msgpack/adaptor/vector.hpp +2 -108
  91. data/vendor/local/include/msgpack/adaptor/vector_bool.hpp +2 -75
  92. data/vendor/local/include/msgpack/adaptor/vector_char.hpp +2 -76
  93. data/vendor/local/include/msgpack/adaptor/vector_unsigned_char.hpp +2 -76
  94. data/vendor/local/include/msgpack/cpp_config.hpp +4 -111
  95. data/vendor/local/include/msgpack/cpp_config_decl.hpp +16 -0
  96. data/vendor/local/include/msgpack/fbuffer.h +1 -1
  97. data/vendor/local/include/msgpack/fbuffer.hpp +5 -48
  98. data/vendor/local/include/msgpack/fbuffer_decl.hpp +16 -0
  99. data/vendor/local/include/msgpack/gcc_atomic.hpp +33 -0
  100. data/vendor/local/include/msgpack/iterator.hpp +3 -23
  101. data/vendor/local/include/msgpack/iterator_decl.hpp +17 -0
  102. data/vendor/local/include/msgpack/meta.hpp +3 -36
  103. data/vendor/local/include/msgpack/meta_decl.hpp +17 -0
  104. data/vendor/local/include/msgpack/object.hpp +5 -799
  105. data/vendor/local/include/msgpack/object_decl.hpp +17 -0
  106. data/vendor/local/include/msgpack/object_fwd.hpp +4 -180
  107. data/vendor/local/include/msgpack/object_fwd_decl.hpp +17 -0
  108. data/vendor/local/include/msgpack/pack.hpp +4 -1077
  109. data/vendor/local/include/msgpack/pack_decl.hpp +16 -0
  110. data/vendor/local/include/msgpack/predef.h +6 -1
  111. data/vendor/local/include/msgpack/predef/architecture.h +3 -1
  112. data/vendor/local/include/msgpack/predef/architecture/alpha.h +3 -4
  113. data/vendor/local/include/msgpack/predef/architecture/arm.h +3 -4
  114. data/vendor/local/include/msgpack/predef/architecture/blackfin.h +3 -4
  115. data/vendor/local/include/msgpack/predef/architecture/convex.h +3 -5
  116. data/vendor/local/include/msgpack/predef/architecture/ia64.h +3 -3
  117. data/vendor/local/include/msgpack/predef/architecture/m68k.h +3 -4
  118. data/vendor/local/include/msgpack/predef/architecture/mips.h +3 -4
  119. data/vendor/local/include/msgpack/predef/architecture/parisc.h +3 -4
  120. data/vendor/local/include/msgpack/predef/architecture/ppc.h +3 -4
  121. data/vendor/local/include/msgpack/predef/architecture/pyramid.h +3 -4
  122. data/vendor/local/include/msgpack/predef/architecture/rs6k.h +4 -4
  123. data/vendor/local/include/msgpack/predef/architecture/sparc.h +3 -4
  124. data/vendor/local/include/msgpack/predef/architecture/superh.h +3 -4
  125. data/vendor/local/include/msgpack/predef/architecture/sys370.h +3 -4
  126. data/vendor/local/include/msgpack/predef/architecture/sys390.h +3 -4
  127. data/vendor/local/include/msgpack/predef/architecture/x86.h +6 -6
  128. data/vendor/local/include/msgpack/predef/architecture/x86/32.h +4 -4
  129. data/vendor/local/include/msgpack/predef/architecture/x86/64.h +4 -4
  130. data/vendor/local/include/msgpack/predef/architecture/z.h +3 -4
  131. data/vendor/local/include/msgpack/predef/compiler.h +3 -1
  132. data/vendor/local/include/msgpack/predef/compiler/borland.h +3 -4
  133. data/vendor/local/include/msgpack/predef/compiler/clang.h +3 -4
  134. data/vendor/local/include/msgpack/predef/compiler/comeau.h +4 -5
  135. data/vendor/local/include/msgpack/predef/compiler/compaq.h +3 -4
  136. data/vendor/local/include/msgpack/predef/compiler/diab.h +3 -4
  137. data/vendor/local/include/msgpack/predef/compiler/digitalmars.h +3 -4
  138. data/vendor/local/include/msgpack/predef/compiler/dignus.h +3 -4
  139. data/vendor/local/include/msgpack/predef/compiler/edg.h +3 -4
  140. data/vendor/local/include/msgpack/predef/compiler/ekopath.h +3 -4
  141. data/vendor/local/include/msgpack/predef/compiler/gcc.h +3 -4
  142. data/vendor/local/include/msgpack/predef/compiler/gcc_xml.h +3 -3
  143. data/vendor/local/include/msgpack/predef/compiler/greenhills.h +3 -4
  144. data/vendor/local/include/msgpack/predef/compiler/hp_acc.h +3 -4
  145. data/vendor/local/include/msgpack/predef/compiler/iar.h +3 -4
  146. data/vendor/local/include/msgpack/predef/compiler/ibm.h +3 -4
  147. data/vendor/local/include/msgpack/predef/compiler/intel.h +3 -4
  148. data/vendor/local/include/msgpack/predef/compiler/kai.h +3 -4
  149. data/vendor/local/include/msgpack/predef/compiler/llvm.h +3 -4
  150. data/vendor/local/include/msgpack/predef/compiler/metaware.h +3 -4
  151. data/vendor/local/include/msgpack/predef/compiler/metrowerks.h +3 -4
  152. data/vendor/local/include/msgpack/predef/compiler/microtec.h +3 -4
  153. data/vendor/local/include/msgpack/predef/compiler/mpw.h +3 -4
  154. data/vendor/local/include/msgpack/predef/compiler/palm.h +3 -4
  155. data/vendor/local/include/msgpack/predef/compiler/pgi.h +3 -4
  156. data/vendor/local/include/msgpack/predef/compiler/sgi_mipspro.h +3 -4
  157. data/vendor/local/include/msgpack/predef/compiler/sunpro.h +17 -8
  158. data/vendor/local/include/msgpack/predef/compiler/tendra.h +3 -4
  159. data/vendor/local/include/msgpack/predef/compiler/visualc.h +3 -4
  160. data/vendor/local/include/msgpack/predef/compiler/watcom.h +3 -4
  161. data/vendor/local/include/msgpack/predef/detail/_cassert.h +1 -1
  162. data/vendor/local/include/msgpack/predef/detail/_exception.h +1 -1
  163. data/vendor/local/include/msgpack/predef/detail/test_def.h +71 -0
  164. data/vendor/local/include/msgpack/predef/hardware.h +16 -0
  165. data/vendor/local/include/msgpack/predef/hardware/simd.h +119 -0
  166. data/vendor/local/include/msgpack/predef/hardware/simd/arm.h +57 -0
  167. data/vendor/local/include/msgpack/predef/hardware/simd/arm/versions.h +32 -0
  168. data/vendor/local/include/msgpack/predef/hardware/simd/ppc.h +69 -0
  169. data/vendor/local/include/msgpack/predef/hardware/simd/ppc/versions.h +51 -0
  170. data/vendor/local/include/msgpack/predef/hardware/simd/x86.h +123 -0
  171. data/vendor/local/include/msgpack/predef/hardware/simd/x86/versions.h +129 -0
  172. data/vendor/local/include/msgpack/predef/hardware/simd/x86_amd.h +87 -0
  173. data/vendor/local/include/msgpack/predef/hardware/simd/x86_amd/versions.h +51 -0
  174. data/vendor/local/include/msgpack/predef/language.h +3 -1
  175. data/vendor/local/include/msgpack/predef/language/objc.h +3 -4
  176. data/vendor/local/include/msgpack/predef/language/stdc.h +3 -4
  177. data/vendor/local/include/msgpack/predef/language/stdcpp.h +8 -11
  178. data/vendor/local/include/msgpack/predef/library.h +3 -1
  179. data/vendor/local/include/msgpack/predef/library/c.h +3 -1
  180. data/vendor/local/include/msgpack/predef/library/c/gnu.h +3 -4
  181. data/vendor/local/include/msgpack/predef/library/c/uc.h +3 -4
  182. data/vendor/local/include/msgpack/predef/library/c/vms.h +3 -4
  183. data/vendor/local/include/msgpack/predef/library/c/zos.h +3 -4
  184. data/vendor/local/include/msgpack/predef/library/std.h +3 -1
  185. data/vendor/local/include/msgpack/predef/library/std/cxx.h +3 -4
  186. data/vendor/local/include/msgpack/predef/library/std/dinkumware.h +3 -4
  187. data/vendor/local/include/msgpack/predef/library/std/libcomo.h +3 -4
  188. data/vendor/local/include/msgpack/predef/library/std/modena.h +3 -4
  189. data/vendor/local/include/msgpack/predef/library/std/msl.h +3 -4
  190. data/vendor/local/include/msgpack/predef/library/std/roguewave.h +3 -4
  191. data/vendor/local/include/msgpack/predef/library/std/sgi.h +3 -4
  192. data/vendor/local/include/msgpack/predef/library/std/stdcpp3.h +3 -4
  193. data/vendor/local/include/msgpack/predef/library/std/stlport.h +3 -4
  194. data/vendor/local/include/msgpack/predef/library/std/vacpp.h +3 -4
  195. data/vendor/local/include/msgpack/predef/make.h +2 -2
  196. data/vendor/local/include/msgpack/predef/os.h +3 -1
  197. data/vendor/local/include/msgpack/predef/os/aix.h +3 -4
  198. data/vendor/local/include/msgpack/predef/os/amigaos.h +3 -4
  199. data/vendor/local/include/msgpack/predef/os/android.h +3 -4
  200. data/vendor/local/include/msgpack/predef/os/beos.h +3 -4
  201. data/vendor/local/include/msgpack/predef/os/bsd.h +11 -3
  202. data/vendor/local/include/msgpack/predef/os/bsd/bsdi.h +3 -3
  203. data/vendor/local/include/msgpack/predef/os/bsd/dragonfly.h +3 -3
  204. data/vendor/local/include/msgpack/predef/os/bsd/free.h +3 -3
  205. data/vendor/local/include/msgpack/predef/os/bsd/net.h +3 -3
  206. data/vendor/local/include/msgpack/predef/os/bsd/open.h +3 -3
  207. data/vendor/local/include/msgpack/predef/os/cygwin.h +4 -5
  208. data/vendor/local/include/msgpack/predef/os/haiku.h +3 -4
  209. data/vendor/local/include/msgpack/predef/os/hpux.h +3 -4
  210. data/vendor/local/include/msgpack/predef/os/ios.h +3 -3
  211. data/vendor/local/include/msgpack/predef/os/irix.h +3 -4
  212. data/vendor/local/include/msgpack/predef/os/linux.h +3 -4
  213. data/vendor/local/include/msgpack/predef/os/macos.h +3 -4
  214. data/vendor/local/include/msgpack/predef/os/os400.h +3 -4
  215. data/vendor/local/include/msgpack/predef/os/qnxnto.h +3 -4
  216. data/vendor/local/include/msgpack/predef/os/solaris.h +3 -4
  217. data/vendor/local/include/msgpack/predef/os/unix.h +3 -3
  218. data/vendor/local/include/msgpack/predef/os/vms.h +3 -4
  219. data/vendor/local/include/msgpack/predef/os/windows.h +3 -3
  220. data/vendor/local/include/msgpack/predef/other.h +3 -1
  221. data/vendor/local/include/msgpack/predef/other/endian.h +4 -5
  222. data/vendor/local/include/msgpack/predef/platform.h +3 -1
  223. data/vendor/local/include/msgpack/predef/platform/mingw.h +3 -4
  224. data/vendor/local/include/msgpack/predef/platform/windows_desktop.h +4 -3
  225. data/vendor/local/include/msgpack/predef/platform/windows_phone.h +4 -3
  226. data/vendor/local/include/msgpack/predef/platform/windows_runtime.h +4 -3
  227. data/vendor/local/include/msgpack/predef/platform/windows_store.h +4 -3
  228. data/vendor/local/include/msgpack/predef/version.h +2 -2
  229. data/vendor/local/include/msgpack/predef/version_number.h +1 -2
  230. data/vendor/local/include/msgpack/preprocessor/arithmetic/dec.hpp +1 -0
  231. data/vendor/local/include/msgpack/preprocessor/config/config.hpp +5 -2
  232. data/vendor/local/include/msgpack/preprocessor/facilities/identity.hpp +4 -0
  233. data/vendor/local/include/msgpack/preprocessor/library.hpp +1 -0
  234. data/vendor/local/include/msgpack/preprocessor/repetition/for.hpp +19 -1
  235. data/vendor/local/include/msgpack/preprocessor/seq/detail/is_empty.hpp +49 -0
  236. data/vendor/local/include/msgpack/preprocessor/seq/for_each.hpp +57 -10
  237. data/vendor/local/include/msgpack/preprocessor/seq/for_each_i.hpp +58 -10
  238. data/vendor/local/include/msgpack/preprocessor/seq/replace.hpp +18 -2
  239. data/vendor/local/include/msgpack/preprocessor/seq/rest_n.hpp +18 -2
  240. data/vendor/local/include/msgpack/preprocessor/seq/size.hpp +1 -0
  241. data/vendor/local/include/msgpack/preprocessor/tuple/eat.hpp +10 -1
  242. data/vendor/local/include/msgpack/sbuffer.hpp +4 -139
  243. data/vendor/local/include/msgpack/sbuffer_decl.hpp +17 -0
  244. data/vendor/local/include/msgpack/sysdep.h +9 -5
  245. data/vendor/local/include/msgpack/type.hpp +2 -0
  246. data/vendor/local/include/msgpack/unpack.hpp +5 -1698
  247. data/vendor/local/include/msgpack/unpack_decl.hpp +16 -0
  248. data/vendor/local/include/msgpack/v1/adaptor/adaptor_base.hpp +116 -0
  249. data/vendor/local/include/msgpack/v1/adaptor/adaptor_base_decl.hpp +86 -0
  250. data/vendor/local/include/msgpack/v1/adaptor/array_ref.hpp +305 -0
  251. data/vendor/local/include/msgpack/v1/adaptor/array_ref_decl.hpp +55 -0
  252. data/vendor/local/include/msgpack/v1/adaptor/bool.hpp +66 -0
  253. data/vendor/local/include/msgpack/v1/adaptor/boost/fusion.hpp +160 -0
  254. data/vendor/local/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp +441 -0
  255. data/vendor/local/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp +62 -0
  256. data/vendor/local/include/msgpack/v1/adaptor/boost/optional.hpp +96 -0
  257. data/vendor/local/include/msgpack/v1/adaptor/boost/string_ref.hpp +87 -0
  258. data/vendor/local/include/msgpack/v1/adaptor/carray.hpp +253 -0
  259. data/vendor/local/include/msgpack/v1/adaptor/char_ptr.hpp +92 -0
  260. data/vendor/local/include/msgpack/v1/adaptor/check_container_size.hpp +67 -0
  261. data/vendor/local/include/msgpack/v1/adaptor/check_container_size_decl.hpp +44 -0
  262. data/vendor/local/include/msgpack/v1/adaptor/cpp11/array.hpp +138 -0
  263. data/vendor/local/include/msgpack/v1/adaptor/cpp11/array_char.hpp +90 -0
  264. data/vendor/local/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +90 -0
  265. data/vendor/local/include/msgpack/v1/adaptor/cpp11/forward_list.hpp +94 -0
  266. data/vendor/local/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp +68 -0
  267. data/vendor/local/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp +82 -0
  268. data/vendor/local/include/msgpack/v1/adaptor/cpp11/tuple.hpp +175 -0
  269. data/vendor/local/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp +82 -0
  270. data/vendor/local/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp +182 -0
  271. data/vendor/local/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp +172 -0
  272. data/vendor/local/include/msgpack/v1/adaptor/define.hpp +21 -0
  273. data/vendor/local/include/msgpack/v1/adaptor/define_decl.hpp +23 -0
  274. data/vendor/local/include/msgpack/v1/adaptor/deque.hpp +108 -0
  275. data/vendor/local/include/msgpack/{adaptor → v1/adaptor}/detail/cpp03_define_array.hpp +6 -71
  276. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp +135 -0
  277. data/vendor/local/include/msgpack/{adaptor → v1/adaptor}/detail/cpp03_define_map.hpp +7 -61
  278. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp +135 -0
  279. data/vendor/local/include/msgpack/{adaptor → v1/adaptor}/detail/cpp03_msgpack_tuple.hpp +1095 -579
  280. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +317 -0
  281. data/vendor/local/include/msgpack/{adaptor → v1/adaptor}/detail/cpp11_define_array.hpp +5 -71
  282. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp +39 -0
  283. data/vendor/local/include/msgpack/{adaptor → v1/adaptor}/detail/cpp11_define_map.hpp +7 -62
  284. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp +37 -0
  285. data/vendor/local/include/msgpack/{adaptor → v1/adaptor}/detail/cpp11_msgpack_tuple.hpp +30 -85
  286. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +120 -0
  287. data/vendor/local/include/msgpack/v1/adaptor/ext.hpp +236 -0
  288. data/vendor/local/include/msgpack/v1/adaptor/ext_decl.hpp +38 -0
  289. data/vendor/local/include/msgpack/v1/adaptor/fixint.hpp +283 -0
  290. data/vendor/local/include/msgpack/v1/adaptor/fixint_decl.hpp +46 -0
  291. data/vendor/local/include/msgpack/v1/adaptor/float.hpp +123 -0
  292. data/vendor/local/include/msgpack/v1/adaptor/int.hpp +426 -0
  293. data/vendor/local/include/msgpack/v1/adaptor/int_decl.hpp +49 -0
  294. data/vendor/local/include/msgpack/v1/adaptor/list.hpp +106 -0
  295. data/vendor/local/include/msgpack/v1/adaptor/map.hpp +314 -0
  296. data/vendor/local/include/msgpack/v1/adaptor/map_decl.hpp +36 -0
  297. data/vendor/local/include/msgpack/v1/adaptor/msgpack_tuple.hpp +21 -0
  298. data/vendor/local/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp +21 -0
  299. data/vendor/local/include/msgpack/v1/adaptor/nil.hpp +76 -0
  300. data/vendor/local/include/msgpack/v1/adaptor/nil_decl.hpp +44 -0
  301. data/vendor/local/include/msgpack/v1/adaptor/pair.hpp +83 -0
  302. data/vendor/local/include/msgpack/v1/adaptor/raw.hpp +106 -0
  303. data/vendor/local/include/msgpack/v1/adaptor/raw_decl.hpp +36 -0
  304. data/vendor/local/include/msgpack/v1/adaptor/set.hpp +188 -0
  305. data/vendor/local/include/msgpack/v1/adaptor/size_equal_only.hpp +118 -0
  306. data/vendor/local/include/msgpack/v1/adaptor/size_equal_only_decl.hpp +52 -0
  307. data/vendor/local/include/msgpack/v1/adaptor/string.hpp +87 -0
  308. data/vendor/local/include/msgpack/v1/adaptor/tr1/unordered_map.hpp +171 -0
  309. data/vendor/local/include/msgpack/v1/adaptor/tr1/unordered_set.hpp +165 -0
  310. data/vendor/local/include/msgpack/v1/adaptor/v4raw.hpp +105 -0
  311. data/vendor/local/include/msgpack/v1/adaptor/v4raw_decl.hpp +34 -0
  312. data/vendor/local/include/msgpack/v1/adaptor/vector.hpp +121 -0
  313. data/vendor/local/include/msgpack/v1/adaptor/vector_bool.hpp +90 -0
  314. data/vendor/local/include/msgpack/v1/adaptor/vector_char.hpp +114 -0
  315. data/vendor/local/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +114 -0
  316. data/vendor/local/include/msgpack/v1/cpp_config.hpp +129 -0
  317. data/vendor/local/include/msgpack/v1/cpp_config_decl.hpp +131 -0
  318. data/vendor/local/include/msgpack/{detail → v1/detail}/cpp03_zone.hpp +10 -21
  319. data/vendor/local/include/msgpack/v1/detail/cpp03_zone_decl.hpp +46 -0
  320. data/vendor/local/include/msgpack/{detail → v1/detail}/cpp11_zone.hpp +10 -18
  321. data/vendor/local/include/msgpack/v1/detail/cpp11_zone_decl.hpp +47 -0
  322. data/vendor/local/include/msgpack/v1/fbuffer.hpp +60 -0
  323. data/vendor/local/include/msgpack/v1/fbuffer_decl.hpp +32 -0
  324. data/vendor/local/include/msgpack/v1/iterator.hpp +40 -0
  325. data/vendor/local/include/msgpack/v1/iterator_decl.hpp +40 -0
  326. data/vendor/local/include/msgpack/v1/meta.hpp +47 -0
  327. data/vendor/local/include/msgpack/v1/meta_decl.hpp +52 -0
  328. data/vendor/local/include/msgpack/v1/object.hpp +865 -0
  329. data/vendor/local/include/msgpack/v1/object_decl.hpp +112 -0
  330. data/vendor/local/include/msgpack/v1/object_fwd.hpp +252 -0
  331. data/vendor/local/include/msgpack/v1/object_fwd_decl.hpp +76 -0
  332. data/vendor/local/include/msgpack/v1/pack.hpp +1602 -0
  333. data/vendor/local/include/msgpack/v1/pack_decl.hpp +91 -0
  334. data/vendor/local/include/msgpack/v1/preprocessor.hpp +19 -0
  335. data/vendor/local/include/msgpack/v1/sbuffer.hpp +149 -0
  336. data/vendor/local/include/msgpack/v1/sbuffer_decl.hpp +33 -0
  337. data/vendor/local/include/msgpack/v1/unpack.hpp +1672 -0
  338. data/vendor/local/include/msgpack/v1/unpack_decl.hpp +461 -0
  339. data/vendor/local/include/msgpack/v1/version.hpp +36 -0
  340. data/vendor/local/include/msgpack/v1/versioning.hpp +69 -0
  341. data/vendor/local/include/msgpack/v1/vrefbuffer.hpp +292 -0
  342. data/vendor/local/include/msgpack/v1/vrefbuffer_decl.hpp +39 -0
  343. data/vendor/local/include/msgpack/v1/zbuffer.hpp +159 -0
  344. data/vendor/local/include/msgpack/v1/zbuffer_decl.hpp +37 -0
  345. data/vendor/local/include/msgpack/v1/zone.hpp +21 -0
  346. data/vendor/local/include/msgpack/v1/zone_decl.hpp +21 -0
  347. data/vendor/local/include/msgpack/v2/adaptor/adaptor_base.hpp +58 -0
  348. data/vendor/local/include/msgpack/v2/adaptor/adaptor_base_decl.hpp +52 -0
  349. data/vendor/local/include/msgpack/v2/adaptor/array_ref_decl.hpp +36 -0
  350. data/vendor/local/include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp +42 -0
  351. data/vendor/local/include/msgpack/v2/adaptor/check_container_size_decl.hpp +39 -0
  352. data/vendor/local/include/msgpack/v2/adaptor/define_decl.hpp +23 -0
  353. data/vendor/local/include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp +31 -0
  354. data/vendor/local/include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp +31 -0
  355. data/vendor/local/include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +43 -0
  356. data/vendor/local/include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp +32 -0
  357. data/vendor/local/include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp +31 -0
  358. data/vendor/local/include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +59 -0
  359. data/vendor/local/include/msgpack/v2/adaptor/ext_decl.hpp +34 -0
  360. data/vendor/local/include/msgpack/v2/adaptor/fixint_decl.hpp +43 -0
  361. data/vendor/local/include/msgpack/v2/adaptor/int_decl.hpp +54 -0
  362. data/vendor/local/include/msgpack/v2/adaptor/map_decl.hpp +33 -0
  363. data/vendor/local/include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp +21 -0
  364. data/vendor/local/include/msgpack/v2/adaptor/nil_decl.hpp +42 -0
  365. data/vendor/local/include/msgpack/v2/adaptor/raw_decl.hpp +33 -0
  366. data/vendor/local/include/msgpack/v2/adaptor/size_equal_only_decl.hpp +35 -0
  367. data/vendor/local/include/msgpack/v2/adaptor/v4raw_decl.hpp +34 -0
  368. data/vendor/local/include/msgpack/v2/cpp_config_decl.hpp +84 -0
  369. data/vendor/local/include/msgpack/v2/detail/cpp03_zone_decl.hpp +31 -0
  370. data/vendor/local/include/msgpack/v2/detail/cpp11_zone_decl.hpp +31 -0
  371. data/vendor/local/include/msgpack/v2/fbuffer_decl.hpp +32 -0
  372. data/vendor/local/include/msgpack/v2/iterator_decl.hpp +33 -0
  373. data/vendor/local/include/msgpack/v2/meta_decl.hpp +46 -0
  374. data/vendor/local/include/msgpack/v2/object.hpp +33 -0
  375. data/vendor/local/include/msgpack/v2/object_decl.hpp +49 -0
  376. data/vendor/local/include/msgpack/v2/object_fwd.hpp +109 -0
  377. data/vendor/local/include/msgpack/v2/object_fwd_decl.hpp +73 -0
  378. data/vendor/local/include/msgpack/v2/pack_decl.hpp +55 -0
  379. data/vendor/local/include/msgpack/v2/sbuffer_decl.hpp +33 -0
  380. data/vendor/local/include/msgpack/v2/unpack.hpp +1625 -0
  381. data/vendor/local/include/msgpack/v2/unpack_decl.hpp +348 -0
  382. data/vendor/local/include/msgpack/v2/vrefbuffer_decl.hpp +29 -0
  383. data/vendor/local/include/msgpack/v2/zbuffer_decl.hpp +29 -0
  384. data/vendor/local/include/msgpack/v2/zone_decl.hpp +21 -0
  385. data/vendor/local/include/msgpack/version_master.h +2 -2
  386. data/vendor/local/include/msgpack/versioning.hpp +3 -3
  387. data/vendor/local/include/msgpack/vrefbuffer.hpp +4 -279
  388. data/vendor/local/include/msgpack/vrefbuffer_decl.hpp +16 -0
  389. data/vendor/local/include/msgpack/zbuffer.hpp +3 -153
  390. data/vendor/local/include/msgpack/zbuffer_decl.hpp +16 -0
  391. data/vendor/local/include/msgpack/zone.hpp +3 -7
  392. data/vendor/local/include/msgpack/zone_decl.hpp +16 -0
  393. data/vendor/local/lib/groonga/plugins/functions/number.a +0 -0
  394. data/vendor/local/lib/groonga/plugins/functions/number.dll +0 -0
  395. data/vendor/local/lib/groonga/plugins/functions/number.dll.a +0 -0
  396. data/vendor/local/lib/groonga/plugins/functions/number.la +3 -3
  397. data/vendor/local/lib/groonga/plugins/functions/string.a +0 -0
  398. data/vendor/local/lib/groonga/plugins/functions/string.dll +0 -0
  399. data/vendor/local/lib/groonga/plugins/functions/string.dll.a +0 -0
  400. data/vendor/local/lib/groonga/plugins/functions/string.la +3 -3
  401. data/vendor/local/lib/groonga/plugins/functions/time.a +0 -0
  402. data/vendor/local/lib/groonga/plugins/functions/time.dll +0 -0
  403. data/vendor/local/lib/groonga/plugins/functions/time.dll.a +0 -0
  404. data/vendor/local/lib/groonga/plugins/functions/time.la +3 -3
  405. data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
  406. data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
  407. data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
  408. data/vendor/local/lib/groonga/plugins/functions/vector.la +3 -3
  409. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  410. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  411. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  412. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +3 -3
  413. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  414. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  415. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  416. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +3 -3
  417. data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
  418. data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
  419. data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
  420. data/vendor/local/lib/groonga/plugins/table/table.la +3 -3
  421. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
  422. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
  423. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
  424. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +3 -3
  425. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  426. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  427. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  428. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +3 -3
  429. data/vendor/local/lib/groonga/scripts/ruby/expression.rb +1 -0
  430. data/vendor/local/lib/groonga/scripts/ruby/expression_rewriters.rb +10 -0
  431. data/vendor/local/lib/libgroonga.a +0 -0
  432. data/vendor/local/lib/libgroonga.dll.a +0 -0
  433. data/vendor/local/lib/libgroonga.la +3 -3
  434. data/vendor/local/lib/liblz4.a +0 -0
  435. data/vendor/local/lib/liblz4.dll +0 -0
  436. data/vendor/local/lib/liblz4.dll.1 +0 -0
  437. data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
  438. data/vendor/local/lib/libmecab.a +0 -0
  439. data/vendor/local/lib/libmecab.dll.a +0 -0
  440. data/vendor/local/lib/libmsgpackc.a +0 -0
  441. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  442. data/vendor/local/lib/libonig.a +0 -0
  443. data/vendor/local/lib/libonig.dll.a +0 -0
  444. data/vendor/local/lib/libonig.la +2 -2
  445. data/vendor/local/lib/libz.a +0 -0
  446. data/vendor/local/lib/libz.dll.a +0 -0
  447. data/vendor/local/lib/pkgconfig/groonga.pc +2 -2
  448. data/vendor/local/lib/pkgconfig/msgpack.pc +2 -2
  449. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  450. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  451. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  452. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  453. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  454. data/vendor/local/sbin/groonga-httpd.exe +0 -0
  455. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  456. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/release.txt +0 -1
  457. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +3 -3
  458. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +3 -3
  459. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +3 -3
  460. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
  461. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
  462. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  463. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +3 -4
  464. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
  465. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +82 -1244
  466. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.2.x.txt +3 -0
  467. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.3.x.txt +3 -0
  468. data/vendor/local/share/doc/groonga/en/html/_sources/news/2.x.txt +3 -0
  469. data/vendor/local/share/doc/groonga/en/html/_sources/news/3.x.txt +3 -0
  470. data/vendor/local/share/doc/groonga/en/html/_sources/news/4.x.txt +3 -0
  471. data/vendor/local/share/doc/groonga/en/html/_sources/news/5.x.txt +1250 -0
  472. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/object_list.txt +393 -0
  473. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/string_substring.txt +27 -0
  474. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/vector_slice.txt +27 -0
  475. data/vendor/local/share/doc/groonga/en/html/_sources/reference/normalizers.txt +1 -1
  476. data/vendor/local/share/doc/groonga/en/html/_static/basic.css +0 -4
  477. data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +25 -1
  478. data/vendor/local/share/doc/groonga/en/html/characteristic.html +7 -7
  479. data/vendor/local/share/doc/groonga/en/html/client.html +7 -7
  480. data/vendor/local/share/doc/groonga/en/html/community.html +7 -7
  481. data/vendor/local/share/doc/groonga/en/html/contribution.html +7 -7
  482. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +7 -7
  483. data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +7 -7
  484. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +7 -7
  485. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +7 -7
  486. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +7 -7
  487. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +7 -7
  488. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +7 -7
  489. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +7 -7
  490. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +7 -8
  491. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +7 -7
  492. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +7 -7
  493. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +7 -7
  494. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +7 -7
  495. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +7 -7
  496. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +7 -7
  497. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +7 -7
  498. data/vendor/local/share/doc/groonga/en/html/development.html +7 -7
  499. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +7 -7
  500. data/vendor/local/share/doc/groonga/en/html/genindex.html +7 -7
  501. data/vendor/local/share/doc/groonga/en/html/index.html +44 -41
  502. data/vendor/local/share/doc/groonga/en/html/install.html +7 -7
  503. data/vendor/local/share/doc/groonga/en/html/install/centos.html +10 -10
  504. data/vendor/local/share/doc/groonga/en/html/install/debian.html +10 -10
  505. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +10 -10
  506. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +10 -10
  507. data/vendor/local/share/doc/groonga/en/html/install/others.html +10 -10
  508. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +10 -10
  509. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +10 -11
  510. data/vendor/local/share/doc/groonga/en/html/install/windows.html +16 -16
  511. data/vendor/local/share/doc/groonga/en/html/limitations.html +7 -7
  512. data/vendor/local/share/doc/groonga/en/html/news.html +257 -1703
  513. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +7 -7
  514. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +7 -7
  515. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +7 -7
  516. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +54 -48
  517. data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +18 -12
  518. data/vendor/local/share/doc/groonga/en/html/news/2.x.html +65 -59
  519. data/vendor/local/share/doc/groonga/en/html/news/3.x.html +64 -58
  520. data/vendor/local/share/doc/groonga/en/html/news/4.x.html +61 -55
  521. data/vendor/local/share/doc/groonga/en/html/news/5.x.html +1426 -0
  522. data/vendor/local/share/doc/groonga/en/html/news/senna.html +7 -7
  523. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  524. data/vendor/local/share/doc/groonga/en/html/reference.html +44 -41
  525. data/vendor/local/share/doc/groonga/en/html/reference/alias.html +7 -7
  526. data/vendor/local/share/doc/groonga/en/html/reference/api.html +7 -7
  527. data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +7 -7
  528. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +7 -7
  529. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +7 -7
  530. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +7 -7
  531. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +7 -7
  532. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +7 -7
  533. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +7 -7
  534. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +7 -7
  535. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +7 -7
  536. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +7 -7
  537. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +7 -7
  538. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +7 -7
  539. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +7 -7
  540. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +7 -7
  541. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +7 -7
  542. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +7 -7
  543. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +7 -7
  544. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +7 -7
  545. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +7 -7
  546. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +7 -7
  547. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +7 -7
  548. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +7 -7
  549. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +7 -7
  550. data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +7 -7
  551. data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +7 -7
  552. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +7 -7
  553. data/vendor/local/share/doc/groonga/en/html/reference/column.html +7 -7
  554. data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +7 -7
  555. data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +7 -7
  556. data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +7 -7
  557. data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +7 -7
  558. data/vendor/local/share/doc/groonga/en/html/reference/command.html +33 -32
  559. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +7 -7
  560. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +7 -7
  561. data/vendor/local/share/doc/groonga/en/html/reference/command/pretty_print.html +7 -7
  562. data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +7 -7
  563. data/vendor/local/share/doc/groonga/en/html/reference/command/request_timeout.html +7 -7
  564. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +7 -7
  565. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +7 -7
  566. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +7 -7
  567. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +7 -7
  568. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +7 -7
  569. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +7 -7
  570. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +7 -7
  571. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +7 -7
  572. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +7 -7
  573. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_delete.html +7 -7
  574. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_get.html +7 -7
  575. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_set.html +7 -7
  576. data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +7 -7
  577. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +7 -7
  578. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +7 -7
  579. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +7 -7
  580. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +7 -7
  581. data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +7 -7
  582. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +7 -7
  583. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_acquire.html +7 -7
  584. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +7 -7
  585. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_release.html +7 -7
  586. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +7 -7
  587. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +7 -7
  588. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +7 -7
  589. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +7 -7
  590. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +7 -7
  591. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +7 -7
  592. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +7 -7
  593. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +7 -7
  594. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +7 -7
  595. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +7 -7
  596. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +7 -7
  597. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +7 -7
  598. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_inspect.html +12 -12
  599. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_list.html +991 -0
  600. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_remove.html +36 -36
  601. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +27 -27
  602. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +27 -27
  603. data/vendor/local/share/doc/groonga/en/html/reference/commands/query_expand.html +33 -33
  604. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +27 -27
  605. data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +27 -27
  606. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +27 -27
  607. data/vendor/local/share/doc/groonga/en/html/reference/commands/reindex.html +29 -29
  608. data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +33 -33
  609. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +31 -31
  610. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +31 -31
  611. data/vendor/local/share/doc/groonga/en/html/reference/commands/schema.html +69 -69
  612. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +113 -113
  613. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +33 -33
  614. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +31 -31
  615. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +29 -29
  616. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +53 -53
  617. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +27 -27
  618. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +43 -43
  619. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +33 -33
  620. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +43 -43
  621. data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +33 -33
  622. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +45 -45
  623. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +27 -27
  624. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +27 -27
  625. data/vendor/local/share/doc/groonga/en/html/reference/configuration.html +7 -7
  626. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +7 -7
  627. data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +7 -7
  628. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +7 -7
  629. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +7 -7
  630. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +7 -7
  631. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +7 -7
  632. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +7 -7
  633. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +7 -7
  634. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +7 -7
  635. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +7 -7
  636. data/vendor/local/share/doc/groonga/en/html/reference/function.html +18 -16
  637. data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +7 -7
  638. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +7 -7
  639. data/vendor/local/share/doc/groonga/en/html/reference/functions/fuzzy_search.html +7 -7
  640. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +7 -7
  641. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +7 -7
  642. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +7 -7
  643. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +7 -7
  644. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +7 -7
  645. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +7 -7
  646. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +7 -7
  647. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +7 -7
  648. data/vendor/local/share/doc/groonga/en/html/reference/functions/number_classify.html +7 -7
  649. data/vendor/local/share/doc/groonga/en/html/reference/functions/prefix_rk_search.html +7 -7
  650. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +7 -7
  651. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +7 -7
  652. data/vendor/local/share/doc/groonga/en/html/reference/functions/record_number.html +7 -7
  653. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +12 -12
  654. data/vendor/local/share/doc/groonga/en/html/reference/functions/string_substring.html +162 -0
  655. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +34 -34
  656. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day.html +25 -25
  657. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_hour.html +25 -25
  658. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_minute.html +25 -25
  659. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_month.html +25 -25
  660. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_second.html +25 -25
  661. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_week.html +25 -25
  662. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_year.html +25 -25
  663. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +30 -30
  664. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_slice.html +162 -0
  665. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +7 -7
  666. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +7 -7
  667. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +7 -7
  668. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +7 -7
  669. data/vendor/local/share/doc/groonga/en/html/reference/log.html +7 -7
  670. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +8 -8
  671. data/vendor/local/share/doc/groonga/en/html/reference/operations.html +12 -12
  672. data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +7 -7
  673. data/vendor/local/share/doc/groonga/en/html/reference/operations/prefix_rk_search.html +7 -7
  674. data/vendor/local/share/doc/groonga/en/html/reference/output.html +7 -7
  675. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +7 -7
  676. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +7 -7
  677. data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +7 -7
  678. data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +7 -7
  679. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +7 -7
  680. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +7 -7
  681. data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +7 -7
  682. data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +7 -7
  683. data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +7 -7
  684. data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +7 -7
  685. data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +7 -7
  686. data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +7 -7
  687. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +7 -7
  688. data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +7 -7
  689. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +7 -7
  690. data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +7 -7
  691. data/vendor/local/share/doc/groonga/en/html/reference/types.html +11 -11
  692. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  693. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  694. data/vendor/local/share/doc/groonga/en/html/server.html +7 -7
  695. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +7 -7
  696. data/vendor/local/share/doc/groonga/en/html/server/http.html +7 -7
  697. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +7 -7
  698. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +7 -7
  699. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +7 -7
  700. data/vendor/local/share/doc/groonga/en/html/server/memcached.html +7 -7
  701. data/vendor/local/share/doc/groonga/en/html/server/package.html +7 -7
  702. data/vendor/local/share/doc/groonga/en/html/spec.html +7 -7
  703. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +7 -7
  704. data/vendor/local/share/doc/groonga/en/html/spec/search.html +7 -7
  705. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +7 -7
  706. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +7 -7
  707. data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +7 -7
  708. data/vendor/local/share/doc/groonga/en/html/tutorial.html +7 -7
  709. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +7 -7
  710. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +7 -7
  711. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +7 -7
  712. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +7 -7
  713. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +7 -7
  714. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +7 -7
  715. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +7 -7
  716. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +7 -7
  717. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +7 -7
  718. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +7 -7
  719. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +7 -7
  720. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  721. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/release.txt +0 -1
  722. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +3 -3
  723. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +3 -3
  724. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +3 -3
  725. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
  726. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
  727. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  728. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +3 -4
  729. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
  730. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +82 -1244
  731. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.2.x.txt +3 -0
  732. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.3.x.txt +3 -0
  733. data/vendor/local/share/doc/groonga/ja/html/_sources/news/2.x.txt +3 -0
  734. data/vendor/local/share/doc/groonga/ja/html/_sources/news/3.x.txt +3 -0
  735. data/vendor/local/share/doc/groonga/ja/html/_sources/news/4.x.txt +3 -0
  736. data/vendor/local/share/doc/groonga/ja/html/_sources/news/5.x.txt +1250 -0
  737. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/object_list.txt +393 -0
  738. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/string_substring.txt +27 -0
  739. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/vector_slice.txt +27 -0
  740. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/normalizers.txt +1 -1
  741. data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +0 -4
  742. data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +25 -1
  743. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +7 -7
  744. data/vendor/local/share/doc/groonga/ja/html/client.html +7 -7
  745. data/vendor/local/share/doc/groonga/ja/html/community.html +7 -7
  746. data/vendor/local/share/doc/groonga/ja/html/contribution.html +7 -7
  747. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +7 -7
  748. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +7 -7
  749. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +7 -7
  750. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +7 -7
  751. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +7 -7
  752. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +7 -7
  753. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +7 -7
  754. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +7 -7
  755. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +7 -8
  756. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +7 -7
  757. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +7 -7
  758. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +7 -7
  759. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +7 -7
  760. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +7 -7
  761. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +7 -7
  762. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +7 -7
  763. data/vendor/local/share/doc/groonga/ja/html/development.html +7 -7
  764. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +7 -7
  765. data/vendor/local/share/doc/groonga/ja/html/genindex.html +7 -7
  766. data/vendor/local/share/doc/groonga/ja/html/index.html +44 -41
  767. data/vendor/local/share/doc/groonga/ja/html/install.html +7 -7
  768. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +10 -10
  769. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +10 -10
  770. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +10 -10
  771. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +10 -10
  772. data/vendor/local/share/doc/groonga/ja/html/install/others.html +10 -10
  773. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +10 -10
  774. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +10 -11
  775. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +16 -16
  776. data/vendor/local/share/doc/groonga/ja/html/limitations.html +7 -7
  777. data/vendor/local/share/doc/groonga/ja/html/news.html +248 -1638
  778. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +7 -7
  779. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +7 -7
  780. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +7 -7
  781. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +54 -48
  782. data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +18 -12
  783. data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +65 -59
  784. data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +64 -58
  785. data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +61 -55
  786. data/vendor/local/share/doc/groonga/ja/html/news/5.x.html +1368 -0
  787. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +7 -7
  788. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  789. data/vendor/local/share/doc/groonga/ja/html/reference.html +44 -41
  790. data/vendor/local/share/doc/groonga/ja/html/reference/alias.html +7 -7
  791. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +7 -7
  792. data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +7 -7
  793. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +7 -7
  794. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +7 -7
  795. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +7 -7
  796. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +7 -7
  797. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +7 -7
  798. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +7 -7
  799. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +7 -7
  800. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +7 -7
  801. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +7 -7
  802. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +7 -7
  803. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +7 -7
  804. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +7 -7
  805. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +7 -7
  806. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +7 -7
  807. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +7 -7
  808. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +7 -7
  809. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +7 -7
  810. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +7 -7
  811. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +7 -7
  812. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +7 -7
  813. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +7 -7
  814. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +7 -7
  815. data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +7 -7
  816. data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +7 -7
  817. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +7 -7
  818. data/vendor/local/share/doc/groonga/ja/html/reference/column.html +7 -7
  819. data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +7 -7
  820. data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +7 -7
  821. data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +7 -7
  822. data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +7 -7
  823. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +33 -32
  824. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +7 -7
  825. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +7 -7
  826. data/vendor/local/share/doc/groonga/ja/html/reference/command/pretty_print.html +7 -7
  827. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +7 -7
  828. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_timeout.html +7 -7
  829. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +7 -7
  830. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +7 -7
  831. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +7 -7
  832. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +7 -7
  833. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +7 -7
  834. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +7 -7
  835. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +7 -7
  836. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +7 -7
  837. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +7 -7
  838. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_delete.html +7 -7
  839. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_get.html +7 -7
  840. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_set.html +7 -7
  841. data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +7 -7
  842. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +7 -7
  843. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +7 -7
  844. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +7 -7
  845. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +7 -7
  846. data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +7 -7
  847. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +7 -7
  848. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_acquire.html +7 -7
  849. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +7 -7
  850. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_release.html +7 -7
  851. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +7 -7
  852. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +7 -7
  853. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +7 -7
  854. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +7 -7
  855. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +7 -7
  856. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +7 -7
  857. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +7 -7
  858. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +7 -7
  859. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +7 -7
  860. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +7 -7
  861. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +7 -7
  862. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +7 -7
  863. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_inspect.html +12 -12
  864. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_list.html +1014 -0
  865. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_remove.html +36 -36
  866. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +27 -27
  867. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +27 -27
  868. data/vendor/local/share/doc/groonga/ja/html/reference/commands/query_expand.html +33 -33
  869. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +27 -27
  870. data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +27 -27
  871. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +27 -27
  872. data/vendor/local/share/doc/groonga/ja/html/reference/commands/reindex.html +29 -29
  873. data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +33 -33
  874. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +31 -31
  875. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +31 -31
  876. data/vendor/local/share/doc/groonga/ja/html/reference/commands/schema.html +69 -69
  877. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +113 -113
  878. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +33 -33
  879. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +31 -31
  880. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +29 -29
  881. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +53 -53
  882. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +27 -27
  883. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +43 -43
  884. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +33 -33
  885. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +43 -43
  886. data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +33 -33
  887. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +45 -45
  888. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +27 -27
  889. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +27 -27
  890. data/vendor/local/share/doc/groonga/ja/html/reference/configuration.html +7 -7
  891. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +7 -7
  892. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +7 -7
  893. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +7 -7
  894. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +7 -7
  895. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +7 -7
  896. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +7 -7
  897. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +7 -7
  898. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +7 -7
  899. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +7 -7
  900. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +7 -7
  901. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +18 -16
  902. data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +7 -7
  903. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +7 -7
  904. data/vendor/local/share/doc/groonga/ja/html/reference/functions/fuzzy_search.html +7 -7
  905. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +7 -7
  906. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +7 -7
  907. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +7 -7
  908. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +7 -7
  909. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +7 -7
  910. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +7 -7
  911. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +7 -7
  912. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +7 -7
  913. data/vendor/local/share/doc/groonga/ja/html/reference/functions/number_classify.html +7 -7
  914. data/vendor/local/share/doc/groonga/ja/html/reference/functions/prefix_rk_search.html +7 -7
  915. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +7 -7
  916. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +7 -7
  917. data/vendor/local/share/doc/groonga/ja/html/reference/functions/record_number.html +7 -7
  918. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +12 -12
  919. data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_substring.html +163 -0
  920. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +34 -34
  921. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day.html +25 -25
  922. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_hour.html +25 -25
  923. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_minute.html +25 -25
  924. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_month.html +25 -25
  925. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_second.html +25 -25
  926. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_week.html +25 -25
  927. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_year.html +25 -25
  928. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +30 -30
  929. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_slice.html +163 -0
  930. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +7 -7
  931. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +7 -7
  932. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +7 -7
  933. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +7 -7
  934. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +7 -7
  935. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +8 -8
  936. data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +12 -12
  937. data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +7 -7
  938. data/vendor/local/share/doc/groonga/ja/html/reference/operations/prefix_rk_search.html +7 -7
  939. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +7 -7
  940. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +7 -7
  941. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +7 -7
  942. data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +7 -7
  943. data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +7 -7
  944. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +7 -7
  945. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +7 -7
  946. data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +7 -7
  947. data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +7 -7
  948. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +7 -7
  949. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +7 -7
  950. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +7 -7
  951. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +7 -7
  952. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +7 -7
  953. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +7 -7
  954. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +7 -7
  955. data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +7 -7
  956. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +11 -11
  957. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  958. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  959. data/vendor/local/share/doc/groonga/ja/html/server.html +7 -7
  960. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +7 -7
  961. data/vendor/local/share/doc/groonga/ja/html/server/http.html +7 -7
  962. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +7 -7
  963. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +7 -7
  964. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +7 -7
  965. data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +7 -7
  966. data/vendor/local/share/doc/groonga/ja/html/server/package.html +7 -7
  967. data/vendor/local/share/doc/groonga/ja/html/spec.html +7 -7
  968. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +7 -7
  969. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +7 -7
  970. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +7 -7
  971. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +7 -7
  972. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +7 -7
  973. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +7 -7
  974. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +7 -7
  975. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +7 -7
  976. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +7 -7
  977. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +7 -7
  978. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +7 -7
  979. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +7 -7
  980. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +7 -7
  981. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +7 -7
  982. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +7 -7
  983. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +7 -7
  984. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +7 -7
  985. data/vendor/local/share/groonga/examples/dictionary/edict/edict-import.sh +7 -1
  986. data/vendor/local/share/groonga/examples/dictionary/html/index.html +1 -1
  987. data/vendor/local/share/license/msgpack/README.md +6 -7
  988. metadata +200 -16
  989. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  990. data/vendor/local/lib/libmsgpack.a +0 -0
  991. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  992. data/vendor/local/lib/libmsgpack.la +0 -41
  993. data/vendor/local/lib/libmsgpackc.la +0 -41
@@ -0,0 +1,73 @@
1
+ //
2
+ // MessagePack for C++ static resolution routine
3
+ //
4
+ // Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi
5
+ //
6
+ // Distributed under the Boost Software License, Version 1.0.
7
+ // (See accompanying file LICENSE_1_0.txt or copy at
8
+ // http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+
11
+ #ifndef MSGPACK_V2_OBJECT_FWD_DECL_HPP
12
+ #define MSGPACK_V2_OBJECT_FWD_DECL_HPP
13
+
14
+ #include "msgpack/v1/object_fwd_decl.hpp"
15
+
16
+ namespace msgpack {
17
+
18
+ /// @cond
19
+ MSGPACK_API_VERSION_NAMESPACE(v2) {
20
+ /// @endcond
21
+
22
+ namespace type {
23
+ using v1::type::object_type;
24
+ using v1::type::NIL;
25
+ using v1::type::BOOLEAN;
26
+ using v1::type::POSITIVE_INTEGER;
27
+ using v1::type::NEGATIVE_INTEGER;
28
+ using v1::type::FLOAT;
29
+ #if defined(MSGPACK_USE_LEGACY_NAME_AS_FLOAT)
30
+ using v1::type::DOUBLE;
31
+ #endif // MSGPACK_USE_LEGACY_NAME_AS_FLOAT
32
+ using v1::type::STR;
33
+ using v1::type::BIN;
34
+ using v1::type::ARRAY;
35
+ using v1::type::MAP;
36
+ using v1::type::EXT;
37
+ } // namespace type
38
+
39
+ struct object;
40
+
41
+ using v1::object_kv;
42
+
43
+ using v1::object_array;
44
+ using v1::object_map;
45
+
46
+ using v1::object_str;
47
+ using v1::object_bin;
48
+ using v1::object_ext;
49
+
50
+ using v1::type_error;
51
+
52
+
53
+ #if !defined(MSGPACK_USE_CPP03)
54
+
55
+ namespace adaptor {
56
+
57
+ template <typename T, typename Enabler = void>
58
+ struct as;
59
+
60
+ } // namespace adaptor
61
+
62
+ template <typename T>
63
+ struct has_as;
64
+
65
+ #endif // !defined(MSGPACK_USE_CPP03)
66
+
67
+ /// @cond
68
+ } // MSGPACK_API_VERSION_NAMESPACE(v2)
69
+ /// @endcond
70
+
71
+ } // namespace msgpack
72
+
73
+ #endif // MSGPACK_V2_OBJECT_FWD_DECL_HPP
@@ -0,0 +1,55 @@
1
+ //
2
+ // MessagePack for C++ serializing routine
3
+ //
4
+ // Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi
5
+ //
6
+ // Distributed under the Boost Software License, Version 1.0.
7
+ // (See accompanying file LICENSE_1_0.txt or copy at
8
+ // http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+ #ifndef MSGPACK_V2_PACK_DECL_HPP
11
+ #define MSGPACK_V2_PACK_DECL_HPP
12
+
13
+ #include "msgpack/v1/pack_decl.hpp"
14
+
15
+ namespace msgpack {
16
+
17
+ /// @cond
18
+ MSGPACK_API_VERSION_NAMESPACE(v2) {
19
+ /// @endcond
20
+
21
+ using v1::packer;
22
+
23
+ using v1::pack;
24
+
25
+ #if MSGPACK_ENDIAN_LITTLE_BYTE
26
+
27
+ using v1::take8_8;
28
+
29
+ using v1::take8_16;
30
+
31
+ using v1::take8_32;
32
+
33
+ using v1::take8_64;
34
+
35
+ #elif MSGPACK_ENDIAN_BIG_BYTE
36
+
37
+ using v1::take8_8;
38
+
39
+ using v1::take8_16;
40
+
41
+ using v1::take8_32;
42
+
43
+ using v1::take8_64;
44
+
45
+ #else
46
+ #error msgpack-c supports only big endian and little endian
47
+ #endif
48
+
49
+ /// @cond
50
+ } // MSGPACK_API_VERSION_NAMESPACE(v2)
51
+ /// @endcond
52
+
53
+ } // namespace msgpack
54
+
55
+ #endif // MSGPACK_V2_PACK_DECL_HPP
@@ -0,0 +1,33 @@
1
+ //
2
+ // MessagePack for C++ simple buffer implementation
3
+ //
4
+ // Copyright (C) 2016 KONDO Takatoshi
5
+ //
6
+ // Distributed under the Boost Software License, Version 1.0.
7
+ // (See accompanying file LICENSE_1_0.txt or copy at
8
+ // http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+ #ifndef MSGPACK_V2_SBUFFER_DECL_HPP
11
+ #define MSGPACK_V2_SBUFFER_DECL_HPP
12
+
13
+ #include "msgpack/versioning.hpp"
14
+
15
+ #ifndef MSGPACK_SBUFFER_INIT_SIZE
16
+ #define MSGPACK_SBUFFER_INIT_SIZE 8192
17
+ #endif
18
+
19
+ namespace msgpack {
20
+
21
+ /// @cond
22
+ MSGPACK_API_VERSION_NAMESPACE(v2) {
23
+ /// @endcond
24
+
25
+ using v1::sbuffer;
26
+
27
+ /// @cond
28
+ } // MSGPACK_API_VERSION_NAMESPACE(v2)
29
+ /// @endcond
30
+
31
+ } // namespace msgpack
32
+
33
+ #endif // MSGPACK_V2_SBUFFER_DECL_HPP
@@ -0,0 +1,1625 @@
1
+ //
2
+ // MessagePack for C++ deserializing routine
3
+ //
4
+ // Copyright (C) 2016 KONDO Takatoshi
5
+ //
6
+ // Distributed under the Boost Software License, Version 1.0.
7
+ // (See accompanying file LICENSE_1_0.txt or copy at
8
+ // http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+ #ifndef MSGPACK_V2_UNPACK_HPP
11
+ #define MSGPACK_V2_UNPACK_HPP
12
+
13
+ #include "msgpack/unpack_decl.hpp"
14
+
15
+ namespace msgpack {
16
+
17
+ /// @cond
18
+ MSGPACK_API_VERSION_NAMESPACE(v2) {
19
+ /// @endcond
20
+
21
+ struct null_visitor {
22
+ bool visit_nil() {
23
+ return true;
24
+ }
25
+ bool visit_boolean(bool /*v*/) {
26
+ return true;
27
+ }
28
+ bool visit_positive_integer(uint64_t /*v*/) {
29
+ return true;
30
+ }
31
+ bool visit_negative_integer(int64_t /*v*/) {
32
+ return true;
33
+ }
34
+ bool visit_float(double /*v*/) {
35
+ return true;
36
+ }
37
+ bool visit_str(const char* /*v*/, uint32_t /*size*/) {
38
+ return true;
39
+ }
40
+ bool visit_bin(const char* /*v*/, uint32_t /*size*/) {
41
+ return true;
42
+ }
43
+ bool visit_ext(const char* /*v*/, uint32_t /*size*/) {
44
+ return true;
45
+ }
46
+ bool start_array(uint32_t /*num_elements*/) {
47
+ return true;
48
+ }
49
+ bool start_array_item() {
50
+ return true;
51
+ }
52
+ bool end_array_item() {
53
+ return true;
54
+ }
55
+ bool end_array() {
56
+ return true;
57
+ }
58
+ bool start_map(uint32_t /*num_kv_pairs*/) {
59
+ return true;
60
+ }
61
+ bool start_map_key() {
62
+ return true;
63
+ }
64
+ bool end_map_key() {
65
+ return true;
66
+ }
67
+ bool start_map_value() {
68
+ return true;
69
+ }
70
+ bool end_map_value() {
71
+ return true;
72
+ }
73
+ bool end_map() {
74
+ return true;
75
+ }
76
+ void parse_error(size_t /*parsed_offset*/, size_t /*error_offset*/) {
77
+ }
78
+ void insufficient_bytes(size_t /*parsed_offset*/, size_t /*error_offset*/) {
79
+ }
80
+ };
81
+
82
+ namespace detail {
83
+
84
+ class create_object_visitor {
85
+ public:
86
+ create_object_visitor(unpack_reference_func f, void* user_data, unpack_limit const& limit)
87
+ :m_func(f), m_user_data(user_data), m_limit(limit) {
88
+ m_stack.reserve(MSGPACK_EMBED_STACK_SIZE);
89
+ m_stack.push_back(&m_obj);
90
+ }
91
+
92
+ #if !defined(MSGPACK_USE_CPP03)
93
+ create_object_visitor(create_object_visitor&& other)
94
+ :m_func(other.m_func),
95
+ m_user_data(other.m_user_data),
96
+ m_limit(std::move(other.m_limit)),
97
+ m_stack(std::move(other.m_stack)),
98
+ m_zone(other.m_zone),
99
+ m_referenced(other.m_referenced) {
100
+ other.m_zone = MSGPACK_NULLPTR;
101
+ m_stack[0] = &m_obj;
102
+ }
103
+ create_object_visitor& operator=(create_object_visitor&& other) {
104
+ this->~create_object_visitor();
105
+ new (this) create_object_visitor(std::move(other));
106
+ return *this;
107
+ }
108
+ #endif // !defined(MSGPACK_USE_CPP03)
109
+
110
+ void init() {
111
+ m_stack.resize(1);
112
+ m_obj = msgpack::object();
113
+ m_stack[0] = &m_obj;
114
+ }
115
+ msgpack::object const& data() const
116
+ {
117
+ return m_obj;
118
+ }
119
+ msgpack::zone const& zone() const { return *m_zone; }
120
+ msgpack::zone& zone() { return *m_zone; }
121
+ void set_zone(msgpack::zone& zone) { m_zone = &zone; }
122
+ bool referenced() const { return m_referenced; }
123
+ void set_referenced(bool referenced) { m_referenced = referenced; }
124
+ // visit functions
125
+ bool visit_nil() {
126
+ msgpack::object* obj = m_stack.back();
127
+ obj->type = msgpack::type::NIL;
128
+ return true;
129
+ }
130
+ bool visit_boolean(bool v) {
131
+ msgpack::object* obj = m_stack.back();
132
+ obj->type = msgpack::type::BOOLEAN;
133
+ obj->via.boolean = v;
134
+ return true;
135
+ }
136
+ bool visit_positive_integer(uint64_t v) {
137
+ msgpack::object* obj = m_stack.back();
138
+ obj->type = msgpack::type::POSITIVE_INTEGER;
139
+ obj->via.u64 = v;
140
+ return true;
141
+ }
142
+ bool visit_negative_integer(int64_t v) {
143
+ msgpack::object* obj = m_stack.back();
144
+ if(v >= 0) {
145
+ obj->type = msgpack::type::POSITIVE_INTEGER;
146
+ obj->via.u64 = v;
147
+ }
148
+ else {
149
+ obj->type = msgpack::type::NEGATIVE_INTEGER;
150
+ obj->via.i64 = v;
151
+ }
152
+ return true;
153
+ }
154
+ bool visit_float(double v) {
155
+ msgpack::object* obj = m_stack.back();
156
+ obj->type = msgpack::type::FLOAT;
157
+ obj->via.f64 = v;
158
+ return true;
159
+ }
160
+ bool visit_str(const char* v, uint32_t size) {
161
+ if (size > m_limit.str()) throw msgpack::str_size_overflow("str size overflow");
162
+ msgpack::object* obj = m_stack.back();
163
+ obj->type = msgpack::type::STR;
164
+ if (m_func && m_func(obj->type, size, m_user_data)) {
165
+ obj->via.str.ptr = v;
166
+ set_referenced(true);
167
+ }
168
+ else {
169
+ char* tmp = static_cast<char*>(zone().allocate_align(size));
170
+ std::memcpy(tmp, v, size);
171
+ obj->via.str.ptr = tmp;
172
+ }
173
+ obj->via.str.size = size;
174
+ return true;
175
+ }
176
+ bool visit_bin(const char* v, uint32_t size) {
177
+ if (size > m_limit.bin()) throw msgpack::bin_size_overflow("bin size overflow");
178
+ msgpack::object* obj = m_stack.back();
179
+ obj->type = msgpack::type::BIN;
180
+ if (m_func && m_func(obj->type, size, m_user_data)) {
181
+ obj->via.bin.ptr = v;
182
+ set_referenced(true);
183
+ }
184
+ else {
185
+ char* tmp = static_cast<char*>(zone().allocate_align(size));
186
+ std::memcpy(tmp, v, size);
187
+ obj->via.bin.ptr = tmp;
188
+ }
189
+ obj->via.bin.size = size;
190
+ return true;
191
+ }
192
+ bool visit_ext(const char* v, uint32_t size) {
193
+ if (size > m_limit.ext()) throw msgpack::ext_size_overflow("ext size overflow");
194
+ msgpack::object* obj = m_stack.back();
195
+ obj->type = msgpack::type::EXT;
196
+ if (m_func && m_func(obj->type, size, m_user_data)) {
197
+ obj->via.ext.ptr = v;
198
+ set_referenced(true);
199
+ }
200
+ else {
201
+ char* tmp = static_cast<char*>(zone().allocate_align(size));
202
+ std::memcpy(tmp, v, size);
203
+ obj->via.ext.ptr = tmp;
204
+ }
205
+ obj->via.ext.size = static_cast<uint32_t>(size - 1);
206
+ return true;
207
+ }
208
+ bool start_array(uint32_t num_elements) {
209
+ if (num_elements > m_limit.array()) throw msgpack::array_size_overflow("array size overflow");
210
+ if (m_stack.size() > m_limit.depth()) throw msgpack::depth_size_overflow("depth size overflow");
211
+ msgpack::object* obj = m_stack.back();
212
+ obj->type = msgpack::type::ARRAY;
213
+ obj->via.array.size = num_elements;
214
+ if (num_elements == 0) {
215
+ obj->via.array.ptr = MSGPACK_NULLPTR;
216
+ }
217
+ else {
218
+ obj->via.array.ptr =
219
+ static_cast<msgpack::object*>(m_zone->allocate_align(num_elements*sizeof(msgpack::object)));
220
+ }
221
+ m_stack.push_back(obj->via.array.ptr);
222
+ return true;
223
+ }
224
+ bool start_array_item() {
225
+ return true;
226
+ }
227
+ bool end_array_item() {
228
+ ++m_stack.back();
229
+ return true;
230
+ }
231
+ bool end_array() {
232
+ m_stack.pop_back();
233
+ return true;
234
+ }
235
+ bool start_map(uint32_t num_kv_pairs) {
236
+ if (num_kv_pairs > m_limit.map()) throw msgpack::map_size_overflow("map size overflow");
237
+ if (m_stack.size() > m_limit.depth()) throw msgpack::depth_size_overflow("depth size overflow");
238
+ msgpack::object* obj = m_stack.back();
239
+ obj->type = msgpack::type::MAP;
240
+ obj->via.map.size = num_kv_pairs;
241
+ if (num_kv_pairs == 0) {
242
+ obj->via.map.ptr = MSGPACK_NULLPTR;
243
+ }
244
+ else {
245
+ obj->via.map.ptr =
246
+ static_cast<msgpack::object_kv*>(m_zone->allocate_align(num_kv_pairs*sizeof(msgpack::object_kv)));
247
+ }
248
+ m_stack.push_back(reinterpret_cast<msgpack::object*>(obj->via.map.ptr));
249
+ return true;
250
+ }
251
+ bool start_map_key() {
252
+ return true;
253
+ }
254
+ bool end_map_key() {
255
+ ++m_stack.back();
256
+ return true;
257
+ }
258
+ bool start_map_value() {
259
+ return true;
260
+ }
261
+ bool end_map_value() {
262
+ ++m_stack.back();
263
+ return true;
264
+ }
265
+ bool end_map() {
266
+ m_stack.pop_back();
267
+ return true;
268
+ }
269
+ void parse_error(size_t /*parsed_offset*/, size_t /*error_offset*/) {
270
+ throw msgpack::parse_error("parse error");
271
+ }
272
+ void insufficient_bytes(size_t /*parsed_offset*/, size_t /*error_offset*/) {
273
+ throw msgpack::insufficient_bytes("insufficient bytes");
274
+ }
275
+ private:
276
+ public:
277
+ unpack_reference_func m_func;
278
+ void* m_user_data;
279
+ unpack_limit m_limit;
280
+ msgpack::object m_obj;
281
+ std::vector<msgpack::object*> m_stack;
282
+ msgpack::zone* m_zone;
283
+ bool m_referenced;
284
+ };
285
+
286
+ template <typename VisitorHolder>
287
+ class context {
288
+ public:
289
+ context()
290
+ :m_trail(0), m_cs(MSGPACK_CS_HEADER)
291
+ {
292
+ }
293
+
294
+ void init()
295
+ {
296
+ m_cs = MSGPACK_CS_HEADER;
297
+ m_trail = 0;
298
+ m_stack.clear();
299
+ holder().visitor().init();
300
+ }
301
+
302
+ unpack_return execute(const char* data, std::size_t len, std::size_t& off);
303
+
304
+ private:
305
+ template <typename T>
306
+ static uint32_t next_cs(T p)
307
+ {
308
+ return static_cast<uint32_t>(*p) & 0x1f;
309
+ }
310
+
311
+ VisitorHolder& holder() {
312
+ return static_cast<VisitorHolder&>(*this);
313
+ }
314
+
315
+ template <typename T, typename StartVisitor, typename EndVisitor>
316
+ unpack_return start_aggregate(
317
+ StartVisitor const& sv,
318
+ EndVisitor const& ev,
319
+ const char* load_pos,
320
+ std::size_t& off) {
321
+ typename value<T>::type size;
322
+ load<T>(size, load_pos);
323
+ ++m_current;
324
+ if (size == 0) {
325
+ if (!sv(size)) {
326
+ off = m_current - m_start;
327
+ return UNPACK_STOP_VISITOR;
328
+ }
329
+ if (!ev()) {
330
+ off = m_current - m_start;
331
+ return UNPACK_STOP_VISITOR;
332
+ }
333
+ unpack_return ret = m_stack.consume(holder());
334
+ if (ret != UNPACK_CONTINUE) {
335
+ off = m_current - m_start;
336
+ return ret;
337
+ }
338
+ }
339
+ else {
340
+ m_stack.push(sv.type(), static_cast<uint32_t>(size));
341
+ if (!sv(size)) {
342
+ off = m_current - m_start;
343
+ return UNPACK_STOP_VISITOR;
344
+ }
345
+ }
346
+ m_cs = MSGPACK_CS_HEADER;
347
+ return UNPACK_CONTINUE;
348
+ }
349
+
350
+ unpack_return after_visit_proc(bool visit_result, std::size_t& off) {
351
+ ++m_current;
352
+ if (!visit_result) {
353
+ off = m_current - m_start;
354
+ return UNPACK_STOP_VISITOR;
355
+ }
356
+ unpack_return ret = m_stack.consume(holder());
357
+ if (ret == UNPACK_CONTINUE) {
358
+ m_cs = MSGPACK_CS_HEADER;
359
+ }
360
+ else {
361
+ off = m_current - m_start;
362
+ }
363
+ return ret;
364
+ }
365
+
366
+ struct array_sv {
367
+ array_sv(VisitorHolder& visitor_holder):m_visitor_holder(visitor_holder) {}
368
+ bool operator()(uint32_t size) const {
369
+ return m_visitor_holder.visitor().start_array(size);
370
+ }
371
+ msgpack_container_type type() const { return MSGPACK_CT_ARRAY_ITEM; }
372
+ private:
373
+ VisitorHolder& m_visitor_holder;
374
+ };
375
+ struct array_ev {
376
+ array_ev(VisitorHolder& visitor_holder):m_visitor_holder(visitor_holder) {}
377
+ bool operator()() const {
378
+ return m_visitor_holder.visitor().end_array();
379
+ }
380
+ private:
381
+ VisitorHolder& m_visitor_holder;
382
+ };
383
+ struct map_sv {
384
+ map_sv(VisitorHolder& visitor_holder):m_visitor_holder(visitor_holder) {}
385
+ bool operator()(uint32_t size) const {
386
+ return m_visitor_holder.visitor().start_map(size);
387
+ }
388
+ msgpack_container_type type() const { return MSGPACK_CT_MAP_KEY; }
389
+ private:
390
+ VisitorHolder& m_visitor_holder;
391
+ };
392
+ struct map_ev {
393
+ map_ev(VisitorHolder& visitor_holder):m_visitor_holder(visitor_holder) {}
394
+ bool operator()() const {
395
+ return m_visitor_holder.visitor().end_map();
396
+ }
397
+ private:
398
+ VisitorHolder& m_visitor_holder;
399
+ };
400
+
401
+ struct unpack_stack {
402
+ struct stack_elem {
403
+ stack_elem(msgpack_container_type type, uint32_t rest):m_type(type), m_rest(rest) {}
404
+ msgpack_container_type m_type;
405
+ uint32_t m_rest;
406
+ };
407
+ unpack_stack() {
408
+ m_stack.reserve(MSGPACK_EMBED_STACK_SIZE);
409
+ }
410
+ void push(msgpack_container_type type, uint32_t rest) {
411
+ m_stack.push_back(stack_elem(type, rest));
412
+ }
413
+ unpack_return consume(VisitorHolder& visitor_holder) {
414
+ while (!m_stack.empty()) {
415
+ stack_elem& e = m_stack.back();
416
+ switch (e.m_type) {
417
+ case MSGPACK_CT_ARRAY_ITEM:
418
+ if (!visitor_holder.visitor().end_array_item()) return UNPACK_STOP_VISITOR;
419
+ if (--e.m_rest == 0) {
420
+ m_stack.pop_back();
421
+ if (!visitor_holder.visitor().end_array()) return UNPACK_STOP_VISITOR;
422
+ }
423
+ else {
424
+ if (!visitor_holder.visitor().start_array_item()) return UNPACK_STOP_VISITOR;
425
+ return UNPACK_CONTINUE;
426
+ }
427
+ break;
428
+ case MSGPACK_CT_MAP_KEY:
429
+ if (!visitor_holder.visitor().end_map_key()) return UNPACK_STOP_VISITOR;
430
+ if (!visitor_holder.visitor().start_map_value()) return UNPACK_STOP_VISITOR;
431
+ e.m_type = MSGPACK_CT_MAP_VALUE;
432
+ return UNPACK_CONTINUE;
433
+ case MSGPACK_CT_MAP_VALUE:
434
+ if (!visitor_holder.visitor().end_map_value()) return UNPACK_STOP_VISITOR;
435
+ if (--e.m_rest == 0) {
436
+ m_stack.pop_back();
437
+ if (!visitor_holder.visitor().end_map()) return UNPACK_STOP_VISITOR;
438
+ }
439
+ else {
440
+ e.m_type = MSGPACK_CT_MAP_KEY;
441
+ if (!visitor_holder.visitor().start_map_key()) return UNPACK_STOP_VISITOR;
442
+ return UNPACK_CONTINUE;
443
+ }
444
+ break;
445
+ }
446
+ }
447
+ return UNPACK_SUCCESS;
448
+ }
449
+ bool empty() const { return m_stack.empty(); }
450
+ void clear() { m_stack.clear(); }
451
+ private:
452
+ std::vector<stack_elem> m_stack;
453
+ };
454
+
455
+ char const* m_start;
456
+ char const* m_current;
457
+
458
+ std::size_t m_trail;
459
+ uint32_t m_cs;
460
+ uint32_t m_num_elements;
461
+ unpack_stack m_stack;
462
+ };
463
+
464
+ template <std::size_t N>
465
+ inline void check_ext_size(std::size_t /*size*/) {
466
+ }
467
+
468
+ template <>
469
+ inline void check_ext_size<4>(std::size_t size) {
470
+ if (size == 0xffffffff) throw msgpack::ext_size_overflow("ext size overflow");
471
+ }
472
+
473
+ template <typename VisitorHolder>
474
+ inline unpack_return context<VisitorHolder>::execute(const char* data, std::size_t len, std::size_t& off)
475
+ {
476
+ assert(len >= off);
477
+
478
+ m_start = data;
479
+ m_current = data + off;
480
+ const char* const pe = data + len;
481
+ const char* n = MSGPACK_NULLPTR;
482
+
483
+ msgpack::object obj;
484
+
485
+ if(m_current == pe) {
486
+ off = m_current - m_start;
487
+ return UNPACK_CONTINUE;
488
+ }
489
+ bool fixed_trail_again = false;
490
+ do {
491
+ if (m_cs == MSGPACK_CS_HEADER) {
492
+ fixed_trail_again = false;
493
+ int selector = *reinterpret_cast<const unsigned char*>(m_current);
494
+ if (0x00 <= selector && selector <= 0x7f) { // Positive Fixnum
495
+ uint8_t tmp = *reinterpret_cast<const uint8_t*>(m_current);
496
+ bool visret = holder().visitor().visit_positive_integer(tmp);
497
+ unpack_return upr = after_visit_proc(visret, off);
498
+ if (upr != UNPACK_CONTINUE) return upr;
499
+ } else if(0xe0 <= selector && selector <= 0xff) { // Negative Fixnum
500
+ int8_t tmp = *reinterpret_cast<const int8_t*>(m_current);
501
+ bool visret = holder().visitor().visit_negative_integer(tmp);
502
+ unpack_return upr = after_visit_proc(visret, off);
503
+ if (upr != UNPACK_CONTINUE) return upr;
504
+ } else if (0xc4 <= selector && selector <= 0xdf) {
505
+ const uint32_t trail[] = {
506
+ 1, // bin 8 0xc4
507
+ 2, // bin 16 0xc5
508
+ 4, // bin 32 0xc6
509
+ 1, // ext 8 0xc7
510
+ 2, // ext 16 0xc8
511
+ 4, // ext 32 0xc9
512
+ 4, // float 32 0xca
513
+ 8, // float 64 0xcb
514
+ 1, // uint 8 0xcc
515
+ 2, // uint 16 0xcd
516
+ 4, // uint 32 0xce
517
+ 8, // uint 64 0xcf
518
+ 1, // int 8 0xd0
519
+ 2, // int 16 0xd1
520
+ 4, // int 32 0xd2
521
+ 8, // int 64 0xd3
522
+ 2, // fixext 1 0xd4
523
+ 3, // fixext 2 0xd5
524
+ 5, // fixext 4 0xd6
525
+ 9, // fixext 8 0xd7
526
+ 17,// fixext 16 0xd8
527
+ 1, // str 8 0xd9
528
+ 2, // str 16 0xda
529
+ 4, // str 32 0xdb
530
+ 2, // array 16 0xdc
531
+ 4, // array 32 0xdd
532
+ 2, // map 16 0xde
533
+ 4, // map 32 0xdf
534
+ };
535
+ m_trail = trail[selector - 0xc4];
536
+ m_cs = next_cs(m_current);
537
+ fixed_trail_again = true;
538
+ } else if(0xa0 <= selector && selector <= 0xbf) { // FixStr
539
+ m_trail = static_cast<uint32_t>(*m_current) & 0x1f;
540
+ if(m_trail == 0) {
541
+ bool visret = holder().visitor().visit_str(n, static_cast<uint32_t>(m_trail));
542
+ unpack_return upr = after_visit_proc(visret, off);
543
+ if (upr != UNPACK_CONTINUE) return upr;
544
+ }
545
+ else {
546
+ m_cs = MSGPACK_ACS_STR_VALUE;
547
+ fixed_trail_again = true;
548
+ }
549
+ } else if(0x90 <= selector && selector <= 0x9f) { // FixArray
550
+ unpack_return ret = start_aggregate<fix_tag>(array_sv(holder()), array_ev(holder()), m_current, off);
551
+ if (ret != UNPACK_CONTINUE) return ret;
552
+ if (!holder().visitor().start_array_item()) return UNPACK_STOP_VISITOR;
553
+ } else if(0x80 <= selector && selector <= 0x8f) { // FixMap
554
+ unpack_return ret = start_aggregate<fix_tag>(map_sv(holder()), map_ev(holder()), m_current, off);
555
+ if (ret != UNPACK_CONTINUE) return ret;
556
+ if (!holder().visitor().start_map_key()) return UNPACK_STOP_VISITOR;
557
+ } else if(selector == 0xc2) { // false
558
+ bool visret = holder().visitor().visit_boolean(false);
559
+ unpack_return upr = after_visit_proc(visret, off);
560
+ if (upr != UNPACK_CONTINUE) return upr;
561
+ } else if(selector == 0xc3) { // true
562
+ bool visret = holder().visitor().visit_boolean(true);
563
+ unpack_return upr = after_visit_proc(visret, off);
564
+ if (upr != UNPACK_CONTINUE) return upr;
565
+ } else if(selector == 0xc0) { // nil
566
+ bool visret = holder().visitor().visit_nil();
567
+ unpack_return upr = after_visit_proc(visret, off);
568
+ if (upr != UNPACK_CONTINUE) return upr;
569
+ } else {
570
+ off = m_current - m_start;
571
+ holder().visitor().parse_error(off - 1, off);
572
+ return UNPACK_PARSE_ERROR;
573
+ }
574
+ // end MSGPACK_CS_HEADER
575
+ }
576
+ if (m_cs != MSGPACK_CS_HEADER || fixed_trail_again) {
577
+ if (fixed_trail_again) {
578
+ ++m_current;
579
+ fixed_trail_again = false;
580
+ }
581
+ if(static_cast<std::size_t>(pe - m_current) < m_trail) {
582
+ off = m_current - m_start;
583
+ return UNPACK_CONTINUE;
584
+ }
585
+ n = m_current;
586
+ m_current += m_trail - 1;
587
+ switch(m_cs) {
588
+ //case MSGPACK_CS_
589
+ //case MSGPACK_CS_
590
+ case MSGPACK_CS_FLOAT: {
591
+ union { uint32_t i; float f; } mem;
592
+ load<uint32_t>(mem.i, n);
593
+ bool visret = holder().visitor().visit_float(mem.f);
594
+ unpack_return upr = after_visit_proc(visret, off);
595
+ if (upr != UNPACK_CONTINUE) return upr;
596
+ } break;
597
+ case MSGPACK_CS_DOUBLE: {
598
+ union { uint64_t i; double f; } mem;
599
+ load<uint64_t>(mem.i, n);
600
+ #if defined(TARGET_OS_IPHONE)
601
+ // ok
602
+ #elif defined(__arm__) && !(__ARM_EABI__) // arm-oabi
603
+ // https://github.com/msgpack/msgpack-perl/pull/1
604
+ mem.i = (mem.i & 0xFFFFFFFFUL) << 32UL | (mem.i >> 32UL);
605
+ #endif
606
+ bool visret = holder().visitor().visit_float(mem.f);
607
+ unpack_return upr = after_visit_proc(visret, off);
608
+ if (upr != UNPACK_CONTINUE) return upr;
609
+ } break;
610
+ case MSGPACK_CS_UINT_8: {
611
+ uint8_t tmp;
612
+ load<uint8_t>(tmp, n);
613
+ bool visret = holder().visitor().visit_positive_integer(tmp);
614
+ unpack_return upr = after_visit_proc(visret, off);
615
+ if (upr != UNPACK_CONTINUE) return upr;
616
+ } break;
617
+ case MSGPACK_CS_UINT_16: {
618
+ uint16_t tmp;
619
+ load<uint16_t>(tmp, n);
620
+ bool visret = holder().visitor().visit_positive_integer(tmp);
621
+ unpack_return upr = after_visit_proc(visret, off);
622
+ if (upr != UNPACK_CONTINUE) return upr;
623
+ } break;
624
+ case MSGPACK_CS_UINT_32: {
625
+ uint32_t tmp;
626
+ load<uint32_t>(tmp, n);
627
+ bool visret = holder().visitor().visit_positive_integer(tmp);
628
+ unpack_return upr = after_visit_proc(visret, off);
629
+ if (upr != UNPACK_CONTINUE) return upr;
630
+ } break;
631
+ case MSGPACK_CS_UINT_64: {
632
+ uint64_t tmp;
633
+ load<uint64_t>(tmp, n);
634
+ bool visret = holder().visitor().visit_positive_integer(tmp);
635
+ unpack_return upr = after_visit_proc(visret, off);
636
+ if (upr != UNPACK_CONTINUE) return upr;
637
+ } break;
638
+ case MSGPACK_CS_INT_8: {
639
+ int8_t tmp;
640
+ load<int8_t>(tmp, n);
641
+ bool visret = holder().visitor().visit_negative_integer(tmp);
642
+ unpack_return upr = after_visit_proc(visret, off);
643
+ if (upr != UNPACK_CONTINUE) return upr;
644
+ } break;
645
+ case MSGPACK_CS_INT_16: {
646
+ int16_t tmp;
647
+ load<int16_t>(tmp, n);
648
+ bool visret = holder().visitor().visit_negative_integer(tmp);
649
+ unpack_return upr = after_visit_proc(visret, off);
650
+ if (upr != UNPACK_CONTINUE) return upr;
651
+ } break;
652
+ case MSGPACK_CS_INT_32: {
653
+ int32_t tmp;
654
+ load<int32_t>(tmp, n);
655
+ bool visret = holder().visitor().visit_negative_integer(tmp);
656
+ unpack_return upr = after_visit_proc(visret, off);
657
+ if (upr != UNPACK_CONTINUE) return upr;
658
+ } break;
659
+ case MSGPACK_CS_INT_64: {
660
+ int64_t tmp;
661
+ load<int64_t>(tmp, n);
662
+ bool visret = holder().visitor().visit_negative_integer(tmp);
663
+ unpack_return upr = after_visit_proc(visret, off);
664
+ if (upr != UNPACK_CONTINUE) return upr;
665
+ } break;
666
+ case MSGPACK_CS_FIXEXT_1: {
667
+ bool visret = holder().visitor().visit_ext(n, 1+1);
668
+ unpack_return upr = after_visit_proc(visret, off);
669
+ if (upr != UNPACK_CONTINUE) return upr;
670
+ } break;
671
+ case MSGPACK_CS_FIXEXT_2: {
672
+ bool visret = holder().visitor().visit_ext(n, 2+1);
673
+ unpack_return upr = after_visit_proc(visret, off);
674
+ if (upr != UNPACK_CONTINUE) return upr;
675
+ } break;
676
+ case MSGPACK_CS_FIXEXT_4: {
677
+ bool visret = holder().visitor().visit_ext(n, 4+1);
678
+ unpack_return upr = after_visit_proc(visret, off);
679
+ if (upr != UNPACK_CONTINUE) return upr;
680
+ } break;
681
+ case MSGPACK_CS_FIXEXT_8: {
682
+ bool visret = holder().visitor().visit_ext(n, 8+1);
683
+ unpack_return upr = after_visit_proc(visret, off);
684
+ if (upr != UNPACK_CONTINUE) return upr;
685
+ } break;
686
+ case MSGPACK_CS_FIXEXT_16: {
687
+ bool visret = holder().visitor().visit_ext(n, 16+1);
688
+ unpack_return upr = after_visit_proc(visret, off);
689
+ if (upr != UNPACK_CONTINUE) return upr;
690
+ } break;
691
+ case MSGPACK_CS_STR_8: {
692
+ uint8_t tmp;
693
+ load<uint8_t>(tmp, n);
694
+ m_trail = tmp;
695
+ if(m_trail == 0) {
696
+ bool visret = holder().visitor().visit_str(n, static_cast<uint32_t>(m_trail));
697
+ unpack_return upr = after_visit_proc(visret, off);
698
+ if (upr != UNPACK_CONTINUE) return upr;
699
+ }
700
+ else {
701
+ m_cs = MSGPACK_ACS_STR_VALUE;
702
+ fixed_trail_again = true;
703
+ }
704
+ } break;
705
+ case MSGPACK_CS_BIN_8: {
706
+ uint8_t tmp;
707
+ load<uint8_t>(tmp, n);
708
+ m_trail = tmp;
709
+ if(m_trail == 0) {
710
+ bool visret = holder().visitor().visit_bin(n, static_cast<uint32_t>(m_trail));
711
+ unpack_return upr = after_visit_proc(visret, off);
712
+ if (upr != UNPACK_CONTINUE) return upr;
713
+ }
714
+ else {
715
+ m_cs = MSGPACK_ACS_BIN_VALUE;
716
+ fixed_trail_again = true;
717
+ }
718
+ } break;
719
+ case MSGPACK_CS_EXT_8: {
720
+ uint8_t tmp;
721
+ load<uint8_t>(tmp, n);
722
+ m_trail = tmp + 1;
723
+ if(m_trail == 0) {
724
+ bool visret = holder().visitor().visit_ext(n, m_trail);
725
+ unpack_return upr = after_visit_proc(visret, off);
726
+ if (upr != UNPACK_CONTINUE) return upr;
727
+ }
728
+ else {
729
+ m_cs = MSGPACK_ACS_EXT_VALUE;
730
+ fixed_trail_again = true;
731
+ }
732
+ } break;
733
+ case MSGPACK_CS_STR_16: {
734
+ uint16_t tmp;
735
+ load<uint16_t>(tmp, n);
736
+ m_trail = tmp;
737
+ if(m_trail == 0) {
738
+ bool visret = holder().visitor().visit_str(n, static_cast<uint32_t>(m_trail));
739
+ unpack_return upr = after_visit_proc(visret, off);
740
+ if (upr != UNPACK_CONTINUE) return upr;
741
+ }
742
+ else {
743
+ m_cs = MSGPACK_ACS_STR_VALUE;
744
+ fixed_trail_again = true;
745
+ }
746
+ } break;
747
+ case MSGPACK_CS_BIN_16: {
748
+ uint16_t tmp;
749
+ load<uint16_t>(tmp, n);
750
+ m_trail = tmp;
751
+ if(m_trail == 0) {
752
+ bool visret = holder().visitor().visit_bin(n, static_cast<uint32_t>(m_trail));
753
+ unpack_return upr = after_visit_proc(visret, off);
754
+ if (upr != UNPACK_CONTINUE) return upr;
755
+ }
756
+ else {
757
+ m_cs = MSGPACK_ACS_BIN_VALUE;
758
+ fixed_trail_again = true;
759
+ }
760
+ } break;
761
+ case MSGPACK_CS_EXT_16: {
762
+ uint16_t tmp;
763
+ load<uint16_t>(tmp, n);
764
+ m_trail = tmp + 1;
765
+ if(m_trail == 0) {
766
+ bool visret = holder().visitor().visit_ext(n, m_trail);
767
+ unpack_return upr = after_visit_proc(visret, off);
768
+ if (upr != UNPACK_CONTINUE) return upr;
769
+ }
770
+ else {
771
+ m_cs = MSGPACK_ACS_EXT_VALUE;
772
+ fixed_trail_again = true;
773
+ }
774
+ } break;
775
+ case MSGPACK_CS_STR_32: {
776
+ uint32_t tmp;
777
+ load<uint32_t>(tmp, n);
778
+ m_trail = tmp;
779
+ if(m_trail == 0) {
780
+ bool visret = holder().visitor().visit_str(n, static_cast<uint32_t>(m_trail));
781
+ unpack_return upr = after_visit_proc(visret, off);
782
+ if (upr != UNPACK_CONTINUE) return upr;
783
+ }
784
+ else {
785
+ m_cs = MSGPACK_ACS_STR_VALUE;
786
+ fixed_trail_again = true;
787
+ }
788
+ } break;
789
+ case MSGPACK_CS_BIN_32: {
790
+ uint32_t tmp;
791
+ load<uint32_t>(tmp, n);
792
+ m_trail = tmp;
793
+ if(m_trail == 0) {
794
+ bool visret = holder().visitor().visit_bin(n, static_cast<uint32_t>(m_trail));
795
+ unpack_return upr = after_visit_proc(visret, off);
796
+ if (upr != UNPACK_CONTINUE) return upr;
797
+ }
798
+ else {
799
+ m_cs = MSGPACK_ACS_BIN_VALUE;
800
+ fixed_trail_again = true;
801
+ }
802
+ } break;
803
+ case MSGPACK_CS_EXT_32: {
804
+ uint32_t tmp;
805
+ load<uint32_t>(tmp, n);
806
+ check_ext_size<sizeof(std::size_t)>(tmp);
807
+ m_trail = tmp;
808
+ ++m_trail;
809
+ if(m_trail == 0) {
810
+ bool visret = holder().visitor().visit_ext(n, m_trail);
811
+ unpack_return upr = after_visit_proc(visret, off);
812
+ if (upr != UNPACK_CONTINUE) return upr;
813
+ }
814
+ else {
815
+ m_cs = MSGPACK_ACS_EXT_VALUE;
816
+ fixed_trail_again = true;
817
+ }
818
+ } break;
819
+ case MSGPACK_ACS_STR_VALUE: {
820
+ bool visret = holder().visitor().visit_str(n, m_trail);
821
+ unpack_return upr = after_visit_proc(visret, off);
822
+ if (upr != UNPACK_CONTINUE) return upr;
823
+ } break;
824
+ case MSGPACK_ACS_BIN_VALUE: {
825
+ bool visret = holder().visitor().visit_bin(n, static_cast<uint32_t>(m_trail));
826
+ unpack_return upr = after_visit_proc(visret, off);
827
+ if (upr != UNPACK_CONTINUE) return upr;
828
+ } break;
829
+ case MSGPACK_ACS_EXT_VALUE: {
830
+ bool visret = holder().visitor().visit_ext(n, m_trail);
831
+ unpack_return upr = after_visit_proc(visret, off);
832
+ if (upr != UNPACK_CONTINUE) return upr;
833
+ } break;
834
+ case MSGPACK_CS_ARRAY_16: {
835
+ unpack_return ret = start_aggregate<uint16_t>(array_sv(holder()), array_ev(holder()), n, off);
836
+ if (ret != UNPACK_CONTINUE) return ret;
837
+ if (!holder().visitor().start_array_item()) return UNPACK_STOP_VISITOR;
838
+
839
+ } break;
840
+ case MSGPACK_CS_ARRAY_32: {
841
+ unpack_return ret = start_aggregate<uint32_t>(array_sv(holder()), array_ev(holder()), n, off);
842
+ if (ret != UNPACK_CONTINUE) return ret;
843
+ if (!holder().visitor().start_array_item()) return UNPACK_STOP_VISITOR;
844
+ } break;
845
+ case MSGPACK_CS_MAP_16: {
846
+ unpack_return ret = start_aggregate<uint16_t>(map_sv(holder()), map_ev(holder()), n, off);
847
+ if (ret != UNPACK_CONTINUE) return ret;
848
+ if (!holder().visitor().start_map_key()) return UNPACK_STOP_VISITOR;
849
+ } break;
850
+ case MSGPACK_CS_MAP_32: {
851
+ unpack_return ret = start_aggregate<uint32_t>(map_sv(holder()), map_ev(holder()), n, off);
852
+ if (ret != UNPACK_CONTINUE) return ret;
853
+ if (!holder().visitor().start_map_key()) return UNPACK_STOP_VISITOR;
854
+ } break;
855
+ default:
856
+ off = m_current - m_start;
857
+ holder().visitor().parse_error(n - m_start - 1, n - m_start);
858
+ return UNPACK_PARSE_ERROR;
859
+ }
860
+ }
861
+ } while(m_current != pe);
862
+
863
+ off = m_current - m_start;
864
+ return UNPACK_CONTINUE;
865
+ }
866
+
867
+ } // detail
868
+
869
+
870
+ /// Unpacking class for a stream deserialization.
871
+
872
+ template <typename VisitorHolder, typename ReferencedBufferHook>
873
+ class parser : public detail::context<VisitorHolder> {
874
+ typedef parser<VisitorHolder, ReferencedBufferHook> this_type;
875
+ typedef detail::context<VisitorHolder> context_type;
876
+ public:
877
+ /// Constructor
878
+ /**
879
+ * @param referenced If the unpacked object contains reference of the buffer, then set as true, otherwise false.
880
+ * @param f A judging function that msgpack::object refer to the buffer.
881
+ * @param user_data This parameter is passed to f.
882
+ * @param initial_buffer_size The memory size to allocate when unpacker is constructed.
883
+ * @param limit The size limit information of msgpack::object.
884
+ *
885
+ */
886
+ parser(ReferencedBufferHook& hook,
887
+ std::size_t initial_buffer_size = MSGPACK_UNPACKER_INIT_BUFFER_SIZE);
888
+
889
+ #if !defined(MSGPACK_USE_CPP03)
890
+ parser(this_type&& other);
891
+ this_type& operator=(this_type&& other);
892
+ #endif // !defined(MSGPACK_USE_CPP03)
893
+
894
+ ~parser();
895
+
896
+ public:
897
+ /// Reserve a buffer memory.
898
+ /**
899
+ * @param size The size of allocating memory.
900
+ *
901
+ * After returning this function, buffer_capacity() returns at least 'size'.
902
+ * See:
903
+ * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
904
+ */
905
+ void reserve_buffer(std::size_t size = MSGPACK_UNPACKER_RESERVE_SIZE);
906
+
907
+ /// Get buffer pointer.
908
+ /**
909
+ * You need to care about the memory is enable between buffer() and buffer() + buffer_capacity()
910
+ * See:
911
+ * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
912
+ */
913
+ char* buffer();
914
+
915
+ /// Get buffer capacity.
916
+ /**
917
+ * @return The memory size that you can write.
918
+ *
919
+ * See:
920
+ * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
921
+ */
922
+ std::size_t buffer_capacity() const;
923
+
924
+ /// Notify a buffer consumed information to msgpack::unpacker.
925
+ /**
926
+ * @param size The size of memory that you consumed.
927
+ *
928
+ * After copying the data to the memory that is pointed by buffer(), you need to call the
929
+ * function to notify how many bytes are consumed. Then you can call next() functions.
930
+ *
931
+ * See:
932
+ * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
933
+ */
934
+ void buffer_consumed(std::size_t size);
935
+
936
+ /// Unpack one msgpack::object.
937
+ /**
938
+ *
939
+ *
940
+ * @return If one msgpack::object is unpacked, then return true, if msgpack::object is incomplete
941
+ * and additional data is required, then return false. If data format is invalid, throw
942
+ * msgpack::parse_error.
943
+ *
944
+ * See:
945
+ * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
946
+ */
947
+ bool next();
948
+
949
+ /// Get message size.
950
+ /**
951
+ * @return Returns parsed_size() + nonparsed_size()
952
+ */
953
+ std::size_t message_size() const;
954
+
955
+ public:
956
+ /// Get parsed message size.
957
+ /**
958
+ * @return Parsed message size.
959
+ *
960
+ * This function is usable when non-MessagePack message follows after
961
+ * MessagePack message.
962
+ */
963
+ std::size_t parsed_size() const;
964
+
965
+ /// Get the address that is not parsed in the buffer.
966
+ /**
967
+ * @return Address of the buffer that is not parsed
968
+ *
969
+ * This function is usable when non-MessagePack message follows after
970
+ * MessagePack message.
971
+ */
972
+ char* nonparsed_buffer();
973
+
974
+ /// Get the size of the buffer that is not parsed.
975
+ /**
976
+ * @return Size of the buffer that is not parsed
977
+ *
978
+ * This function is usable when non-MessagePack message follows after
979
+ * MessagePack message.
980
+ */
981
+ std::size_t nonparsed_size() const;
982
+
983
+ /// Skip the specified size of non-parsed buffer.
984
+ /**
985
+ * @param size to skip
986
+ *
987
+ * Note that the `size' argument must be smaller than nonparsed_size().
988
+ * This function is usable when non-MessagePack message follows after
989
+ * MessagePack message.
990
+ */
991
+ void skip_nonparsed_buffer(std::size_t size);
992
+
993
+ /// Remove nonparsed buffer and reset the current position as a new start point.
994
+ /**
995
+ * This function is usable when non-MessagePack message follows after
996
+ * MessagePack message.
997
+ */
998
+ void remove_nonparsed_buffer();
999
+
1000
+ void reset();
1001
+
1002
+ protected:
1003
+ char* get_raw_buffer() {
1004
+ return m_buffer;
1005
+ }
1006
+ private:
1007
+ void expand_buffer(std::size_t size);
1008
+ unpack_return execute_imp();
1009
+
1010
+ private:
1011
+ char* m_buffer;
1012
+ std::size_t m_used;
1013
+ std::size_t m_free;
1014
+ std::size_t m_off;
1015
+ std::size_t m_parsed;
1016
+ std::size_t m_initial_buffer_size;
1017
+ ReferencedBufferHook& m_referenced_buffer_hook;
1018
+
1019
+ #if defined(MSGPACK_USE_CPP03)
1020
+ private:
1021
+ parser(const this_type&);
1022
+ this_type& operator=(const this_type&);
1023
+ #else // defined(MSGPACK_USE_CPP03)
1024
+ public:
1025
+ parser(const this_type&) = delete;
1026
+ this_type& operator=(const this_type&) = delete;
1027
+ #endif // defined(MSGPACK_USE_CPP03)
1028
+ };
1029
+
1030
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1031
+ inline parser<VisitorHolder, ReferencedBufferHook>::parser(
1032
+ ReferencedBufferHook& hook,
1033
+ std::size_t initial_buffer_size)
1034
+ :m_referenced_buffer_hook(hook)
1035
+ {
1036
+ if(initial_buffer_size < COUNTER_SIZE) {
1037
+ initial_buffer_size = COUNTER_SIZE;
1038
+ }
1039
+
1040
+ char* buffer = static_cast<char*>(::malloc(initial_buffer_size));
1041
+ if(!buffer) {
1042
+ throw std::bad_alloc();
1043
+ }
1044
+
1045
+ m_buffer = buffer;
1046
+ m_used = COUNTER_SIZE;
1047
+ m_free = initial_buffer_size - m_used;
1048
+ m_off = COUNTER_SIZE;
1049
+ m_parsed = 0;
1050
+ m_initial_buffer_size = initial_buffer_size;
1051
+
1052
+ detail::init_count(m_buffer);
1053
+ }
1054
+
1055
+ #if !defined(MSGPACK_USE_CPP03)
1056
+ // Move constructor and move assignment operator
1057
+
1058
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1059
+ inline parser<VisitorHolder, ReferencedBufferHook>::parser(this_type&& other)
1060
+ :context_type(std::move(other)),
1061
+ m_buffer(other.m_buffer),
1062
+ m_used(other.m_used),
1063
+ m_free(other.m_free),
1064
+ m_off(other.m_off),
1065
+ m_parsed(other.m_parsed),
1066
+ m_initial_buffer_size(other.m_initial_buffer_size),
1067
+ m_referenced_buffer_hook(other.m_referenced_buffer_hook) {
1068
+ other.m_buffer = MSGPACK_NULLPTR;
1069
+ other.m_used = 0;
1070
+ other.m_free = 0;
1071
+ other.m_off = 0;
1072
+ other.m_parsed = 0;
1073
+ }
1074
+
1075
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1076
+ inline parser<VisitorHolder, ReferencedBufferHook>& parser<VisitorHolder, ReferencedBufferHook>::operator=(this_type&& other) {
1077
+ this->~parser();
1078
+ new (this) this_type(std::move(other));
1079
+ return *this;
1080
+ }
1081
+
1082
+ #endif // !defined(MSGPACK_USE_CPP03)
1083
+
1084
+
1085
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1086
+ inline parser<VisitorHolder, ReferencedBufferHook>::~parser()
1087
+ {
1088
+ // These checks are required for move operations.
1089
+ if (m_buffer) detail::decr_count(m_buffer);
1090
+ }
1091
+
1092
+
1093
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1094
+ inline void parser<VisitorHolder, ReferencedBufferHook>::reserve_buffer(std::size_t size)
1095
+ {
1096
+ if(m_free >= size) return;
1097
+ expand_buffer(size);
1098
+ }
1099
+
1100
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1101
+ inline void parser<VisitorHolder, ReferencedBufferHook>::expand_buffer(std::size_t size)
1102
+ {
1103
+ if(m_used == m_off && detail::get_count(m_buffer) == 1
1104
+ && static_cast<VisitorHolder&>(*this).visitor().referenced()) {
1105
+ // rewind buffer
1106
+ m_free += m_used - COUNTER_SIZE;
1107
+ m_used = COUNTER_SIZE;
1108
+ m_off = COUNTER_SIZE;
1109
+
1110
+ if(m_free >= size) return;
1111
+ }
1112
+
1113
+ if(m_off == COUNTER_SIZE) {
1114
+ std::size_t next_size = (m_used + m_free) * 2; // include COUNTER_SIZE
1115
+ while(next_size < size + m_used) {
1116
+ std::size_t tmp_next_size = next_size * 2;
1117
+ if (tmp_next_size <= next_size) {
1118
+ next_size = size + m_used;
1119
+ break;
1120
+ }
1121
+ next_size = tmp_next_size;
1122
+ }
1123
+
1124
+ char* tmp = static_cast<char*>(::realloc(m_buffer, next_size));
1125
+ if(!tmp) {
1126
+ throw std::bad_alloc();
1127
+ }
1128
+
1129
+ m_buffer = tmp;
1130
+ m_free = next_size - m_used;
1131
+
1132
+ } else {
1133
+ std::size_t next_size = m_initial_buffer_size; // include COUNTER_SIZE
1134
+ std::size_t not_parsed = m_used - m_off;
1135
+ while(next_size < size + not_parsed + COUNTER_SIZE) {
1136
+ std::size_t tmp_next_size = next_size * 2;
1137
+ if (tmp_next_size <= next_size) {
1138
+ next_size = size + not_parsed + COUNTER_SIZE;
1139
+ break;
1140
+ }
1141
+ next_size = tmp_next_size;
1142
+ }
1143
+
1144
+ char* tmp = static_cast<char*>(::malloc(next_size));
1145
+ if(!tmp) {
1146
+ throw std::bad_alloc();
1147
+ }
1148
+
1149
+ detail::init_count(tmp);
1150
+
1151
+ std::memcpy(tmp+COUNTER_SIZE, m_buffer + m_off, not_parsed);
1152
+
1153
+ if(static_cast<VisitorHolder&>(*this).referenced()) {
1154
+ try {
1155
+ m_referenced_buffer_hook(m_buffer);
1156
+ }
1157
+ catch (...) {
1158
+ ::free(tmp);
1159
+ throw;
1160
+ }
1161
+ static_cast<VisitorHolder&>(*this).set_referenced(false);
1162
+ } else {
1163
+ detail::decr_count(m_buffer);
1164
+ }
1165
+
1166
+ m_buffer = tmp;
1167
+ m_used = not_parsed + COUNTER_SIZE;
1168
+ m_free = next_size - m_used;
1169
+ m_off = COUNTER_SIZE;
1170
+ }
1171
+ }
1172
+
1173
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1174
+ inline char* parser<VisitorHolder, ReferencedBufferHook>::buffer()
1175
+ {
1176
+ return m_buffer + m_used;
1177
+ }
1178
+
1179
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1180
+ inline std::size_t parser<VisitorHolder, ReferencedBufferHook>::buffer_capacity() const
1181
+ {
1182
+ return m_free;
1183
+ }
1184
+
1185
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1186
+ inline void parser<VisitorHolder, ReferencedBufferHook>::buffer_consumed(std::size_t size)
1187
+ {
1188
+ m_used += size;
1189
+ m_free -= size;
1190
+ }
1191
+
1192
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1193
+ inline bool parser<VisitorHolder, ReferencedBufferHook>::next()
1194
+ {
1195
+ unpack_return ret = execute_imp();
1196
+ return ret == UNPACK_SUCCESS;
1197
+ }
1198
+
1199
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1200
+ inline unpack_return parser<VisitorHolder, ReferencedBufferHook>::execute_imp()
1201
+ {
1202
+ std::size_t off = m_off;
1203
+ unpack_return ret = context_type::execute(m_buffer, m_used, m_off);
1204
+ if(m_off > off) {
1205
+ m_parsed += m_off - off;
1206
+ }
1207
+ return ret;
1208
+ }
1209
+
1210
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1211
+ inline void parser<VisitorHolder, ReferencedBufferHook>::reset()
1212
+ {
1213
+ context_type::init();
1214
+ // don't reset referenced flag
1215
+ m_parsed = 0;
1216
+ }
1217
+
1218
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1219
+ inline std::size_t parser<VisitorHolder, ReferencedBufferHook>::message_size() const
1220
+ {
1221
+ return m_parsed - m_off + m_used;
1222
+ }
1223
+
1224
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1225
+ inline std::size_t parser<VisitorHolder, ReferencedBufferHook>::parsed_size() const
1226
+ {
1227
+ return m_parsed;
1228
+ }
1229
+
1230
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1231
+ inline char* parser<VisitorHolder, ReferencedBufferHook>::nonparsed_buffer()
1232
+ {
1233
+ return m_buffer + m_off;
1234
+ }
1235
+
1236
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1237
+ inline std::size_t parser<VisitorHolder, ReferencedBufferHook>::nonparsed_size() const
1238
+ {
1239
+ return m_used - m_off;
1240
+ }
1241
+
1242
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1243
+ inline void parser<VisitorHolder, ReferencedBufferHook>::skip_nonparsed_buffer(std::size_t size)
1244
+ {
1245
+ m_off += size;
1246
+ }
1247
+
1248
+ template <typename VisitorHolder, typename ReferencedBufferHook>
1249
+ inline void parser<VisitorHolder, ReferencedBufferHook>::remove_nonparsed_buffer()
1250
+ {
1251
+ m_used = m_off;
1252
+ }
1253
+
1254
+ struct zone_push_finalizer {
1255
+ zone_push_finalizer(msgpack::zone& z):m_z(&z) {}
1256
+ void set_zone(msgpack::zone& z) { m_z = &z; }
1257
+ void operator()(char* buffer) {
1258
+ m_z->push_finalizer(&detail::decr_count, buffer);
1259
+ }
1260
+ msgpack::zone* m_z;
1261
+ };
1262
+
1263
+ class unpacker : public parser<unpacker, zone_push_finalizer>,
1264
+ public detail::create_object_visitor {
1265
+ typedef parser<unpacker, zone_push_finalizer> parser;
1266
+ public:
1267
+ unpacker(unpack_reference_func f = &unpacker::default_reference_func,
1268
+ void* user_data = MSGPACK_NULLPTR,
1269
+ std::size_t initial_buffer_size = MSGPACK_UNPACKER_INIT_BUFFER_SIZE,
1270
+ unpack_limit const& limit = unpack_limit())
1271
+ :parser(m_finalizer, initial_buffer_size),
1272
+ detail::create_object_visitor(f, user_data, limit),
1273
+ m_z(new msgpack::zone),
1274
+ m_finalizer(*m_z) {
1275
+ set_zone(*m_z);
1276
+ set_referenced(false);
1277
+ }
1278
+
1279
+ detail::create_object_visitor& visitor() { return *this; }
1280
+ /// Unpack one msgpack::object.
1281
+ /**
1282
+ *
1283
+ * @param result The object that contains unpacked data.
1284
+ * @param referenced If the unpacked object contains reference of the buffer,
1285
+ * then set as true, otherwise false.
1286
+ *
1287
+ * @return If one msgpack::object is unpacked, then return true, if msgpack::object is incomplete
1288
+ * and additional data is required, then return false. If data format is invalid, throw
1289
+ * msgpack::parse_error.
1290
+ *
1291
+ * See:
1292
+ * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
1293
+ */
1294
+ bool next(msgpack::object_handle& result, bool& referenced);
1295
+
1296
+ /// Unpack one msgpack::object.
1297
+ /**
1298
+ *
1299
+ * @param result The object that contains unpacked data.
1300
+ *
1301
+ * @return If one msgpack::object is unpacked, then return true, if msgpack::object is incomplete
1302
+ * and additional data is required, then return false. If data format is invalid, throw
1303
+ * msgpack::parse_error.
1304
+ *
1305
+ * See:
1306
+ * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
1307
+ */
1308
+ bool next(msgpack::object_handle& result);
1309
+ msgpack::zone* release_zone();
1310
+ void reset_zone();
1311
+ bool flush_zone();
1312
+ private:
1313
+ static bool default_reference_func(msgpack::type::object_type /*type*/, std::size_t /*len*/, void*) {
1314
+ return true;
1315
+ }
1316
+ msgpack::unique_ptr<msgpack::zone> m_z;
1317
+ zone_push_finalizer m_finalizer;
1318
+ };
1319
+
1320
+ inline bool unpacker::next(msgpack::object_handle& result, bool& referenced) {
1321
+ bool ret = parser::next();
1322
+ if (ret) {
1323
+ referenced = detail::create_object_visitor::referenced();
1324
+ result.zone().reset( release_zone() );
1325
+ result.set(data());
1326
+ reset();
1327
+ }
1328
+ else {
1329
+ result.zone().reset();
1330
+ result.set(msgpack::object());
1331
+ }
1332
+ return ret;
1333
+ }
1334
+
1335
+ inline bool unpacker::next(msgpack::object_handle& result) {
1336
+ bool referenced;
1337
+ return next(result, referenced);
1338
+ }
1339
+
1340
+ inline msgpack::zone* unpacker::release_zone()
1341
+ {
1342
+ if(!flush_zone()) {
1343
+ return MSGPACK_NULLPTR;
1344
+ }
1345
+
1346
+ msgpack::zone* r = new msgpack::zone;
1347
+ msgpack::zone* old = m_z.release();
1348
+ m_z.reset(r);
1349
+ set_zone(*m_z);
1350
+ m_finalizer.set_zone(*m_z);
1351
+
1352
+ return old;
1353
+ }
1354
+
1355
+ inline void unpacker::reset_zone()
1356
+ {
1357
+ m_z->clear();
1358
+ }
1359
+
1360
+ inline bool unpacker::flush_zone()
1361
+ {
1362
+ if(referenced()) {
1363
+ try {
1364
+ m_z->push_finalizer(&detail::decr_count, get_raw_buffer());
1365
+ } catch (...) {
1366
+ return false;
1367
+ }
1368
+ set_referenced(false);
1369
+
1370
+ detail::incr_count(get_raw_buffer());
1371
+ }
1372
+
1373
+ return true;
1374
+ }
1375
+
1376
+ inline msgpack::object_handle unpack(
1377
+ const char* data, std::size_t len, std::size_t& off, bool& referenced,
1378
+ unpack_reference_func f, void* user_data,
1379
+ unpack_limit const& limit
1380
+ )
1381
+ {
1382
+ msgpack::object obj;
1383
+ msgpack::unique_ptr<msgpack::zone> z(new msgpack::zone);
1384
+ referenced = false;
1385
+ std::size_t noff = off;
1386
+ unpack_return ret = detail::unpack_imp(
1387
+ data, len, noff, *z, obj, referenced, f, user_data, limit);
1388
+
1389
+ switch(ret) {
1390
+ case UNPACK_SUCCESS:
1391
+ off = noff;
1392
+ return msgpack::object_handle(obj, msgpack::move(z));
1393
+ case UNPACK_EXTRA_BYTES:
1394
+ off = noff;
1395
+ return msgpack::object_handle(obj, msgpack::move(z));
1396
+ default:
1397
+ break;
1398
+ }
1399
+ return msgpack::object_handle();
1400
+ }
1401
+
1402
+ inline msgpack::object_handle unpack(
1403
+ const char* data, std::size_t len, std::size_t& off,
1404
+ unpack_reference_func f, void* user_data,
1405
+ unpack_limit const& limit)
1406
+ {
1407
+ bool referenced;
1408
+ return msgpack::v2::unpack(data, len, off, referenced, f, user_data, limit);
1409
+ }
1410
+
1411
+ inline msgpack::object_handle unpack(
1412
+ const char* data, std::size_t len, bool& referenced,
1413
+ unpack_reference_func f, void* user_data,
1414
+ unpack_limit const& limit)
1415
+ {
1416
+ std::size_t off = 0;
1417
+ return msgpack::v2::unpack(data, len, off, referenced, f, user_data, limit);
1418
+ }
1419
+
1420
+ inline msgpack::object_handle unpack(
1421
+ const char* data, std::size_t len,
1422
+ unpack_reference_func f, void* user_data,
1423
+ unpack_limit const& limit)
1424
+ {
1425
+ bool referenced;
1426
+ std::size_t off = 0;
1427
+ return msgpack::v2::unpack(data, len, off, referenced, f, user_data, limit);
1428
+ }
1429
+
1430
+ inline void unpack(
1431
+ msgpack::object_handle& result,
1432
+ const char* data, std::size_t len, std::size_t& off, bool& referenced,
1433
+ unpack_reference_func f, void* user_data,
1434
+ unpack_limit const& limit)
1435
+ {
1436
+ msgpack::object obj;
1437
+ msgpack::unique_ptr<msgpack::zone> z(new msgpack::zone);
1438
+ referenced = false;
1439
+ std::size_t noff = off;
1440
+ unpack_return ret = detail::unpack_imp(
1441
+ data, len, noff, *z, obj, referenced, f, user_data, limit);
1442
+
1443
+ switch(ret) {
1444
+ case UNPACK_SUCCESS:
1445
+ off = noff;
1446
+ result.set(obj);
1447
+ result.zone() = msgpack::move(z);
1448
+ return;
1449
+ case UNPACK_EXTRA_BYTES:
1450
+ off = noff;
1451
+ result.set(obj);
1452
+ result.zone() = msgpack::move(z);
1453
+ return;
1454
+ default:
1455
+ return;
1456
+ }
1457
+ }
1458
+
1459
+ inline void unpack(
1460
+ msgpack::object_handle& result,
1461
+ const char* data, std::size_t len, std::size_t& off,
1462
+ msgpack::v2::unpack_reference_func f, void* user_data,
1463
+ unpack_limit const& limit)
1464
+ {
1465
+ bool referenced;
1466
+ msgpack::v2::unpack(result, data, len, off, referenced, f, user_data, limit);
1467
+ }
1468
+
1469
+ inline void unpack(
1470
+ msgpack::object_handle& result,
1471
+ const char* data, std::size_t len, bool& referenced,
1472
+ unpack_reference_func f, void* user_data,
1473
+ unpack_limit const& limit)
1474
+ {
1475
+ std::size_t off = 0;
1476
+ msgpack::v2::unpack(result, data, len, off, referenced, f, user_data, limit);
1477
+ }
1478
+
1479
+ inline void unpack(
1480
+ msgpack::object_handle& result,
1481
+ const char* data, std::size_t len,
1482
+ unpack_reference_func f, void* user_data,
1483
+ unpack_limit const& limit)
1484
+ {
1485
+ bool referenced;
1486
+ std::size_t off = 0;
1487
+ msgpack::v2::unpack(result, data, len, off, referenced, f, user_data, limit);
1488
+ }
1489
+
1490
+
1491
+ inline msgpack::object unpack(
1492
+ msgpack::zone& z,
1493
+ const char* data, std::size_t len, std::size_t& off, bool& referenced,
1494
+ unpack_reference_func f, void* user_data,
1495
+ unpack_limit const& limit)
1496
+ {
1497
+ msgpack::object obj;
1498
+ std::size_t noff = off;
1499
+ referenced = false;
1500
+ unpack_return ret = detail::unpack_imp(
1501
+ data, len, noff, z, obj, referenced, f, user_data, limit);
1502
+
1503
+ switch(ret) {
1504
+ case UNPACK_SUCCESS:
1505
+ off = noff;
1506
+ return obj;
1507
+ case UNPACK_EXTRA_BYTES:
1508
+ off = noff;
1509
+ return obj;
1510
+ default:
1511
+ break;
1512
+ }
1513
+ return obj;
1514
+ }
1515
+
1516
+ inline msgpack::object unpack(
1517
+ msgpack::zone& z,
1518
+ const char* data, std::size_t len, std::size_t& off,
1519
+ unpack_reference_func f, void* user_data,
1520
+ unpack_limit const& limit)
1521
+ {
1522
+ bool referenced;
1523
+ return msgpack::v2::unpack(z, data, len, off, referenced, f, user_data, limit);
1524
+ }
1525
+
1526
+ inline msgpack::object unpack(
1527
+ msgpack::zone& z,
1528
+ const char* data, std::size_t len, bool& referenced,
1529
+ unpack_reference_func f, void* user_data,
1530
+ unpack_limit const& limit)
1531
+ {
1532
+ std::size_t off = 0;
1533
+ return msgpack::v2::unpack(z, data, len, off, referenced, f, user_data, limit);
1534
+ }
1535
+
1536
+ inline msgpack::object unpack(
1537
+ msgpack::zone& z,
1538
+ const char* data, std::size_t len,
1539
+ unpack_reference_func f, void* user_data,
1540
+ unpack_limit const& limit)
1541
+ {
1542
+ bool referenced;
1543
+ std::size_t off = 0;
1544
+ return msgpack::v2::unpack(z, data, len, off, referenced, f, user_data, limit);
1545
+ }
1546
+
1547
+ template <typename Visitor>
1548
+ inline bool parse(const char* data, size_t len, size_t& off, Visitor& v) {
1549
+ unpack_return ret = detail::parse_imp(data, len, off, v);
1550
+ return ret == UNPACK_SUCCESS || ret == UNPACK_EXTRA_BYTES;
1551
+ }
1552
+
1553
+ template <typename Visitor>
1554
+ inline bool parse(const char* data, size_t len, Visitor& v) {
1555
+ std::size_t off = 0;
1556
+ return parse(data, len, off, v);
1557
+ }
1558
+
1559
+ namespace detail {
1560
+
1561
+ template <typename Visitor>
1562
+ struct parse_helper : context<parse_helper<Visitor> > {
1563
+ parse_helper(Visitor& v):m_visitor(v) {}
1564
+ unpack_return execute(const char* data, std::size_t len, std::size_t& off) {
1565
+ return context<parse_helper<Visitor> >::execute(data, len, off);
1566
+ }
1567
+ Visitor& visitor() const { return m_visitor; }
1568
+ Visitor& m_visitor;
1569
+ };
1570
+
1571
+ template <typename Visitor>
1572
+ inline unpack_return
1573
+ parse_imp(const char* data, size_t len, size_t& off, Visitor& v) {
1574
+ std::size_t noff = off;
1575
+
1576
+ if(len <= noff) {
1577
+ // FIXME
1578
+ v.insufficient_bytes(noff, noff);
1579
+ return UNPACK_CONTINUE;
1580
+ }
1581
+ detail::parse_helper<Visitor> h(v);
1582
+ unpack_return ret = h.execute(data, len, noff);
1583
+ switch (ret) {
1584
+ case UNPACK_CONTINUE:
1585
+ off = noff;
1586
+ v.insufficient_bytes(noff - 1, noff);
1587
+ return ret;
1588
+ case UNPACK_SUCCESS:
1589
+ off = noff;
1590
+ if(noff < len) {
1591
+ return UNPACK_EXTRA_BYTES;
1592
+ }
1593
+ return ret;
1594
+ default:
1595
+ return ret;
1596
+ }
1597
+ }
1598
+
1599
+ inline unpack_return
1600
+ unpack_imp(const char* data, std::size_t len, std::size_t& off,
1601
+ msgpack::zone& result_zone, msgpack::object& result, bool& referenced,
1602
+ unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR,
1603
+ unpack_limit const& limit = unpack_limit())
1604
+ {
1605
+ create_object_visitor v(f, user_data, limit);
1606
+ v.set_zone(result_zone);
1607
+ referenced = false;
1608
+ v.set_referenced(referenced);
1609
+ unpack_return ret = parse_imp(data, len, off, v);
1610
+ referenced = v.referenced();
1611
+ result = v.data();
1612
+ return ret;
1613
+ }
1614
+
1615
+ } // detail
1616
+
1617
+
1618
+ /// @cond
1619
+ } // MSGPACK_API_VERSION_NAMESPACE(v2)
1620
+ /// @endcond
1621
+
1622
+ } // namespace msgpack
1623
+
1624
+
1625
+ #endif // MSGPACK_V2_UNPACK_HPP