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,17 @@
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_SBUFFER_DECL_HPP
11
+ #define MSGPACK_SBUFFER_DECL_HPP
12
+
13
+ #include "msgpack/v1/sbuffer_decl.hpp"
14
+ #include "msgpack/v2/sbuffer_decl.hpp"
15
+
16
+
17
+ #endif // MSGPACK_SBUFFER_DECL_HPP
@@ -15,13 +15,13 @@
15
15
  #include <stdlib.h>
16
16
  #include <stddef.h>
17
17
  #if defined(_MSC_VER) && _MSC_VER < 1600
18
- typedef __int8 int8_t;
18
+ typedef signed __int8 int8_t;
19
19
  typedef unsigned __int8 uint8_t;
20
- typedef __int16 int16_t;
20
+ typedef signed __int16 int16_t;
21
21
  typedef unsigned __int16 uint16_t;
22
- typedef __int32 int32_t;
22
+ typedef signed __int32 int32_t;
23
23
  typedef unsigned __int32 uint32_t;
24
- typedef __int64 int64_t;
24
+ typedef signed __int64 int64_t;
25
25
  typedef unsigned __int64 uint64_t;
26
26
  #elif defined(_MSC_VER) // && _MSC_VER >= 1600
27
27
  # include <stdint.h>
@@ -78,7 +78,7 @@
78
78
 
79
79
  #endif
80
80
 
81
- #ifdef MSGPACK_ENDIAN_LITTLE_BYTE
81
+ #if MSGPACK_ENDIAN_LITTLE_BYTE
82
82
 
83
83
  # ifdef _WIN32
84
84
  # if defined(ntohs)
@@ -186,4 +186,8 @@
186
186
  # define inline __inline
187
187
  #endif
188
188
 
189
+ #ifdef __APPLE__
190
+ # include <TargetConditionals.h>
191
+ #endif
192
+
189
193
  #endif /* msgpack/sysdep.h */
@@ -1,6 +1,7 @@
1
1
  #include "cpp_config.hpp"
2
2
  #include "adaptor/array_ref.hpp"
3
3
  #include "adaptor/bool.hpp"
4
+ #include "adaptor/carray.hpp"
4
5
  #include "adaptor/char_ptr.hpp"
5
6
  #include "adaptor/deque.hpp"
6
7
  #include "adaptor/ext.hpp"
@@ -14,6 +15,7 @@
14
15
  #include "adaptor/raw.hpp"
15
16
  #include "adaptor/v4raw.hpp"
16
17
  #include "adaptor/set.hpp"
18
+ #include "adaptor/size_equal_only.hpp"
17
19
  #include "adaptor/string.hpp"
18
20
  #include "adaptor/vector.hpp"
19
21
  #include "adaptor/vector_bool.hpp"
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // MessagePack for C++ deserializing routine
3
3
  //
4
- // Copyright (C) 2008-2015 FURUHASHI Sadayuki and KONDO Takatoshi
4
+ // Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi
5
5
  //
6
6
  // Distributed under the Boost Software License, Version 1.0.
7
7
  // (See accompanying file LICENSE_1_0.txt or copy at
@@ -10,1702 +10,9 @@
10
10
  #ifndef MSGPACK_UNPACK_HPP
11
11
  #define MSGPACK_UNPACK_HPP
12
12
 
13
- #include "msgpack/versioning.hpp"
14
- #include "object.hpp"
15
- #include "zone.hpp"
16
- #include "unpack_define.h"
17
- #include "cpp_config.hpp"
18
- #include "sysdep.h"
13
+ #include "msgpack/unpack_decl.hpp"
19
14
 
20
- #include <memory>
21
- #include <stdexcept>
15
+ #include "msgpack/v1/unpack.hpp"
16
+ #include "msgpack/v2/unpack.hpp"
22
17
 
23
- #if !defined(MSGPACK_USE_CPP03)
24
- #include <atomic>
25
- #endif
26
-
27
-
28
- #if defined(_MSC_VER)
29
- // avoiding confliction std::max, std::min, and macro in windows.h
30
- #ifndef NOMINMAX
31
- #define NOMINMAX
32
- #endif
33
- #endif // defined(_MSC_VER)
34
-
35
- #ifdef _msgpack_atomic_counter_header
36
- #include _msgpack_atomic_counter_header
37
- #endif
38
-
39
-
40
- const size_t COUNTER_SIZE = sizeof(_msgpack_atomic_counter_t);
41
-
42
- #ifndef MSGPACK_UNPACKER_INIT_BUFFER_SIZE
43
- #define MSGPACK_UNPACKER_INIT_BUFFER_SIZE (64*1024)
44
- #endif
45
-
46
- #ifndef MSGPACK_UNPACKER_RESERVE_SIZE
47
- #define MSGPACK_UNPACKER_RESERVE_SIZE (32*1024)
48
- #endif
49
-
50
-
51
- // backward compatibility
52
- #ifndef MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE
53
- #define MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE MSGPACK_UNPACKER_INIT_BUFFER_SIZE
54
- #endif
55
-
56
-
57
- namespace msgpack {
58
-
59
- /// @cond
60
- MSGPACK_API_VERSION_NAMESPACE(v1) {
61
- /// @endcond
62
-
63
- typedef bool (*unpack_reference_func)(msgpack::type::object_type, std::size_t, void*);
64
-
65
- struct unpack_error : public std::runtime_error {
66
- explicit unpack_error(const std::string& msg)
67
- :std::runtime_error(msg) {}
68
- #if !defined(MSGPACK_USE_CPP03)
69
- explicit unpack_error(const char* msg):
70
- std::runtime_error(msg) {}
71
- #endif // !defined(MSGPACK_USE_CPP03)
72
- };
73
-
74
- struct parse_error : public unpack_error {
75
- explicit parse_error(const std::string& msg)
76
- :unpack_error(msg) {}
77
- #if !defined(MSGPACK_USE_CPP03)
78
- explicit parse_error(const char* msg)
79
- :unpack_error(msg) {}
80
- #endif // !defined(MSGPACK_USE_CPP03)
81
- };
82
-
83
- struct insufficient_bytes : public unpack_error {
84
- explicit insufficient_bytes(const std::string& msg)
85
- :unpack_error(msg) {}
86
- #if !defined(MSGPACK_USE_CPP03)
87
- explicit insufficient_bytes(const char* msg)
88
- :unpack_error(msg) {}
89
- #endif // !defined(MSGPACK_USE_CPP03)
90
- };
91
-
92
- struct size_overflow : public unpack_error {
93
- explicit size_overflow(const std::string& msg)
94
- :unpack_error(msg) {}
95
- #if !defined(MSGPACK_USE_CPP03)
96
- explicit size_overflow(const char* msg)
97
- :unpack_error(msg) {}
98
- #endif
99
- };
100
-
101
- struct array_size_overflow : public size_overflow {
102
- array_size_overflow(const std::string& msg)
103
- :size_overflow(msg) {}
104
- #if !defined(MSGPACK_USE_CPP03)
105
- array_size_overflow(const char* msg)
106
- :size_overflow(msg) {}
107
- #endif
108
- };
109
-
110
- struct map_size_overflow : public size_overflow {
111
- map_size_overflow(const std::string& msg)
112
- :size_overflow(msg) {}
113
- #if !defined(MSGPACK_USE_CPP03)
114
- map_size_overflow(const char* msg)
115
- :size_overflow(msg) {}
116
- #endif
117
- };
118
-
119
- struct str_size_overflow : public size_overflow {
120
- str_size_overflow(const std::string& msg)
121
- :size_overflow(msg) {}
122
- #if !defined(MSGPACK_USE_CPP03)
123
- str_size_overflow(const char* msg)
124
- :size_overflow(msg) {}
125
- #endif
126
- };
127
-
128
- struct bin_size_overflow : public size_overflow {
129
- bin_size_overflow(const std::string& msg)
130
- :size_overflow(msg) {}
131
- #if !defined(MSGPACK_USE_CPP03)
132
- bin_size_overflow(const char* msg)
133
- :size_overflow(msg) {}
134
- #endif
135
- };
136
-
137
- struct ext_size_overflow : public size_overflow {
138
- ext_size_overflow(const std::string& msg)
139
- :size_overflow(msg) {}
140
- #if !defined(MSGPACK_USE_CPP03)
141
- ext_size_overflow(const char* msg)
142
- :size_overflow(msg) {}
143
- #endif
144
- };
145
-
146
- struct depth_size_overflow : public size_overflow {
147
- depth_size_overflow(const std::string& msg)
148
- :size_overflow(msg) {}
149
- #if !defined(MSGPACK_USE_CPP03)
150
- depth_size_overflow(const char* msg)
151
- :size_overflow(msg) {}
152
- #endif
153
- };
154
-
155
- class unpack_limit {
156
- public:
157
- unpack_limit(
158
- std::size_t array = 0xffffffff,
159
- std::size_t map = 0xffffffff,
160
- std::size_t str = 0xffffffff,
161
- std::size_t bin = 0xffffffff,
162
- std::size_t ext = 0xffffffff,
163
- std::size_t depth = 0xffffffff)
164
- :array_(array),
165
- map_(map),
166
- str_(str),
167
- bin_(bin),
168
- ext_(ext),
169
- depth_(depth) {}
170
- std::size_t array() const { return array_; }
171
- std::size_t map() const { return map_; }
172
- std::size_t str() const { return str_; }
173
- std::size_t bin() const { return bin_; }
174
- std::size_t ext() const { return ext_; }
175
- std::size_t depth() const { return depth_; }
176
-
177
- private:
178
- std::size_t array_;
179
- std::size_t map_;
180
- std::size_t str_;
181
- std::size_t bin_;
182
- std::size_t ext_;
183
- std::size_t depth_;
184
- };
185
-
186
- namespace detail {
187
-
188
- class unpack_user {
189
- public:
190
- unpack_user(unpack_reference_func f = nullptr,
191
- void* user_data = nullptr,
192
- unpack_limit const& limit = unpack_limit())
193
- :m_func(f), m_user_data(user_data), m_limit(limit) {}
194
- msgpack::zone const& zone() const { return *m_zone; }
195
- msgpack::zone& zone() { return *m_zone; }
196
- void set_zone(msgpack::zone& zone) { m_zone = &zone; }
197
- bool referenced() const { return m_referenced; }
198
- void set_referenced(bool referenced) { m_referenced = referenced; }
199
- unpack_reference_func reference_func() const { return m_func; }
200
- void* user_data() const { return m_user_data; }
201
- unpack_limit const& limit() const { return m_limit; }
202
- unpack_limit& limit() { return m_limit; }
203
-
204
- private:
205
- msgpack::zone* m_zone;
206
- bool m_referenced;
207
- unpack_reference_func m_func;
208
- void* m_user_data;
209
- unpack_limit m_limit;
210
- };
211
-
212
- inline void unpack_uint8(uint8_t d, msgpack::object& o)
213
- { o.type = msgpack::type::POSITIVE_INTEGER; o.via.u64 = d; }
214
-
215
- inline void unpack_uint16(uint16_t d, msgpack::object& o)
216
- { o.type = msgpack::type::POSITIVE_INTEGER; o.via.u64 = d; }
217
-
218
- inline void unpack_uint32(uint32_t d, msgpack::object& o)
219
- { o.type = msgpack::type::POSITIVE_INTEGER; o.via.u64 = d; }
220
-
221
- inline void unpack_uint64(uint64_t d, msgpack::object& o)
222
- { o.type = msgpack::type::POSITIVE_INTEGER; o.via.u64 = d; }
223
-
224
- inline void unpack_int8(int8_t d, msgpack::object& o)
225
- { if(d >= 0) { o.type = msgpack::type::POSITIVE_INTEGER; o.via.u64 = d; }
226
- else { o.type = msgpack::type::NEGATIVE_INTEGER; o.via.i64 = d; } }
227
-
228
- inline void unpack_int16(int16_t d, msgpack::object& o)
229
- { if(d >= 0) { o.type = msgpack::type::POSITIVE_INTEGER; o.via.u64 = d; }
230
- else { o.type = msgpack::type::NEGATIVE_INTEGER; o.via.i64 = d; } }
231
-
232
- inline void unpack_int32(int32_t d, msgpack::object& o)
233
- { if(d >= 0) { o.type = msgpack::type::POSITIVE_INTEGER; o.via.u64 = d; }
234
- else { o.type = msgpack::type::NEGATIVE_INTEGER; o.via.i64 = d; } }
235
-
236
- inline void unpack_int64(int64_t d, msgpack::object& o)
237
- { if(d >= 0) { o.type = msgpack::type::POSITIVE_INTEGER; o.via.u64 = d; }
238
- else { o.type = msgpack::type::NEGATIVE_INTEGER; o.via.i64 = d; } }
239
-
240
- inline void unpack_float(float d, msgpack::object& o)
241
- { o.type = msgpack::type::FLOAT; o.via.f64 = d; }
242
-
243
- inline void unpack_double(double d, msgpack::object& o)
244
- { o.type = msgpack::type::FLOAT; o.via.f64 = d; }
245
-
246
- inline void unpack_nil(msgpack::object& o)
247
- { o.type = msgpack::type::NIL; }
248
-
249
- inline void unpack_true(msgpack::object& o)
250
- { o.type = msgpack::type::BOOLEAN; o.via.boolean = true; }
251
-
252
- inline void unpack_false(msgpack::object& o)
253
- { o.type = msgpack::type::BOOLEAN; o.via.boolean = false; }
254
-
255
- struct unpack_array {
256
- void operator()(unpack_user& u, uint32_t n, msgpack::object& o) const {
257
- if (n > u.limit().array()) throw msgpack::array_size_overflow("array size overflow");
258
- o.type = msgpack::type::ARRAY;
259
- o.via.array.size = 0;
260
- o.via.array.ptr = static_cast<msgpack::object*>(u.zone().allocate_align(n*sizeof(msgpack::object)));
261
- }
262
- };
263
-
264
- inline void unpack_array_item(msgpack::object& c, msgpack::object const& o)
265
- {
266
- #if defined(__GNUC__) && !defined(__clang__)
267
- std::memcpy(&c.via.array.ptr[c.via.array.size++], &o, sizeof(msgpack::object));
268
- #else /* __GNUC__ && !__clang__ */
269
- c.via.array.ptr[c.via.array.size++] = o;
270
- #endif /* __GNUC__ && !__clang__ */
271
- }
272
-
273
- struct unpack_map {
274
- void operator()(unpack_user& u, uint32_t n, msgpack::object& o) const {
275
- if (n > u.limit().map()) throw msgpack::map_size_overflow("map size overflow");
276
- o.type = msgpack::type::MAP;
277
- o.via.map.size = 0;
278
- o.via.map.ptr = static_cast<msgpack::object_kv*>(u.zone().allocate_align(n*sizeof(msgpack::object_kv)));
279
- }
280
- };
281
-
282
- inline void unpack_map_item(msgpack::object& c, msgpack::object const& k, msgpack::object const& v)
283
- {
284
- #if defined(__GNUC__) && !defined(__clang__)
285
- std::memcpy(&c.via.map.ptr[c.via.map.size].key, &k, sizeof(msgpack::object));
286
- std::memcpy(&c.via.map.ptr[c.via.map.size].val, &v, sizeof(msgpack::object));
287
- #else /* __GNUC__ && !__clang__ */
288
- c.via.map.ptr[c.via.map.size].key = k;
289
- c.via.map.ptr[c.via.map.size].val = v;
290
- #endif /* __GNUC__ && !__clang__ */
291
- ++c.via.map.size;
292
- }
293
-
294
- inline void unpack_str(unpack_user& u, const char* p, uint32_t l, msgpack::object& o)
295
- {
296
- o.type = msgpack::type::STR;
297
- if (u.reference_func() && u.reference_func()(o.type, l, u.user_data())) {
298
- o.via.str.ptr = p;
299
- u.set_referenced(true);
300
- }
301
- else {
302
- if (l > u.limit().str()) throw msgpack::str_size_overflow("str size overflow");
303
- char* tmp = static_cast<char*>(u.zone().allocate_align(l));
304
- std::memcpy(tmp, p, l);
305
- o.via.str.ptr = tmp;
306
- }
307
- o.via.str.size = l;
308
- }
309
-
310
- inline void unpack_bin(unpack_user& u, const char* p, uint32_t l, msgpack::object& o)
311
- {
312
- o.type = msgpack::type::BIN;
313
- if (u.reference_func() && u.reference_func()(o.type, l, u.user_data())) {
314
- o.via.bin.ptr = p;
315
- u.set_referenced(true);
316
- }
317
- else {
318
- if (l > u.limit().bin()) throw msgpack::bin_size_overflow("bin size overflow");
319
- char* tmp = static_cast<char*>(u.zone().allocate_align(l));
320
- std::memcpy(tmp, p, l);
321
- o.via.bin.ptr = tmp;
322
- }
323
- o.via.bin.size = l;
324
- }
325
-
326
- inline void unpack_ext(unpack_user& u, const char* p, std::size_t l, msgpack::object& o)
327
- {
328
- o.type = msgpack::type::EXT;
329
- if (u.reference_func() && u.reference_func()(o.type, l, u.user_data())) {
330
- o.via.ext.ptr = p;
331
- u.set_referenced(true);
332
- }
333
- else {
334
- if (l > u.limit().ext()) throw msgpack::ext_size_overflow("ext size overflow");
335
- char* tmp = static_cast<char*>(u.zone().allocate_align(l));
336
- std::memcpy(tmp, p, l);
337
- o.via.ext.ptr = tmp;
338
- }
339
- o.via.ext.size = static_cast<uint32_t>(l - 1);
340
- }
341
-
342
-
343
- class unpack_stack {
344
- public:
345
- msgpack::object const& obj() const { return m_obj; }
346
- msgpack::object& obj() { return m_obj; }
347
- void set_obj(msgpack::object const& obj) { m_obj = obj; }
348
- std::size_t count() const { return m_count; }
349
- void set_count(std::size_t count) { m_count = count; }
350
- std::size_t decr_count() { return --m_count; }
351
- uint32_t container_type() const { return m_container_type; }
352
- void set_container_type(uint32_t container_type) { m_container_type = container_type; }
353
- msgpack::object const& map_key() const { return m_map_key; }
354
- void set_map_key(msgpack::object const& map_key) { m_map_key = map_key; }
355
- private:
356
- msgpack::object m_obj;
357
- std::size_t m_count;
358
- uint32_t m_container_type;
359
- msgpack::object m_map_key;
360
- };
361
-
362
- inline void init_count(void* buffer)
363
- {
364
- #if defined(MSGPACK_USE_CPP03)
365
- *reinterpret_cast<volatile _msgpack_atomic_counter_t*>(buffer) = 1;
366
- #else // defined(MSGPACK_USE_CPP03)
367
- new (buffer) std::atomic<unsigned int>(1);
368
- #endif // defined(MSGPACK_USE_CPP03)
369
- }
370
-
371
- inline void decr_count(void* buffer)
372
- {
373
- #if defined(MSGPACK_USE_CPP03)
374
- if(_msgpack_sync_decr_and_fetch(reinterpret_cast<volatile _msgpack_atomic_counter_t*>(buffer)) == 0) {
375
- free(buffer);
376
- }
377
- #else // defined(MSGPACK_USE_CPP03)
378
- if (--*reinterpret_cast<std::atomic<unsigned int>*>(buffer) == 0) {
379
- free(buffer);
380
- }
381
- #endif // defined(MSGPACK_USE_CPP03)
382
- }
383
-
384
- inline void incr_count(void* buffer)
385
- {
386
- #if defined(MSGPACK_USE_CPP03)
387
- _msgpack_sync_incr_and_fetch(reinterpret_cast<volatile _msgpack_atomic_counter_t*>(buffer));
388
- #else // defined(MSGPACK_USE_CPP03)
389
- ++*reinterpret_cast<std::atomic<unsigned int>*>(buffer);
390
- #endif // defined(MSGPACK_USE_CPP03)
391
- }
392
-
393
- #if defined(MSGPACK_USE_CPP03)
394
- inline _msgpack_atomic_counter_t get_count(void* buffer)
395
- {
396
- return *reinterpret_cast<volatile _msgpack_atomic_counter_t*>(buffer);
397
- }
398
- #else // defined(MSGPACK_USE_CPP03)
399
- inline std::atomic<unsigned int> const& get_count(void* buffer)
400
- {
401
- return *reinterpret_cast<std::atomic<unsigned int>*>(buffer);
402
- }
403
- #endif // defined(MSGPACK_USE_CPP03)
404
-
405
- struct fix_tag {
406
- char f1[65]; // FIXME unique size is required. or use is_same meta function.
407
- };
408
-
409
- template <typename T>
410
- struct value {
411
- typedef T type;
412
- };
413
- template <>
414
- struct value<fix_tag> {
415
- typedef uint32_t type;
416
- };
417
-
418
- template <typename T>
419
- inline void load(uint32_t& dst, const char* n, typename msgpack::enable_if<sizeof(T) == sizeof(fix_tag)>::type* = nullptr) {
420
- dst = static_cast<uint32_t>(*reinterpret_cast<const uint8_t*>(n)) & 0x0f;
421
- }
422
-
423
- template <typename T>
424
- inline void load(T& dst, const char* n, typename msgpack::enable_if<sizeof(T) == 1>::type* = nullptr) {
425
- dst = static_cast<T>(*reinterpret_cast<const uint8_t*>(n));
426
- }
427
-
428
- template <typename T>
429
- inline void load(T& dst, const char* n, typename msgpack::enable_if<sizeof(T) == 2>::type* = nullptr) {
430
- _msgpack_load16(T, n, &dst);
431
- }
432
-
433
- template <typename T>
434
- inline void load(T& dst, const char* n, typename msgpack::enable_if<sizeof(T) == 4>::type* = nullptr) {
435
- _msgpack_load32(T, n, &dst);
436
- }
437
-
438
- template <typename T>
439
- inline void load(T& dst, const char* n, typename msgpack::enable_if<sizeof(T) == 8>::type* = nullptr) {
440
- _msgpack_load64(T, n, &dst);
441
- }
442
-
443
- class context {
444
- public:
445
- context(unpack_reference_func f, void* user_data, unpack_limit const& limit)
446
- :m_trail(0), m_user(f, user_data, limit), m_cs(MSGPACK_CS_HEADER)
447
- {
448
- m_stack.reserve(MSGPACK_EMBED_STACK_SIZE);
449
- m_stack.push_back(unpack_stack());
450
- }
451
-
452
- void init()
453
- {
454
- m_cs = MSGPACK_CS_HEADER;
455
- m_trail = 0;
456
- m_stack.resize(1);
457
- m_stack[0].set_obj(msgpack::object());
458
- }
459
-
460
- msgpack::object const& data() const
461
- {
462
- return m_stack[0].obj();
463
- }
464
-
465
- unpack_user& user()
466
- {
467
- return m_user;
468
- }
469
-
470
- unpack_user const& user() const
471
- {
472
- return m_user;
473
- }
474
-
475
- int execute(const char* data, std::size_t len, std::size_t& off);
476
-
477
- private:
478
- template <typename T>
479
- static uint32_t next_cs(T p)
480
- {
481
- return static_cast<uint32_t>(*p) & 0x1f;
482
- }
483
-
484
- template <typename T, typename Func>
485
- int push_aggregate(
486
- Func const& f,
487
- uint32_t container_type,
488
- msgpack::object& obj,
489
- const char* load_pos,
490
- std::size_t& off) {
491
- typename value<T>::type tmp;
492
- load<T>(tmp, load_pos);
493
- f(m_user, tmp, m_stack.back().obj());
494
- if(tmp == 0) {
495
- obj = m_stack.back().obj();
496
- int ret = push_proc(obj, off);
497
- if (ret != 0) return ret;
498
- }
499
- else {
500
- m_stack.back().set_container_type(container_type);
501
- m_stack.back().set_count(tmp);
502
- if (m_stack.size() <= m_user.limit().depth()) {
503
- m_stack.push_back(unpack_stack());
504
- }
505
- else {
506
- throw msgpack::depth_size_overflow("depth size overflow");
507
- }
508
- m_cs = MSGPACK_CS_HEADER;
509
- ++m_current;
510
- }
511
- return 0;
512
- }
513
-
514
- int push_item(msgpack::object& obj) {
515
- bool finish = false;
516
- while (!finish) {
517
- if(m_stack.size() == 1) {
518
- return 1;
519
- }
520
- unpack_stack& sp = *(m_stack.end() - 2);
521
- switch(sp.container_type()) {
522
- case MSGPACK_CT_ARRAY_ITEM:
523
- unpack_array_item(sp.obj(), obj);
524
- if(sp.decr_count() == 0) {
525
- obj = sp.obj();
526
- m_stack.pop_back();
527
- }
528
- else {
529
- finish = true;
530
- }
531
- break;
532
- case MSGPACK_CT_MAP_KEY:
533
- sp.set_map_key(obj);
534
- sp.set_container_type(MSGPACK_CT_MAP_VALUE);
535
- finish = true;
536
- break;
537
- case MSGPACK_CT_MAP_VALUE:
538
- unpack_map_item(sp.obj(), sp.map_key(), obj);
539
- if(sp.decr_count() == 0) {
540
- obj = sp.obj();
541
- m_stack.pop_back();
542
- }
543
- else {
544
- sp.set_container_type(MSGPACK_CT_MAP_KEY);
545
- finish = true;
546
- }
547
- break;
548
- default:
549
- return -1;
550
- }
551
- }
552
- return 0;
553
- }
554
-
555
- int push_proc(msgpack::object& obj, std::size_t& off) {
556
- int ret = push_item(obj);
557
- if (ret > 0) {
558
- m_stack[0].set_obj(obj);
559
- ++m_current;
560
- /*printf("-- finish --\n"); */
561
- off = m_current - m_start;
562
- }
563
- else if (ret < 0) {
564
- off = m_current - m_start;
565
- }
566
- else {
567
- m_cs = MSGPACK_CS_HEADER;
568
- ++m_current;
569
- }
570
- return ret;
571
- }
572
-
573
- template <std::size_t N>
574
- static void check_ext_size(std::size_t /*size*/) {
575
- }
576
-
577
- private:
578
- char const* m_start;
579
- char const* m_current;
580
-
581
- std::size_t m_trail;
582
- unpack_user m_user;
583
- uint32_t m_cs;
584
- std::vector<unpack_stack> m_stack;
585
- };
586
-
587
- template <>
588
- inline void context::check_ext_size<4>(std::size_t size) {
589
- if (size == 0xffffffff) throw msgpack::ext_size_overflow("ext size overflow");
590
- }
591
-
592
- inline int context::execute(const char* data, std::size_t len, std::size_t& off)
593
- {
594
- assert(len >= off);
595
-
596
- m_start = data;
597
- m_current = data + off;
598
- const char* const pe = data + len;
599
- const char* n = nullptr;
600
-
601
- msgpack::object obj;
602
-
603
- if(m_current == pe) {
604
- off = m_current - m_start;
605
- return 0;
606
- }
607
- bool fixed_trail_again = false;
608
- do {
609
- if (m_cs == MSGPACK_CS_HEADER) {
610
- fixed_trail_again = false;
611
- int selector = *reinterpret_cast<const unsigned char*>(m_current);
612
- if (0x00 <= selector && selector <= 0x7f) { // Positive Fixnum
613
- unpack_uint8(*reinterpret_cast<const uint8_t*>(m_current), obj);
614
- int ret = push_proc(obj, off);
615
- if (ret != 0) return ret;
616
- } else if(0xe0 <= selector && selector <= 0xff) { // Negative Fixnum
617
- unpack_int8(*reinterpret_cast<const int8_t*>(m_current), obj);
618
- int ret = push_proc(obj, off);
619
- if (ret != 0) return ret;
620
- } else if (0xc4 <= selector && selector <= 0xdf) {
621
- const uint32_t trail[] = {
622
- 1, // bin 8 0xc4
623
- 2, // bin 16 0xc5
624
- 4, // bin 32 0xc6
625
- 1, // ext 8 0xc7
626
- 2, // ext 16 0xc8
627
- 4, // ext 32 0xc9
628
- 4, // float 32 0xca
629
- 8, // float 64 0xcb
630
- 1, // uint 8 0xcc
631
- 2, // uint 16 0xcd
632
- 4, // uint 32 0xce
633
- 8, // uint 64 0xcf
634
- 1, // int 8 0xd0
635
- 2, // int 16 0xd1
636
- 4, // int 32 0xd2
637
- 8, // int 64 0xd3
638
- 2, // fixext 1 0xd4
639
- 3, // fixext 2 0xd5
640
- 5, // fixext 4 0xd6
641
- 9, // fixext 8 0xd7
642
- 17,// fixext 16 0xd8
643
- 1, // str 8 0xd9
644
- 2, // str 16 0xda
645
- 4, // str 32 0xdb
646
- 2, // array 16 0xdc
647
- 4, // array 32 0xdd
648
- 2, // map 16 0xde
649
- 4, // map 32 0xdf
650
- };
651
- m_trail = trail[selector - 0xc4];
652
- m_cs = next_cs(m_current);
653
- fixed_trail_again = true;
654
- } else if(0xa0 <= selector && selector <= 0xbf) { // FixStr
655
- m_trail = static_cast<uint32_t>(*m_current) & 0x1f;
656
- if(m_trail == 0) {
657
- unpack_str(m_user, n, static_cast<uint32_t>(m_trail), obj);
658
- int ret = push_proc(obj, off);
659
- if (ret != 0) return ret;
660
- }
661
- else {
662
- m_cs = MSGPACK_ACS_STR_VALUE;
663
- fixed_trail_again = true;
664
- }
665
-
666
- } else if(0x90 <= selector && selector <= 0x9f) { // FixArray
667
- int ret = push_aggregate<fix_tag>(
668
- unpack_array(), MSGPACK_CT_ARRAY_ITEM, obj, m_current, off);
669
- if (ret != 0) return ret;
670
- } else if(0x80 <= selector && selector <= 0x8f) { // FixMap
671
- int ret = push_aggregate<fix_tag>(
672
- unpack_map(), MSGPACK_CT_MAP_KEY, obj, m_current, off);
673
- if (ret != 0) return ret;
674
- } else if(selector == 0xc2) { // false
675
- unpack_false(obj);
676
- int ret = push_proc(obj, off);
677
- if (ret != 0) return ret;
678
- } else if(selector == 0xc3) { // true
679
- unpack_true(obj);
680
- int ret = push_proc(obj, off);
681
- if (ret != 0) return ret;
682
- } else if(selector == 0xc0) { // nil
683
- unpack_nil(obj);
684
- int ret = push_proc(obj, off);
685
- if (ret != 0) return ret;
686
- } else {
687
- off = m_current - m_start;
688
- return -1;
689
- }
690
- // end MSGPACK_CS_HEADER
691
- }
692
- if (m_cs != MSGPACK_CS_HEADER || fixed_trail_again) {
693
- if (fixed_trail_again) {
694
- ++m_current;
695
- fixed_trail_again = false;
696
- }
697
- if(static_cast<std::size_t>(pe - m_current) < m_trail) {
698
- off = m_current - m_start;
699
- return 0;
700
- }
701
- n = m_current;
702
- m_current += m_trail - 1;
703
- switch(m_cs) {
704
- //case MSGPACK_CS_
705
- //case MSGPACK_CS_
706
- case MSGPACK_CS_FLOAT: {
707
- union { uint32_t i; float f; } mem;
708
- load<uint32_t>(mem.i, n);
709
- unpack_float(mem.f, obj);
710
- int ret = push_proc(obj, off);
711
- if (ret != 0) return ret;
712
- } break;
713
- case MSGPACK_CS_DOUBLE: {
714
- union { uint64_t i; double f; } mem;
715
- load<uint64_t>(mem.i, n);
716
- #if defined(TARGET_OS_IPHONE)
717
- // ok
718
- #elif defined(__arm__) && !(__ARM_EABI__) // arm-oabi
719
- // https://github.com/msgpack/msgpack-perl/pull/1
720
- mem.i = (mem.i & 0xFFFFFFFFUL) << 32UL | (mem.i >> 32UL);
721
- #endif
722
- unpack_double(mem.f, obj);
723
- int ret = push_proc(obj, off);
724
- if (ret != 0) return ret;
725
- } break;
726
- case MSGPACK_CS_UINT_8: {
727
- uint8_t tmp;
728
- load<uint8_t>(tmp, n);
729
- unpack_uint8(tmp, obj);
730
- int ret = push_proc(obj, off);
731
- if (ret != 0) return ret;
732
- } break;
733
- case MSGPACK_CS_UINT_16: {
734
- uint16_t tmp;
735
- load<uint16_t>(tmp, n);
736
- unpack_uint16(tmp, obj);
737
- int ret = push_proc(obj, off);
738
- if (ret != 0) return ret;
739
- } break;
740
- case MSGPACK_CS_UINT_32: {
741
- uint32_t tmp;
742
- load<uint32_t>(tmp, n);
743
- unpack_uint32(tmp, obj);
744
- int ret = push_proc(obj, off);
745
- if (ret != 0) return ret;
746
- } break;
747
- case MSGPACK_CS_UINT_64: {
748
- uint64_t tmp;
749
- load<uint64_t>(tmp, n);
750
- unpack_uint64(tmp, obj);
751
- int ret = push_proc(obj, off);
752
- if (ret != 0) return ret;
753
- } break;
754
- case MSGPACK_CS_INT_8: {
755
- int8_t tmp;
756
- load<int8_t>(tmp, n);
757
- unpack_int8(tmp, obj);
758
- int ret = push_proc(obj, off);
759
- if (ret != 0) return ret;
760
- } break;
761
- case MSGPACK_CS_INT_16: {
762
- int16_t tmp;
763
- load<int16_t>(tmp, n);
764
- unpack_int16(tmp, obj);
765
- int ret = push_proc(obj, off);
766
- if (ret != 0) return ret;
767
- } break;
768
- case MSGPACK_CS_INT_32: {
769
- int32_t tmp;
770
- load<int32_t>(tmp, n);
771
- unpack_int32(tmp, obj);
772
- int ret = push_proc(obj, off);
773
- if (ret != 0) return ret;
774
- } break;
775
- case MSGPACK_CS_INT_64: {
776
- int64_t tmp;
777
- load<int64_t>(tmp, n);
778
- unpack_int64(tmp, obj);
779
- int ret = push_proc(obj, off);
780
- if (ret != 0) return ret;
781
- } break;
782
- case MSGPACK_CS_FIXEXT_1: {
783
- unpack_ext(m_user, n, 1+1, obj);
784
- int ret = push_proc(obj, off);
785
- if (ret != 0) return ret;
786
- } break;
787
- case MSGPACK_CS_FIXEXT_2: {
788
- unpack_ext(m_user, n, 2+1, obj);
789
- int ret = push_proc(obj, off);
790
- if (ret != 0) return ret;
791
- } break;
792
- case MSGPACK_CS_FIXEXT_4: {
793
- unpack_ext(m_user, n, 4+1, obj);
794
- int ret = push_proc(obj, off);
795
- if (ret != 0) return ret;
796
- } break;
797
- case MSGPACK_CS_FIXEXT_8: {
798
- unpack_ext(m_user, n, 8+1, obj);
799
- int ret = push_proc(obj, off);
800
- if (ret != 0) return ret;
801
- } break;
802
- case MSGPACK_CS_FIXEXT_16: {
803
- unpack_ext(m_user, n, 16+1, obj);
804
- int ret = push_proc(obj, off);
805
- if (ret != 0) return ret;
806
- } break;
807
- case MSGPACK_CS_STR_8: {
808
- uint8_t tmp;
809
- load<uint8_t>(tmp, n);
810
- m_trail = tmp;
811
- if(m_trail == 0) {
812
- unpack_str(m_user, n, static_cast<uint32_t>(m_trail), obj);
813
- int ret = push_proc(obj, off);
814
- if (ret != 0) return ret;
815
- }
816
- else {
817
- m_cs = MSGPACK_ACS_STR_VALUE;
818
- fixed_trail_again = true;
819
- }
820
- } break;
821
- case MSGPACK_CS_BIN_8: {
822
- uint8_t tmp;
823
- load<uint8_t>(tmp, n);
824
- m_trail = tmp;
825
- if(m_trail == 0) {
826
- unpack_bin(m_user, n, static_cast<uint32_t>(m_trail), obj);
827
- int ret = push_proc(obj, off);
828
- if (ret != 0) return ret;
829
- }
830
- else {
831
- m_cs = MSGPACK_ACS_BIN_VALUE;
832
- fixed_trail_again = true;
833
- }
834
- } break;
835
- case MSGPACK_CS_EXT_8: {
836
- uint8_t tmp;
837
- load<uint8_t>(tmp, n);
838
- m_trail = tmp + 1;
839
- if(m_trail == 0) {
840
- unpack_ext(m_user, n, m_trail, obj);
841
- int ret = push_proc(obj, off);
842
- if (ret != 0) return ret;
843
- }
844
- else {
845
- m_cs = MSGPACK_ACS_EXT_VALUE;
846
- fixed_trail_again = true;
847
- }
848
- } break;
849
- case MSGPACK_CS_STR_16: {
850
- uint16_t tmp;
851
- load<uint16_t>(tmp, n);
852
- m_trail = tmp;
853
- if(m_trail == 0) {
854
- unpack_str(m_user, n, static_cast<uint32_t>(m_trail), obj);
855
- int ret = push_proc(obj, off);
856
- if (ret != 0) return ret;
857
- }
858
- else {
859
- m_cs = MSGPACK_ACS_STR_VALUE;
860
- fixed_trail_again = true;
861
- }
862
- } break;
863
- case MSGPACK_CS_BIN_16: {
864
- uint16_t tmp;
865
- load<uint16_t>(tmp, n);
866
- m_trail = tmp;
867
- if(m_trail == 0) {
868
- unpack_bin(m_user, n, static_cast<uint32_t>(m_trail), obj);
869
- int ret = push_proc(obj, off);
870
- if (ret != 0) return ret;
871
- }
872
- else {
873
- m_cs = MSGPACK_ACS_BIN_VALUE;
874
- fixed_trail_again = true;
875
- }
876
- } break;
877
- case MSGPACK_CS_EXT_16: {
878
- uint16_t tmp;
879
- load<uint16_t>(tmp, n);
880
- m_trail = tmp + 1;
881
- if(m_trail == 0) {
882
- unpack_ext(m_user, n, m_trail, obj);
883
- int ret = push_proc(obj, off);
884
- if (ret != 0) return ret;
885
- }
886
- else {
887
- m_cs = MSGPACK_ACS_EXT_VALUE;
888
- fixed_trail_again = true;
889
- }
890
- } break;
891
- case MSGPACK_CS_STR_32: {
892
- uint32_t tmp;
893
- load<uint32_t>(tmp, n);
894
- m_trail = tmp;
895
- if(m_trail == 0) {
896
- unpack_str(m_user, n, static_cast<uint32_t>(m_trail), obj);
897
- int ret = push_proc(obj, off);
898
- if (ret != 0) return ret;
899
- }
900
- else {
901
- m_cs = MSGPACK_ACS_STR_VALUE;
902
- fixed_trail_again = true;
903
- }
904
- } break;
905
- case MSGPACK_CS_BIN_32: {
906
- uint32_t tmp;
907
- load<uint32_t>(tmp, n);
908
- m_trail = tmp;
909
- if(m_trail == 0) {
910
- unpack_bin(m_user, n, static_cast<uint32_t>(m_trail), obj);
911
- int ret = push_proc(obj, off);
912
- if (ret != 0) return ret;
913
- }
914
- else {
915
- m_cs = MSGPACK_ACS_BIN_VALUE;
916
- fixed_trail_again = true;
917
- }
918
- } break;
919
- case MSGPACK_CS_EXT_32: {
920
- uint32_t tmp;
921
- load<uint32_t>(tmp, n);
922
- check_ext_size<sizeof(std::size_t)>(tmp);
923
- m_trail = tmp;
924
- ++m_trail;
925
- if(m_trail == 0) {
926
- unpack_ext(m_user, n, m_trail, obj);
927
- int ret = push_proc(obj, off);
928
- if (ret != 0) return ret;
929
- }
930
- else {
931
- m_cs = MSGPACK_ACS_EXT_VALUE;
932
- fixed_trail_again = true;
933
- }
934
- } break;
935
- case MSGPACK_ACS_STR_VALUE: {
936
- unpack_str(m_user, n, static_cast<uint32_t>(m_trail), obj);
937
- int ret = push_proc(obj, off);
938
- if (ret != 0) return ret;
939
- } break;
940
- case MSGPACK_ACS_BIN_VALUE: {
941
- unpack_bin(m_user, n, static_cast<uint32_t>(m_trail), obj);
942
- int ret = push_proc(obj, off);
943
- if (ret != 0) return ret;
944
- } break;
945
- case MSGPACK_ACS_EXT_VALUE: {
946
- unpack_ext(m_user, n, m_trail, obj);
947
- int ret = push_proc(obj, off);
948
- if (ret != 0) return ret;
949
- } break;
950
- case MSGPACK_CS_ARRAY_16: {
951
- int ret = push_aggregate<uint16_t>(
952
- unpack_array(), MSGPACK_CT_ARRAY_ITEM, obj, n, off);
953
- if (ret != 0) return ret;
954
- } break;
955
- case MSGPACK_CS_ARRAY_32: {
956
- /* FIXME security guard */
957
- int ret = push_aggregate<uint32_t>(
958
- unpack_array(), MSGPACK_CT_ARRAY_ITEM, obj, n, off);
959
- if (ret != 0) return ret;
960
- } break;
961
- case MSGPACK_CS_MAP_16: {
962
- int ret = push_aggregate<uint16_t>(
963
- unpack_map(), MSGPACK_CT_MAP_KEY, obj, n, off);
964
- if (ret != 0) return ret;
965
- } break;
966
- case MSGPACK_CS_MAP_32: {
967
- /* FIXME security guard */
968
- int ret = push_aggregate<uint32_t>(
969
- unpack_map(), MSGPACK_CT_MAP_KEY, obj, n, off);
970
- if (ret != 0) return ret;
971
- } break;
972
- default:
973
- off = m_current - m_start;
974
- return -1;
975
- }
976
- }
977
- } while(m_current != pe);
978
-
979
- off = m_current - m_start;
980
- return 0;
981
- }
982
-
983
- } // detail
984
-
985
-
986
- typedef object_handle unpacked;
987
-
988
- class unpacker {
989
- public:
990
- unpacker(unpack_reference_func f = &unpacker::default_reference_func,
991
- void* user_data = nullptr,
992
- std::size_t init_buffer_size = MSGPACK_UNPACKER_INIT_BUFFER_SIZE,
993
- unpack_limit const& limit = unpack_limit());
994
-
995
- #if !defined(MSGPACK_USE_CPP03)
996
- unpacker(unpacker&& other);
997
- unpacker& operator=(unpacker&& other);
998
- #endif // !defined(MSGPACK_USE_CPP03)
999
-
1000
- ~unpacker();
1001
-
1002
- public:
1003
- /*! 1. reserve buffer. at least `size' bytes of capacity will be ready */
1004
- void reserve_buffer(std::size_t size = MSGPACK_UNPACKER_RESERVE_SIZE);
1005
-
1006
- /*! 2. read data to the buffer() up to buffer_capacity() bytes */
1007
- char* buffer();
1008
- std::size_t buffer_capacity() const;
1009
-
1010
- /*! 3. specify the number of bytes actually copied */
1011
- void buffer_consumed(std::size_t size);
1012
-
1013
- /*! 4. repeat next() until it retunrs false */
1014
- bool next(unpacked* result);
1015
- bool next(unpacked& result, bool& referenced);
1016
- bool next(unpacked& result);
1017
-
1018
- /*! 5. check if the size of message doesn't exceed assumption. */
1019
- std::size_t message_size() const;
1020
-
1021
- // Basic usage of the unpacker is as following:
1022
- //
1023
- // unpacker pac;
1024
- // while( /* input is readable */ ) {
1025
- //
1026
- // // 1.
1027
- // pac.reserve_buffer(32*1024);
1028
- //
1029
- // // 2.
1030
- // std::size_t bytes = input.readsome(pac.buffer(), pac.buffer_capacity());
1031
- //
1032
- // // error handling ...
1033
- //
1034
- // // 3.
1035
- // pac.buffer_consumed(bytes);
1036
- //
1037
- // // 4.
1038
- // unpacked result;
1039
- // while(pac.next(&result)) {
1040
- // // do some with the object with the zone.
1041
- // object obj = result.get();
1042
- // std::auto_ptr<msgpack:zone> z = result.zone();
1043
- // on_message(obj, z);
1044
- //
1045
- // //// boost::shared_ptr is also usable:
1046
- // // boost::shared_ptr<zone> life(z.release());
1047
- // // on_message(result.get(), life);
1048
- // }
1049
- //
1050
- // // 5.
1051
- // if(pac.message_size() > 10*1024*1024) {
1052
- // throw std::runtime_error("message is too large");
1053
- // }
1054
- // }
1055
- //
1056
-
1057
- /*! for backward compatibility */
1058
- bool execute();
1059
-
1060
- /*! for backward compatibility */
1061
- msgpack::object const& data();
1062
-
1063
- /*! for backward compatibility */
1064
- msgpack::zone* release_zone();
1065
-
1066
- /*! for backward compatibility */
1067
- void reset_zone();
1068
-
1069
- /*! for backward compatibility */
1070
- void reset();
1071
-
1072
- public:
1073
- // These functions are usable when non-MessagePack message follows after
1074
- // MessagePack message.
1075
- std::size_t parsed_size() const;
1076
-
1077
- /*! get address of the buffer that is not parsed */
1078
- char* nonparsed_buffer();
1079
- std::size_t nonparsed_size() const;
1080
-
1081
- /*! skip specified size of non-parsed buffer, leaving the buffer */
1082
- // Note that the `size' argument must be smaller than nonparsed_size()
1083
- void skip_nonparsed_buffer(std::size_t size);
1084
-
1085
- /*! remove unparsed buffer from unpacker */
1086
- // Note that reset() leaves non-parsed buffer.
1087
- void remove_nonparsed_buffer();
1088
-
1089
- private:
1090
- void expand_buffer(std::size_t size);
1091
- int execute_imp();
1092
- bool flush_zone();
1093
- static bool default_reference_func(msgpack::type::object_type type, std::size_t len, void*);
1094
-
1095
- private:
1096
- char* m_buffer;
1097
- std::size_t m_used;
1098
- std::size_t m_free;
1099
- std::size_t m_off;
1100
- std::size_t m_parsed;
1101
- msgpack::unique_ptr<msgpack::zone> m_z;
1102
- std::size_t m_initial_buffer_size;
1103
- detail::context m_ctx;
1104
-
1105
- #if defined(MSGPACK_USE_CPP03)
1106
- private:
1107
- unpacker(const unpacker&);
1108
- unpacker& operator=(const unpacker&);
1109
- #else // defined(MSGPACK_USE_CPP03)
1110
- unpacker(const unpacker&) = delete;
1111
- unpacker& operator=(const unpacker&) = delete;
1112
- #endif // defined(MSGPACK_USE_CPP03)
1113
- };
1114
-
1115
- unpacked unpack(
1116
- const char* data, std::size_t len, std::size_t& off, bool& referenced,
1117
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1118
- unpack_limit const& limit = unpack_limit());
1119
- unpacked unpack(
1120
- const char* data, std::size_t len, std::size_t& off,
1121
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1122
- unpack_limit const& limit = unpack_limit());
1123
- unpacked unpack(
1124
- const char* data, std::size_t len, bool& referenced,
1125
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1126
- unpack_limit const& limit = unpack_limit());
1127
- unpacked unpack(
1128
- const char* data, std::size_t len,
1129
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1130
- unpack_limit const& limit = unpack_limit());
1131
-
1132
-
1133
- void unpack(unpacked& result,
1134
- const char* data, std::size_t len, std::size_t& off, bool& referenced,
1135
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1136
- unpack_limit const& limit = unpack_limit());
1137
- void unpack(unpacked& result,
1138
- const char* data, std::size_t len, std::size_t& off,
1139
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1140
- unpack_limit const& limit = unpack_limit());
1141
- void unpack(unpacked& result,
1142
- const char* data, std::size_t len, bool& referenced,
1143
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1144
- unpack_limit const& limit = unpack_limit());
1145
-
1146
- void unpack(unpacked& result,
1147
- const char* data, std::size_t len,
1148
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1149
- unpack_limit const& limit = unpack_limit());
1150
-
1151
- msgpack::object unpack(
1152
- msgpack::zone& z,
1153
- const char* data, std::size_t len, std::size_t& off, bool& referenced,
1154
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1155
- unpack_limit const& limit = unpack_limit());
1156
- msgpack::object unpack(
1157
- msgpack::zone& z,
1158
- const char* data, std::size_t len, std::size_t& off,
1159
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1160
- unpack_limit const& limit = unpack_limit());
1161
- msgpack::object unpack(
1162
- msgpack::zone& z,
1163
- const char* data, std::size_t len, bool& referenced,
1164
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1165
- unpack_limit const& limit = unpack_limit());
1166
- msgpack::object unpack(
1167
- msgpack::zone& z,
1168
- const char* data, std::size_t len,
1169
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1170
- unpack_limit const& limit = unpack_limit());
1171
-
1172
-
1173
- // obsolete
1174
- void unpack(unpacked* result,
1175
- const char* data, std::size_t len, std::size_t* off = nullptr, bool* referenced = nullptr,
1176
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1177
- unpack_limit const& limit = unpack_limit());
1178
-
1179
-
1180
- // for internal use
1181
- typedef enum {
1182
- UNPACK_SUCCESS = 2,
1183
- UNPACK_EXTRA_BYTES = 1,
1184
- UNPACK_CONTINUE = 0,
1185
- UNPACK_PARSE_ERROR = -1
1186
- } unpack_return;
1187
-
1188
- inline unpacker::unpacker(unpack_reference_func f,
1189
- void* user_data,
1190
- std::size_t initial_buffer_size,
1191
- unpack_limit const& limit)
1192
- :m_z(new msgpack::zone), m_ctx(f, user_data, limit)
1193
- {
1194
- if(initial_buffer_size < COUNTER_SIZE) {
1195
- initial_buffer_size = COUNTER_SIZE;
1196
- }
1197
-
1198
- char* buffer = static_cast<char*>(::malloc(initial_buffer_size));
1199
- if(!buffer) {
1200
- throw std::bad_alloc();
1201
- }
1202
-
1203
- m_buffer = buffer;
1204
- m_used = COUNTER_SIZE;
1205
- m_free = initial_buffer_size - m_used;
1206
- m_off = COUNTER_SIZE;
1207
- m_parsed = 0;
1208
- m_initial_buffer_size = initial_buffer_size;
1209
-
1210
- detail::init_count(m_buffer);
1211
-
1212
- m_ctx.init();
1213
- m_ctx.user().set_zone(*m_z);
1214
- m_ctx.user().set_referenced(false);
1215
- }
1216
-
1217
- #if !defined(MSGPACK_USE_CPP03)
1218
- // Move constructor and move assignment operator
1219
-
1220
- inline unpacker::unpacker(unpacker&& other)
1221
- :m_buffer(other.m_buffer),
1222
- m_used(other.m_used),
1223
- m_free(other.m_free),
1224
- m_off(other.m_off),
1225
- m_parsed(other.m_parsed),
1226
- m_z(std::move(other.m_z)),
1227
- m_initial_buffer_size(other.m_initial_buffer_size),
1228
- m_ctx(other.m_ctx) {
1229
- other.m_buffer = nullptr;
1230
- }
1231
-
1232
- inline unpacker& unpacker::operator=(unpacker&& other) {
1233
- this->~unpacker();
1234
- new (this) unpacker(std::move(other));
1235
- return *this;
1236
- }
1237
-
1238
- #endif // !defined(MSGPACK_USE_CPP03)
1239
-
1240
-
1241
- inline unpacker::~unpacker()
1242
- {
1243
- // These checks are required for move operations.
1244
- if (m_buffer) detail::decr_count(m_buffer);
1245
- }
1246
-
1247
-
1248
- inline void unpacker::reserve_buffer(std::size_t size)
1249
- {
1250
- if(m_free >= size) return;
1251
- expand_buffer(size);
1252
- }
1253
-
1254
- inline void unpacker::expand_buffer(std::size_t size)
1255
- {
1256
- if(m_used == m_off && detail::get_count(m_buffer) == 1
1257
- && !m_ctx.user().referenced()) {
1258
- // rewind buffer
1259
- m_free += m_used - COUNTER_SIZE;
1260
- m_used = COUNTER_SIZE;
1261
- m_off = COUNTER_SIZE;
1262
-
1263
- if(m_free >= size) return;
1264
- }
1265
-
1266
- if(m_off == COUNTER_SIZE) {
1267
- std::size_t next_size = (m_used + m_free) * 2; // include COUNTER_SIZE
1268
- while(next_size < size + m_used) {
1269
- std::size_t tmp_next_size = next_size * 2;
1270
- if (tmp_next_size <= next_size) {
1271
- next_size = size + m_used;
1272
- break;
1273
- }
1274
- next_size = tmp_next_size;
1275
- }
1276
-
1277
- char* tmp = static_cast<char*>(::realloc(m_buffer, next_size));
1278
- if(!tmp) {
1279
- throw std::bad_alloc();
1280
- }
1281
-
1282
- m_buffer = tmp;
1283
- m_free = next_size - m_used;
1284
-
1285
- } else {
1286
- std::size_t next_size = m_initial_buffer_size; // include COUNTER_SIZE
1287
- std::size_t not_parsed = m_used - m_off;
1288
- while(next_size < size + not_parsed + COUNTER_SIZE) {
1289
- std::size_t tmp_next_size = next_size * 2;
1290
- if (tmp_next_size <= next_size) {
1291
- next_size = size + not_parsed + COUNTER_SIZE;
1292
- break;
1293
- }
1294
- next_size = tmp_next_size;
1295
- }
1296
-
1297
- char* tmp = static_cast<char*>(::malloc(next_size));
1298
- if(!tmp) {
1299
- throw std::bad_alloc();
1300
- }
1301
-
1302
- detail::init_count(tmp);
1303
-
1304
- std::memcpy(tmp+COUNTER_SIZE, m_buffer + m_off, not_parsed);
1305
-
1306
- if(m_ctx.user().referenced()) {
1307
- try {
1308
- m_z->push_finalizer(&detail::decr_count, m_buffer);
1309
- }
1310
- catch (...) {
1311
- ::free(tmp);
1312
- throw;
1313
- }
1314
- m_ctx.user().set_referenced(false);
1315
- } else {
1316
- detail::decr_count(m_buffer);
1317
- }
1318
-
1319
- m_buffer = tmp;
1320
- m_used = not_parsed + COUNTER_SIZE;
1321
- m_free = next_size - m_used;
1322
- m_off = COUNTER_SIZE;
1323
- }
1324
- }
1325
-
1326
- inline char* unpacker::buffer()
1327
- {
1328
- return m_buffer + m_used;
1329
- }
1330
-
1331
- inline std::size_t unpacker::buffer_capacity() const
1332
- {
1333
- return m_free;
1334
- }
1335
-
1336
- inline void unpacker::buffer_consumed(std::size_t size)
1337
- {
1338
- m_used += size;
1339
- m_free -= size;
1340
- }
1341
-
1342
- inline bool unpacker::next(unpacked& result, bool& referenced)
1343
- {
1344
- referenced = false;
1345
- int ret = execute_imp();
1346
- if(ret < 0) {
1347
- throw msgpack::parse_error("parse error");
1348
- }
1349
-
1350
- if(ret == 0) {
1351
- result.zone().reset();
1352
- result.set(object());
1353
- return false;
1354
-
1355
- } else {
1356
- referenced = m_ctx.user().referenced();
1357
- result.zone().reset( release_zone() );
1358
- result.set(data());
1359
- reset();
1360
- return true;
1361
- }
1362
- }
1363
-
1364
- inline bool unpacker::next(unpacked& result)
1365
- {
1366
- bool referenced;
1367
- return next(result, referenced);
1368
- }
1369
-
1370
- inline bool unpacker::next(unpacked* result)
1371
- {
1372
- return next(*result);
1373
- }
1374
-
1375
-
1376
- inline bool unpacker::execute()
1377
- {
1378
- int ret = execute_imp();
1379
- if(ret < 0) {
1380
- throw msgpack::parse_error("parse error");
1381
- } else if(ret == 0) {
1382
- return false;
1383
- } else {
1384
- return true;
1385
- }
1386
- }
1387
-
1388
- inline int unpacker::execute_imp()
1389
- {
1390
- std::size_t off = m_off;
1391
- int ret = m_ctx.execute(m_buffer, m_used, m_off);
1392
- if(m_off > off) {
1393
- m_parsed += m_off - off;
1394
- }
1395
- return ret;
1396
- }
1397
-
1398
- inline msgpack::object const& unpacker::data()
1399
- {
1400
- return m_ctx.data();
1401
- }
1402
-
1403
- inline msgpack::zone* unpacker::release_zone()
1404
- {
1405
- if(!flush_zone()) {
1406
- return nullptr;
1407
- }
1408
-
1409
- msgpack::zone* r = new msgpack::zone;
1410
- msgpack::zone* old = m_z.release();
1411
- m_z.reset(r);
1412
- m_ctx.user().set_zone(*m_z);
1413
-
1414
- return old;
1415
- }
1416
-
1417
- inline void unpacker::reset_zone()
1418
- {
1419
- m_z->clear();
1420
- }
1421
-
1422
- inline bool unpacker::flush_zone()
1423
- {
1424
- if(m_ctx.user().referenced()) {
1425
- try {
1426
- m_z->push_finalizer(&detail::decr_count, m_buffer);
1427
- } catch (...) {
1428
- return false;
1429
- }
1430
- m_ctx.user().set_referenced(false);
1431
-
1432
- detail::incr_count(m_buffer);
1433
- }
1434
-
1435
- return true;
1436
- }
1437
-
1438
- inline void unpacker::reset()
1439
- {
1440
- m_ctx.init();
1441
- // don't reset referenced flag
1442
- m_parsed = 0;
1443
- }
1444
-
1445
- inline std::size_t unpacker::message_size() const
1446
- {
1447
- return m_parsed - m_off + m_used;
1448
- }
1449
-
1450
- inline std::size_t unpacker::parsed_size() const
1451
- {
1452
- return m_parsed;
1453
- }
1454
-
1455
- inline char* unpacker::nonparsed_buffer()
1456
- {
1457
- return m_buffer + m_off;
1458
- }
1459
-
1460
- inline std::size_t unpacker::nonparsed_size() const
1461
- {
1462
- return m_used - m_off;
1463
- }
1464
-
1465
- inline void unpacker::skip_nonparsed_buffer(std::size_t size)
1466
- {
1467
- m_off += size;
1468
- }
1469
-
1470
- inline void unpacker::remove_nonparsed_buffer()
1471
- {
1472
- m_used = m_off;
1473
- }
1474
-
1475
- namespace detail {
1476
-
1477
- inline unpack_return
1478
- unpack_imp(const char* data, std::size_t len, std::size_t& off,
1479
- msgpack::zone& result_zone, msgpack::object& result, bool& referenced,
1480
- unpack_reference_func f = nullptr, void* user_data = nullptr,
1481
- unpack_limit const& limit = unpack_limit())
1482
- {
1483
- std::size_t noff = off;
1484
-
1485
- if(len <= noff) {
1486
- // FIXME
1487
- return UNPACK_CONTINUE;
1488
- }
1489
-
1490
- detail::context ctx(f, user_data, limit);
1491
- ctx.init();
1492
-
1493
- ctx.user().set_zone(result_zone);
1494
- ctx.user().set_referenced(false);
1495
- referenced = false;
1496
-
1497
- int e = ctx.execute(data, len, noff);
1498
- if(e < 0) {
1499
- return UNPACK_PARSE_ERROR;
1500
- }
1501
-
1502
- referenced = ctx.user().referenced();
1503
- off = noff;
1504
-
1505
- if(e == 0) {
1506
- return UNPACK_CONTINUE;
1507
- }
1508
-
1509
- result = ctx.data();
1510
-
1511
- if(noff < len) {
1512
- return UNPACK_EXTRA_BYTES;
1513
- }
1514
-
1515
- return UNPACK_SUCCESS;
1516
- }
1517
-
1518
- } // detail
1519
-
1520
- // reference version
1521
-
1522
- inline unpacked unpack(
1523
- const char* data, std::size_t len, std::size_t& off, bool& referenced,
1524
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1525
- {
1526
- msgpack::object obj;
1527
- msgpack::unique_ptr<msgpack::zone> z(new msgpack::zone);
1528
- referenced = false;
1529
- std::size_t noff = off;
1530
- unpack_return ret = detail::unpack_imp(
1531
- data, len, noff, *z, obj, referenced, f, user_data, limit);
1532
-
1533
- switch(ret) {
1534
- case UNPACK_SUCCESS:
1535
- off = noff;
1536
- return unpacked(obj, msgpack::move(z));
1537
- case UNPACK_EXTRA_BYTES:
1538
- off = noff;
1539
- return unpacked(obj, msgpack::move(z));
1540
- case UNPACK_CONTINUE:
1541
- throw msgpack::insufficient_bytes("insufficient bytes");
1542
- case UNPACK_PARSE_ERROR:
1543
- default:
1544
- throw msgpack::parse_error("parse error");
1545
- }
1546
- return unpacked();
1547
- }
1548
-
1549
- inline unpacked unpack(
1550
- const char* data, std::size_t len, std::size_t& off,
1551
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1552
- {
1553
- bool referenced;
1554
- return unpack(data, len, off, referenced, f, user_data, limit);
1555
- }
1556
-
1557
- inline unpacked unpack(
1558
- const char* data, std::size_t len, bool& referenced,
1559
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1560
- {
1561
- std::size_t off = 0;
1562
- return unpack(data, len, off, referenced, f, user_data, limit);
1563
- }
1564
-
1565
- inline unpacked unpack(
1566
- const char* data, std::size_t len,
1567
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1568
- {
1569
- bool referenced;
1570
- std::size_t off = 0;
1571
- return unpack(data, len, off, referenced, f, user_data, limit);
1572
- }
1573
-
1574
- inline void unpack(unpacked& result,
1575
- const char* data, std::size_t len, std::size_t& off, bool& referenced,
1576
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1577
- {
1578
- msgpack::object obj;
1579
- msgpack::unique_ptr<msgpack::zone> z(new msgpack::zone);
1580
- referenced = false;
1581
- std::size_t noff = off;
1582
- unpack_return ret = detail::unpack_imp(
1583
- data, len, noff, *z, obj, referenced, f, user_data, limit);
1584
-
1585
- switch(ret) {
1586
- case UNPACK_SUCCESS:
1587
- off = noff;
1588
- result.set(obj);
1589
- result.zone() = msgpack::move(z);
1590
- return;
1591
- case UNPACK_EXTRA_BYTES:
1592
- off = noff;
1593
- result.set(obj);
1594
- result.zone() = msgpack::move(z);
1595
- return;
1596
- case UNPACK_CONTINUE:
1597
- throw msgpack::insufficient_bytes("insufficient bytes");
1598
- case UNPACK_PARSE_ERROR:
1599
- default:
1600
- throw msgpack::parse_error("parse error");
1601
- }
1602
- }
1603
-
1604
- inline void unpack(unpacked& result,
1605
- const char* data, std::size_t len, std::size_t& off,
1606
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1607
- {
1608
- bool referenced;
1609
- unpack(result, data, len, off, referenced, f, user_data, limit);
1610
- }
1611
-
1612
- inline void unpack(unpacked& result,
1613
- const char* data, std::size_t len, bool& referenced,
1614
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1615
- {
1616
- std::size_t off = 0;
1617
- unpack(result, data, len, off, referenced, f, user_data, limit);
1618
- }
1619
-
1620
- inline void unpack(unpacked& result,
1621
- const char* data, std::size_t len,
1622
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1623
- {
1624
- bool referenced;
1625
- std::size_t off = 0;
1626
- unpack(result, data, len, off, referenced, f, user_data, limit);
1627
- }
1628
-
1629
-
1630
- inline msgpack::object unpack(
1631
- msgpack::zone& z,
1632
- const char* data, std::size_t len, std::size_t& off, bool& referenced,
1633
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1634
- {
1635
- msgpack::object obj;
1636
- std::size_t noff = off;
1637
- referenced = false;
1638
- unpack_return ret = detail::unpack_imp(
1639
- data, len, noff, z, obj, referenced, f, user_data, limit);
1640
-
1641
- switch(ret) {
1642
- case UNPACK_SUCCESS:
1643
- off = noff;
1644
- return obj;
1645
- case UNPACK_EXTRA_BYTES:
1646
- off = noff;
1647
- return obj;
1648
- case UNPACK_CONTINUE:
1649
- throw msgpack::insufficient_bytes("insufficient bytes");
1650
- case UNPACK_PARSE_ERROR:
1651
- default:
1652
- throw msgpack::parse_error("parse error");
1653
- }
1654
- return obj;
1655
- }
1656
-
1657
- inline msgpack::object unpack(
1658
- msgpack::zone& z,
1659
- const char* data, std::size_t len, std::size_t& off,
1660
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1661
- {
1662
- bool referenced;
1663
- return unpack(z, data, len, off, referenced, f, user_data, limit);
1664
- }
1665
-
1666
- inline msgpack::object unpack(
1667
- msgpack::zone& z,
1668
- const char* data, std::size_t len, bool& referenced,
1669
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1670
- {
1671
- std::size_t off = 0;
1672
- return unpack(z, data, len, off, referenced, f, user_data, limit);
1673
- }
1674
-
1675
- inline msgpack::object unpack(
1676
- msgpack::zone& z,
1677
- const char* data, std::size_t len,
1678
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1679
- {
1680
- bool referenced;
1681
- std::size_t off = 0;
1682
- return unpack(z, data, len, off, referenced, f, user_data, limit);
1683
- }
1684
-
1685
- // obsolete
1686
- // pointer version
1687
- inline void unpack(unpacked* result,
1688
- const char* data, std::size_t len, std::size_t* off, bool* referenced,
1689
- unpack_reference_func f, void* user_data, unpack_limit const& limit)
1690
- {
1691
- if (off)
1692
- if (referenced) unpack(*result, data, len, *off, *referenced, f, user_data, limit);
1693
- else unpack(*result, data, len, *off, f, user_data, limit);
1694
- else
1695
- if (referenced) unpack(*result, data, len, *referenced, f, user_data, limit);
1696
- else unpack(*result, data, len, f, user_data, limit);
1697
- }
1698
-
1699
- inline bool unpacker::default_reference_func(msgpack::type::object_type /*type*/, std::size_t /*len*/, void*)
1700
- {
1701
- return true;
1702
- }
1703
-
1704
- /// @cond
1705
- } // MSGPACK_API_VERSION_NAMESPACE(v1)
1706
- /// @endcond
1707
-
1708
- } // namespace msgpack
1709
-
1710
-
1711
- #endif /* msgpack/unpack.hpp */
18
+ #endif // MSGPACK_UNPACK_HPP