simdjson 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2541) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +1 -1
  3. data/.travis.yml +10 -3
  4. data/README.md +2 -0
  5. data/Rakefile +1 -1
  6. data/benchmark/run_benchmark.rb +4 -0
  7. data/ext/simdjson/extconf.rb +1 -1
  8. data/ext/simdjson/simdjson.cpp +34 -41
  9. data/lib/simdjson/version.rb +1 -1
  10. data/simdjson.gemspec +2 -1
  11. data/vendor/simdjson/AUTHORS +2 -1
  12. data/vendor/simdjson/CMakeFiles/3.16.3/CompilerIdC/a.out +0 -0
  13. data/vendor/simdjson/CMakeFiles/3.16.3/CompilerIdCXX/a.out +0 -0
  14. data/vendor/simdjson/CMakeLists.txt +68 -39
  15. data/vendor/simdjson/CONTRIBUTING.md +92 -0
  16. data/vendor/simdjson/CONTRIBUTORS +12 -0
  17. data/vendor/simdjson/Dockerfile +88 -10
  18. data/vendor/simdjson/Doxyfile +2578 -0
  19. data/vendor/simdjson/HACKING.md +652 -0
  20. data/vendor/simdjson/README.md +156 -547
  21. data/vendor/simdjson/RELEASES.md +50 -0
  22. data/vendor/simdjson/benchmark/CMakeLists.txt +37 -8
  23. data/vendor/simdjson/benchmark/Dockerfile +19 -0
  24. data/vendor/simdjson/benchmark/bench_dom_api.cpp +552 -0
  25. data/vendor/simdjson/benchmark/bench_parse_call.cpp +162 -0
  26. data/vendor/simdjson/benchmark/benchfeatures.cpp +466 -0
  27. data/vendor/simdjson/benchmark/benchmark.h +62 -179
  28. data/vendor/simdjson/benchmark/benchmarker.h +522 -0
  29. data/vendor/simdjson/benchmark/checkperf.cmake +101 -0
  30. data/vendor/simdjson/benchmark/distinctuseridcompetition.cpp +108 -49
  31. data/vendor/simdjson/benchmark/event_counter.h +152 -0
  32. data/vendor/simdjson/benchmark/get_corpus_benchmark.cpp +57 -0
  33. data/vendor/simdjson/benchmark/linux/linux-perf-events.h +24 -16
  34. data/vendor/simdjson/benchmark/minifiercompetition.cpp +47 -44
  35. data/vendor/simdjson/benchmark/parse.cpp +174 -345
  36. data/vendor/simdjson/benchmark/parse_stream.cpp +191 -0
  37. data/vendor/simdjson/benchmark/parseandstatcompetition.cpp +260 -77
  38. data/vendor/simdjson/benchmark/parsingcompetition.cpp +138 -75
  39. data/vendor/simdjson/benchmark/perfdiff.cpp +114 -0
  40. data/vendor/simdjson/benchmark/statisticalmodel.cpp +75 -76
  41. data/vendor/simdjson/cmake/add_cpp_test.cmake +49 -0
  42. data/vendor/simdjson/cmake/simdjson-flags.cmake +155 -0
  43. data/vendor/simdjson/cmake/simdjson-user-cmakecache.cmake +24 -0
  44. data/vendor/simdjson/dependencies/CMakeLists.txt +89 -0
  45. data/vendor/simdjson/dependencies/benchmark/AUTHORS +56 -0
  46. data/vendor/simdjson/dependencies/benchmark/BUILD.bazel +44 -0
  47. data/vendor/simdjson/dependencies/benchmark/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  48. data/vendor/simdjson/dependencies/benchmark/CMakeFiles/progress.marks +1 -0
  49. data/vendor/simdjson/dependencies/benchmark/CMakeLists.txt +279 -0
  50. data/vendor/simdjson/dependencies/benchmark/CONTRIBUTING.md +58 -0
  51. data/vendor/simdjson/dependencies/benchmark/CONTRIBUTORS +78 -0
  52. data/vendor/simdjson/dependencies/benchmark/CTestTestfile.cmake +7 -0
  53. data/vendor/simdjson/dependencies/benchmark/LICENSE +202 -0
  54. data/vendor/simdjson/dependencies/benchmark/Makefile +220 -0
  55. data/vendor/simdjson/dependencies/benchmark/README.md +1290 -0
  56. data/vendor/simdjson/dependencies/benchmark/WORKSPACE +15 -0
  57. data/vendor/simdjson/dependencies/benchmark/_config.yml +1 -0
  58. data/vendor/simdjson/dependencies/benchmark/appveyor.yml +50 -0
  59. data/vendor/simdjson/dependencies/benchmark/cmake/AddCXXCompilerFlag.cmake +74 -0
  60. data/vendor/simdjson/dependencies/benchmark/cmake/CXXFeatureCheck.cmake +64 -0
  61. data/vendor/simdjson/dependencies/benchmark/cmake/Config.cmake.in +1 -0
  62. data/vendor/simdjson/dependencies/benchmark/cmake/GetGitVersion.cmake +54 -0
  63. data/vendor/simdjson/dependencies/benchmark/cmake/GoogleTest.cmake +41 -0
  64. data/vendor/simdjson/dependencies/benchmark/cmake/GoogleTest.cmake.in +58 -0
  65. data/vendor/simdjson/dependencies/benchmark/cmake/Modules/FindLLVMAr.cmake +16 -0
  66. data/vendor/simdjson/dependencies/benchmark/cmake/Modules/FindLLVMNm.cmake +16 -0
  67. data/vendor/simdjson/dependencies/benchmark/cmake/Modules/FindLLVMRanLib.cmake +15 -0
  68. data/vendor/simdjson/dependencies/benchmark/cmake/benchmark.pc.in +12 -0
  69. data/vendor/simdjson/dependencies/benchmark/cmake/gnu_posix_regex.cpp +12 -0
  70. data/vendor/simdjson/dependencies/benchmark/cmake/llvm-toolchain.cmake +8 -0
  71. data/vendor/simdjson/dependencies/benchmark/cmake/posix_regex.cpp +14 -0
  72. data/vendor/simdjson/dependencies/benchmark/cmake/split_list.cmake +3 -0
  73. data/vendor/simdjson/dependencies/benchmark/cmake/std_regex.cpp +10 -0
  74. data/vendor/simdjson/dependencies/benchmark/cmake/steady_clock.cpp +7 -0
  75. data/vendor/simdjson/dependencies/benchmark/cmake/thread_safety_attributes.cpp +4 -0
  76. data/vendor/simdjson/dependencies/benchmark/cmake_install.cmake +45 -0
  77. data/vendor/simdjson/dependencies/benchmark/conan/CMakeLists.txt +7 -0
  78. data/vendor/simdjson/dependencies/benchmark/conan/test_package/CMakeLists.txt +10 -0
  79. data/vendor/simdjson/dependencies/benchmark/conan/test_package/conanfile.py +19 -0
  80. data/vendor/simdjson/dependencies/benchmark/conan/test_package/test_package.cpp +18 -0
  81. data/vendor/simdjson/dependencies/benchmark/conanfile.py +79 -0
  82. data/vendor/simdjson/dependencies/benchmark/dependencies.md +18 -0
  83. data/vendor/simdjson/dependencies/benchmark/docs/AssemblyTests.md +147 -0
  84. data/vendor/simdjson/dependencies/benchmark/docs/_config.yml +1 -0
  85. data/vendor/simdjson/dependencies/benchmark/docs/tools.md +199 -0
  86. data/vendor/simdjson/dependencies/benchmark/include/benchmark/benchmark.h +1586 -0
  87. data/vendor/simdjson/dependencies/benchmark/mingw.py +320 -0
  88. data/vendor/simdjson/dependencies/benchmark/releasing.md +16 -0
  89. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  90. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/CXX.includecache +738 -0
  91. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/DependInfo.cmake +47 -0
  92. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/build.make +354 -0
  93. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/cmake_clean.cmake +27 -0
  94. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/cmake_clean_target.cmake +3 -0
  95. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/depend.internal +157 -0
  96. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/depend.make +157 -0
  97. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/flags.make +10 -0
  98. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/link.txt +2 -0
  99. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark.dir/progress.make +20 -0
  100. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/CXX.includecache +40 -0
  101. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/DependInfo.cmake +31 -0
  102. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/build.make +99 -0
  103. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/cmake_clean.cmake +10 -0
  104. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/cmake_clean_target.cmake +3 -0
  105. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/depend.internal +6 -0
  106. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/depend.make +6 -0
  107. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/flags.make +10 -0
  108. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/link.txt +2 -0
  109. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/benchmark_main.dir/progress.make +3 -0
  110. data/vendor/simdjson/dependencies/benchmark/src/CMakeFiles/progress.marks +1 -0
  111. data/vendor/simdjson/dependencies/benchmark/src/CMakeLists.txt +116 -0
  112. data/vendor/simdjson/dependencies/benchmark/src/CTestTestfile.cmake +6 -0
  113. data/vendor/simdjson/dependencies/benchmark/src/Makefile +822 -0
  114. data/vendor/simdjson/dependencies/benchmark/src/arraysize.h +33 -0
  115. data/vendor/simdjson/dependencies/benchmark/src/benchmark.cc +499 -0
  116. data/vendor/simdjson/dependencies/benchmark/src/benchmark_api_internal.cc +15 -0
  117. data/vendor/simdjson/dependencies/benchmark/src/benchmark_api_internal.h +53 -0
  118. data/vendor/simdjson/dependencies/benchmark/src/benchmark_main.cc +17 -0
  119. data/vendor/simdjson/dependencies/benchmark/src/benchmark_name.cc +58 -0
  120. data/vendor/simdjson/dependencies/benchmark/src/benchmark_register.cc +506 -0
  121. data/vendor/simdjson/dependencies/benchmark/src/benchmark_register.h +107 -0
  122. data/vendor/simdjson/dependencies/benchmark/src/benchmark_runner.cc +361 -0
  123. data/vendor/simdjson/dependencies/benchmark/src/benchmark_runner.h +51 -0
  124. data/vendor/simdjson/dependencies/benchmark/src/check.h +82 -0
  125. data/vendor/simdjson/dependencies/benchmark/src/cmake_install.cmake +39 -0
  126. data/vendor/simdjson/dependencies/benchmark/src/colorprint.cc +188 -0
  127. data/vendor/simdjson/dependencies/benchmark/src/colorprint.h +33 -0
  128. data/vendor/simdjson/dependencies/benchmark/src/commandlineflags.cc +228 -0
  129. data/vendor/simdjson/dependencies/benchmark/src/commandlineflags.h +103 -0
  130. data/vendor/simdjson/dependencies/benchmark/src/complexity.cc +238 -0
  131. data/vendor/simdjson/dependencies/benchmark/src/complexity.h +55 -0
  132. data/vendor/simdjson/dependencies/benchmark/src/console_reporter.cc +177 -0
  133. data/vendor/simdjson/dependencies/benchmark/src/counter.cc +80 -0
  134. data/vendor/simdjson/dependencies/benchmark/src/counter.h +32 -0
  135. data/vendor/simdjson/dependencies/benchmark/src/csv_reporter.cc +154 -0
  136. data/vendor/simdjson/dependencies/benchmark/src/cycleclock.h +192 -0
  137. data/vendor/simdjson/dependencies/benchmark/src/internal_macros.h +94 -0
  138. data/vendor/simdjson/dependencies/benchmark/src/json_reporter.cc +253 -0
  139. data/vendor/simdjson/dependencies/benchmark/src/log.h +74 -0
  140. data/vendor/simdjson/dependencies/benchmark/src/mutex.h +155 -0
  141. data/vendor/simdjson/dependencies/benchmark/src/re.h +158 -0
  142. data/vendor/simdjson/dependencies/benchmark/src/reporter.cc +105 -0
  143. data/vendor/simdjson/dependencies/benchmark/src/sleep.cc +51 -0
  144. data/vendor/simdjson/dependencies/benchmark/src/sleep.h +15 -0
  145. data/vendor/simdjson/dependencies/benchmark/src/statistics.cc +193 -0
  146. data/vendor/simdjson/dependencies/benchmark/src/statistics.h +37 -0
  147. data/vendor/simdjson/dependencies/benchmark/src/string_util.cc +252 -0
  148. data/vendor/simdjson/dependencies/benchmark/src/string_util.h +59 -0
  149. data/vendor/simdjson/dependencies/benchmark/src/sysinfo.cc +708 -0
  150. data/vendor/simdjson/dependencies/benchmark/src/thread_manager.h +64 -0
  151. data/vendor/simdjson/dependencies/benchmark/src/thread_timer.h +86 -0
  152. data/vendor/simdjson/dependencies/benchmark/src/timers.cc +217 -0
  153. data/vendor/simdjson/dependencies/benchmark/src/timers.h +48 -0
  154. data/vendor/simdjson/dependencies/benchmark/test/AssemblyTests.cmake +46 -0
  155. data/vendor/simdjson/dependencies/benchmark/test/BUILD +73 -0
  156. data/vendor/simdjson/dependencies/benchmark/test/CMakeLists.txt +260 -0
  157. data/vendor/simdjson/dependencies/benchmark/test/basic_test.cc +136 -0
  158. data/vendor/simdjson/dependencies/benchmark/test/benchmark_gtest.cc +128 -0
  159. data/vendor/simdjson/dependencies/benchmark/test/benchmark_name_gtest.cc +74 -0
  160. data/vendor/simdjson/dependencies/benchmark/test/benchmark_test.cc +245 -0
  161. data/vendor/simdjson/dependencies/benchmark/test/clobber_memory_assembly_test.cc +64 -0
  162. data/vendor/simdjson/dependencies/benchmark/test/commandlineflags_gtest.cc +201 -0
  163. data/vendor/simdjson/dependencies/benchmark/test/complexity_test.cc +213 -0
  164. data/vendor/simdjson/dependencies/benchmark/test/cxx03_test.cc +63 -0
  165. data/vendor/simdjson/dependencies/benchmark/test/diagnostics_test.cc +80 -0
  166. data/vendor/simdjson/dependencies/benchmark/test/display_aggregates_only_test.cc +43 -0
  167. data/vendor/simdjson/dependencies/benchmark/test/donotoptimize_assembly_test.cc +163 -0
  168. data/vendor/simdjson/dependencies/benchmark/test/donotoptimize_test.cc +52 -0
  169. data/vendor/simdjson/dependencies/benchmark/test/filter_test.cc +104 -0
  170. data/vendor/simdjson/dependencies/benchmark/test/fixture_test.cc +49 -0
  171. data/vendor/simdjson/dependencies/benchmark/test/internal_threading_test.cc +184 -0
  172. data/vendor/simdjson/dependencies/benchmark/test/link_main_test.cc +8 -0
  173. data/vendor/simdjson/dependencies/benchmark/test/map_test.cc +57 -0
  174. data/vendor/simdjson/dependencies/benchmark/test/memory_manager_test.cc +44 -0
  175. data/vendor/simdjson/dependencies/benchmark/test/multiple_ranges_test.cc +96 -0
  176. data/vendor/simdjson/dependencies/benchmark/test/options_test.cc +75 -0
  177. data/vendor/simdjson/dependencies/benchmark/test/output_test.h +213 -0
  178. data/vendor/simdjson/dependencies/benchmark/test/output_test_helper.cc +515 -0
  179. data/vendor/simdjson/dependencies/benchmark/test/register_benchmark_test.cc +184 -0
  180. data/vendor/simdjson/dependencies/benchmark/test/report_aggregates_only_test.cc +39 -0
  181. data/vendor/simdjson/dependencies/benchmark/test/reporter_output_test.cc +748 -0
  182. data/vendor/simdjson/dependencies/benchmark/test/skip_with_error_test.cc +189 -0
  183. data/vendor/simdjson/dependencies/benchmark/test/state_assembly_test.cc +68 -0
  184. data/vendor/simdjson/dependencies/benchmark/test/statistics_gtest.cc +28 -0
  185. data/vendor/simdjson/dependencies/benchmark/test/string_util_gtest.cc +153 -0
  186. data/vendor/simdjson/dependencies/benchmark/test/templated_fixture_test.cc +28 -0
  187. data/vendor/simdjson/dependencies/benchmark/test/user_counters_tabular_test.cc +285 -0
  188. data/vendor/simdjson/dependencies/benchmark/test/user_counters_test.cc +531 -0
  189. data/vendor/simdjson/dependencies/benchmark/test/user_counters_thousands_test.cc +173 -0
  190. data/vendor/simdjson/dependencies/benchmark/tools/compare.py +408 -0
  191. data/vendor/simdjson/dependencies/benchmark/tools/gbench/__init__.py +8 -0
  192. data/vendor/simdjson/dependencies/benchmark/tools/gbench/report.py +541 -0
  193. data/vendor/simdjson/dependencies/benchmark/tools/gbench/util.py +164 -0
  194. data/vendor/simdjson/dependencies/benchmark/tools/strip_asm.py +151 -0
  195. data/vendor/simdjson/dependencies/cJSON/CHANGELOG.md +375 -0
  196. data/vendor/simdjson/dependencies/cJSON/CMakeLists.txt +251 -0
  197. data/vendor/simdjson/dependencies/cJSON/CONTRIBUTORS.md +51 -0
  198. data/vendor/simdjson/dependencies/cJSON/LICENSE +20 -0
  199. data/vendor/simdjson/dependencies/cJSON/Makefile +157 -0
  200. data/vendor/simdjson/dependencies/cJSON/README.md +533 -0
  201. data/vendor/simdjson/dependencies/cJSON/appveyor.yml +86 -0
  202. data/vendor/simdjson/dependencies/cJSON/cJSON.c +2936 -0
  203. data/vendor/simdjson/dependencies/cJSON/cJSON.h +285 -0
  204. data/vendor/simdjson/dependencies/cJSON/cJSON_Utils.c +1450 -0
  205. data/vendor/simdjson/dependencies/cJSON/cJSON_Utils.h +88 -0
  206. data/vendor/simdjson/dependencies/cJSON/fuzzing/CMakeLists.txt +28 -0
  207. data/vendor/simdjson/dependencies/cJSON/fuzzing/afl-prepare-linux.sh +5 -0
  208. data/vendor/simdjson/dependencies/cJSON/fuzzing/afl.c +176 -0
  209. data/vendor/simdjson/dependencies/cJSON/fuzzing/afl.sh +9 -0
  210. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test1 +22 -0
  211. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test10 +1 -0
  212. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test11 +8 -0
  213. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test2 +11 -0
  214. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test3 +26 -0
  215. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test3.bu +26 -0
  216. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test3.uf +26 -0
  217. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test3.uu +26 -0
  218. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test4 +88 -0
  219. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test5 +27 -0
  220. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test6 +16 -0
  221. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test7 +22 -0
  222. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test8 +13 -0
  223. data/vendor/simdjson/dependencies/cJSON/fuzzing/inputs/test9 +5 -0
  224. data/vendor/simdjson/dependencies/cJSON/fuzzing/json.dict +47 -0
  225. data/vendor/simdjson/dependencies/cJSON/library_config/cJSONConfig.cmake.in +29 -0
  226. data/vendor/simdjson/dependencies/cJSON/library_config/cJSONConfigVersion.cmake.in +11 -0
  227. data/vendor/simdjson/dependencies/cJSON/library_config/libcjson.pc.in +10 -0
  228. data/vendor/simdjson/dependencies/cJSON/library_config/libcjson_utils.pc.in +10 -0
  229. data/vendor/simdjson/dependencies/cJSON/test.c +268 -0
  230. data/vendor/simdjson/dependencies/cJSON/tests/CMakeLists.txt +115 -0
  231. data/vendor/simdjson/dependencies/cJSON/tests/cjson_add.c +422 -0
  232. data/vendor/simdjson/dependencies/cJSON/tests/common.h +122 -0
  233. data/vendor/simdjson/dependencies/cJSON/tests/compare_tests.c +205 -0
  234. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test1 +22 -0
  235. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test1.expected +22 -0
  236. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test10 +1 -0
  237. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test10.expected +1 -0
  238. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test11 +8 -0
  239. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test11.expected +10 -0
  240. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test2 +11 -0
  241. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test2.expected +18 -0
  242. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test3 +26 -0
  243. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test3.expected +28 -0
  244. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test4 +88 -0
  245. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test4.expected +94 -0
  246. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test5 +27 -0
  247. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test5.expected +54 -0
  248. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test6 +16 -0
  249. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test7 +22 -0
  250. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test7.expected +19 -0
  251. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test8 +13 -0
  252. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test8.expected +13 -0
  253. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test9 +5 -0
  254. data/vendor/simdjson/dependencies/cJSON/tests/inputs/test9.expected +1 -0
  255. data/vendor/simdjson/dependencies/cJSON/tests/json-patch-tests/README.md +75 -0
  256. data/vendor/simdjson/dependencies/cJSON/tests/json_patch_tests.c +243 -0
  257. data/vendor/simdjson/dependencies/cJSON/tests/misc_tests.c +579 -0
  258. data/vendor/simdjson/dependencies/cJSON/tests/misc_utils_tests.c +80 -0
  259. data/vendor/simdjson/dependencies/cJSON/tests/old_utils_tests.c +205 -0
  260. data/vendor/simdjson/dependencies/cJSON/tests/parse_array.c +166 -0
  261. data/vendor/simdjson/dependencies/cJSON/tests/parse_examples.c +214 -0
  262. data/vendor/simdjson/dependencies/cJSON/tests/parse_hex4.c +73 -0
  263. data/vendor/simdjson/dependencies/cJSON/tests/parse_number.c +110 -0
  264. data/vendor/simdjson/dependencies/cJSON/tests/parse_object.c +176 -0
  265. data/vendor/simdjson/dependencies/cJSON/tests/parse_string.c +135 -0
  266. data/vendor/simdjson/dependencies/cJSON/tests/parse_value.c +112 -0
  267. data/vendor/simdjson/dependencies/cJSON/tests/parse_with_opts.c +112 -0
  268. data/vendor/simdjson/dependencies/cJSON/tests/print_array.c +100 -0
  269. data/vendor/simdjson/dependencies/cJSON/tests/print_number.c +105 -0
  270. data/vendor/simdjson/dependencies/cJSON/tests/print_object.c +101 -0
  271. data/vendor/simdjson/dependencies/cJSON/tests/print_string.c +78 -0
  272. data/vendor/simdjson/dependencies/cJSON/tests/print_value.c +107 -0
  273. data/vendor/simdjson/dependencies/cJSON/tests/readme_examples.c +258 -0
  274. data/vendor/simdjson/dependencies/cJSON/tests/unity/README.md +231 -0
  275. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/colour_prompt.rb +118 -0
  276. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/colour_reporter.rb +39 -0
  277. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/generate_config.yml +36 -0
  278. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/generate_module.rb +308 -0
  279. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/generate_test_runner.rb +454 -0
  280. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/parse_output.rb +220 -0
  281. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/stylize_as_junit.rb +252 -0
  282. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/test_file_filter.rb +25 -0
  283. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/type_sanitizer.rb +6 -0
  284. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/unity_test_summary.py +139 -0
  285. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/unity_test_summary.rb +136 -0
  286. data/vendor/simdjson/dependencies/cJSON/tests/unity/auto/unity_to_junit.py +146 -0
  287. data/vendor/simdjson/dependencies/cJSON/tests/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
  288. data/vendor/simdjson/dependencies/cJSON/tests/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  289. data/vendor/simdjson/dependencies/cJSON/tests/unity/docs/UnityAssertionsReference.md +770 -0
  290. data/vendor/simdjson/dependencies/cJSON/tests/unity/docs/UnityConfigurationGuide.md +435 -0
  291. data/vendor/simdjson/dependencies/cJSON/tests/unity/docs/UnityGettingStartedGuide.md +191 -0
  292. data/vendor/simdjson/dependencies/cJSON/tests/unity/docs/UnityHelperScriptsGuide.md +254 -0
  293. data/vendor/simdjson/dependencies/cJSON/tests/unity/docs/license.txt +21 -0
  294. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/makefile +71 -0
  295. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/readme.txt +5 -0
  296. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/src/ProductionCode.c +24 -0
  297. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/src/ProductionCode.h +3 -0
  298. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/src/ProductionCode2.c +11 -0
  299. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/src/ProductionCode2.h +2 -0
  300. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c +62 -0
  301. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c +31 -0
  302. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  303. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  304. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/makefile +70 -0
  305. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/readme.txt +5 -0
  306. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/src/ProductionCode.c +24 -0
  307. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/src/ProductionCode.h +3 -0
  308. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/src/ProductionCode2.c +11 -0
  309. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/src/ProductionCode2.h +2 -0
  310. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c +64 -0
  311. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c +33 -0
  312. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  313. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  314. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  315. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/helper/UnityHelper.c +10 -0
  316. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/helper/UnityHelper.h +12 -0
  317. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/rakefile.rb +43 -0
  318. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/rakefile_helper.rb +249 -0
  319. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/readme.txt +13 -0
  320. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/src/ProductionCode.c +24 -0
  321. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/src/ProductionCode.h +3 -0
  322. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/src/ProductionCode2.c +11 -0
  323. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/src/ProductionCode2.h +2 -0
  324. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/target_gcc_32.yml +46 -0
  325. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c +62 -0
  326. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c +31 -0
  327. data/vendor/simdjson/dependencies/cJSON/tests/unity/examples/unity_config.h +239 -0
  328. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/eclipse/error_parsers.txt +26 -0
  329. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/rakefile.rb +48 -0
  330. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/rakefile_helper.rb +178 -0
  331. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/readme.txt +9 -0
  332. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/src/unity_fixture.c +432 -0
  333. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/src/unity_fixture.h +83 -0
  334. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/src/unity_fixture_internals.h +51 -0
  335. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +47 -0
  336. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/test/Makefile +75 -0
  337. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/test/main/AllTests.c +22 -0
  338. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c +39 -0
  339. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c +543 -0
  340. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c +57 -0
  341. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c +57 -0
  342. data/vendor/simdjson/dependencies/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  343. data/vendor/simdjson/dependencies/cJSON/tests/unity/release/build.info +2 -0
  344. data/vendor/simdjson/dependencies/cJSON/tests/unity/release/version.info +2 -0
  345. data/vendor/simdjson/dependencies/cJSON/tests/unity/src/unity.c +1570 -0
  346. data/vendor/simdjson/dependencies/cJSON/tests/unity/src/unity.h +503 -0
  347. data/vendor/simdjson/dependencies/cJSON/tests/unity/src/unity_internals.h +870 -0
  348. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/Makefile +66 -0
  349. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_cmd.c +61 -0
  350. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_def.c +57 -0
  351. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_head1.c +55 -0
  352. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_head1.h +15 -0
  353. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c +80 -0
  354. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_def.c +76 -0
  355. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c +75 -0
  356. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_head1.h +13 -0
  357. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c +89 -0
  358. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c +89 -0
  359. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_param.c +77 -0
  360. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c +89 -0
  361. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c +89 -0
  362. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c +90 -0
  363. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_new1.c +67 -0
  364. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_new2.c +70 -0
  365. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_param.c +58 -0
  366. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_run1.c +67 -0
  367. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_run2.c +70 -0
  368. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/expectdata/testsample_yaml.c +71 -0
  369. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/rakefile +125 -0
  370. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/rakefile_helper.rb +260 -0
  371. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
  372. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/clang_file.yml +78 -0
  373. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/clang_strict.yml +78 -0
  374. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/gcc_32.yml +49 -0
  375. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/gcc_64.yml +50 -0
  376. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/gcc_auto_limits.yml +47 -0
  377. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/gcc_auto_stdint.yml +59 -0
  378. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/gcc_manual_math.yml +47 -0
  379. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/hitech_picc18.yml +101 -0
  380. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/iar_arm_v4.yml +90 -0
  381. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/iar_arm_v5.yml +80 -0
  382. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/iar_arm_v5_3.yml +80 -0
  383. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +94 -0
  384. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/iar_cortexm3_v5.yml +84 -0
  385. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/iar_msp430.yml +95 -0
  386. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/targets/iar_sh2a_v6.yml +86 -0
  387. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/testdata/CException.h +11 -0
  388. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/testdata/Defs.h +8 -0
  389. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/testdata/cmock.h +14 -0
  390. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/testdata/mockMock.h +13 -0
  391. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/testdata/testRunnerGenerator.c +183 -0
  392. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c +67 -0
  393. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
  394. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/tests/test_generate_test_runner.rb +1252 -0
  395. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/tests/testparameterized.c +110 -0
  396. data/vendor/simdjson/dependencies/cJSON/tests/unity/test/tests/testunity.c +5337 -0
  397. data/vendor/simdjson/dependencies/cJSON/tests/unity_setup.c +3 -0
  398. data/vendor/simdjson/dependencies/cJSON/valgrind.supp +6 -0
  399. data/vendor/simdjson/dependencies/cxxopts/CHANGELOG.md +97 -0
  400. data/vendor/simdjson/dependencies/cxxopts/CMakeLists.txt +108 -0
  401. data/vendor/simdjson/dependencies/cxxopts/INSTALL +23 -0
  402. data/vendor/simdjson/dependencies/cxxopts/LICENSE +19 -0
  403. data/vendor/simdjson/dependencies/cxxopts/README.md +208 -0
  404. data/vendor/simdjson/dependencies/cxxopts/cxxopts-config.cmake.in +4 -0
  405. data/vendor/simdjson/dependencies/cxxopts/include/cxxopts.hpp +2193 -0
  406. data/vendor/simdjson/dependencies/cxxopts/src/CMakeLists.txt +24 -0
  407. data/vendor/simdjson/dependencies/cxxopts/src/example.cpp +167 -0
  408. data/vendor/simdjson/dependencies/cxxopts/test/CMakeLists.txt +35 -0
  409. data/vendor/simdjson/dependencies/cxxopts/test/add-subdirectory-test/CMakeLists.txt +11 -0
  410. data/vendor/simdjson/dependencies/cxxopts/test/catch.hpp +10460 -0
  411. data/vendor/simdjson/dependencies/cxxopts/test/find-package-test/CMakeLists.txt +11 -0
  412. data/vendor/simdjson/dependencies/cxxopts/test/link_a.cpp +6 -0
  413. data/vendor/simdjson/dependencies/cxxopts/test/link_b.cpp +1 -0
  414. data/vendor/simdjson/dependencies/cxxopts/test/main.cpp +2 -0
  415. data/vendor/simdjson/dependencies/cxxopts/test/options.cpp +776 -0
  416. data/vendor/simdjson/dependencies/fastjson/LICENSE.txt +24 -0
  417. data/vendor/simdjson/dependencies/fastjson/Makefile +5 -0
  418. data/vendor/simdjson/dependencies/fastjson/README.md +68 -0
  419. data/vendor/simdjson/dependencies/fastjson/SConstruct +44 -0
  420. data/vendor/simdjson/dependencies/fastjson/examples/address_book/Makefile +2 -0
  421. data/vendor/simdjson/dependencies/fastjson/examples/address_book/README.markdown +5 -0
  422. data/vendor/simdjson/dependencies/fastjson/examples/address_book/address_book.cpp +166 -0
  423. data/vendor/simdjson/dependencies/fastjson/include/fastjson/core.h +146 -0
  424. data/vendor/simdjson/dependencies/fastjson/include/fastjson/dom.h +799 -0
  425. data/vendor/simdjson/dependencies/fastjson/include/fastjson/error.h +64 -0
  426. data/vendor/simdjson/dependencies/fastjson/include/fastjson/fastjson.h +161 -0
  427. data/vendor/simdjson/dependencies/fastjson/include/fastjson/utils.h +62 -0
  428. data/vendor/simdjson/dependencies/fastjson/src/fastjson.cpp +1016 -0
  429. data/vendor/simdjson/dependencies/fastjson/src/fastjson2.cpp +440 -0
  430. data/vendor/simdjson/dependencies/fastjson/src/fastjson_dom.cpp +165 -0
  431. data/vendor/simdjson/dependencies/fastjson/tests/00-bug-00-bad-parse.cpp +59 -0
  432. data/vendor/simdjson/dependencies/fastjson/tests/00-bug-01-string-roundtrip.cpp +88 -0
  433. data/vendor/simdjson/dependencies/fastjson/tests/00-bug-02-unicode-escape.cpp +66 -0
  434. data/vendor/simdjson/dependencies/fastjson/tests/01-dom-00-dict-const-get.cpp +35 -0
  435. data/vendor/simdjson/dependencies/fastjson/tests/01-dom-01-vector-from-json.cpp +36 -0
  436. data/vendor/simdjson/dependencies/fastjson/tests/Makefile +4 -0
  437. data/vendor/simdjson/dependencies/fastjson/tests/clone_token.cpp +49 -0
  438. data/vendor/simdjson/dependencies/fastjson/tests/dom_from_string.cpp +77 -0
  439. data/vendor/simdjson/dependencies/fastjson/tests/misc/dynamic_test.cpp +49 -0
  440. data/vendor/simdjson/dependencies/fastjson/tests/misc/from_file.cpp +57 -0
  441. data/vendor/simdjson/dependencies/fastjson/tests/misc/speed_test.cpp +127 -0
  442. data/vendor/simdjson/dependencies/fastjson/tests/misc/speed_test_boost.cpp +115 -0
  443. data/vendor/simdjson/dependencies/fastjson/tests/saruconf +3 -0
  444. data/vendor/simdjson/dependencies/fastjson/tests/test0.cpp +385 -0
  445. data/vendor/simdjson/dependencies/fastjson/tests/test1.cpp +237 -0
  446. data/vendor/simdjson/dependencies/fastjson/tests/test2.cpp +301 -0
  447. data/vendor/simdjson/dependencies/fastjson/tests/test_permissive_count.cpp +100 -0
  448. data/vendor/simdjson/dependencies/fastjson/tests/test_permissive_parse.cpp +83 -0
  449. data/vendor/simdjson/dependencies/fastjson/tests/test_permissive_roundtrip.cpp +64 -0
  450. data/vendor/simdjson/dependencies/fastjson/tests/test_utils.cpp +176 -0
  451. data/vendor/simdjson/dependencies/gason/CMakeLists.txt +16 -0
  452. data/vendor/simdjson/dependencies/gason/LICENSE +20 -0
  453. data/vendor/simdjson/dependencies/gason/README.md +167 -0
  454. data/vendor/simdjson/dependencies/gason/data/download.sh +5 -0
  455. data/vendor/simdjson/dependencies/gason/ruberoid/AndroidManifest.xml +32 -0
  456. data/vendor/simdjson/dependencies/gason/ruberoid/res/values/strings.xml +4 -0
  457. data/vendor/simdjson/dependencies/gason/src/benchmark.cpp +257 -0
  458. data/vendor/simdjson/dependencies/gason/src/gason.cpp +334 -0
  459. data/vendor/simdjson/dependencies/gason/src/gason.h +135 -0
  460. data/vendor/simdjson/dependencies/gason/src/pretty-print.cpp +192 -0
  461. data/vendor/simdjson/dependencies/gason/src/test-suite.cpp +146 -0
  462. data/vendor/simdjson/dependencies/jsmn/LICENSE +20 -0
  463. data/vendor/simdjson/dependencies/jsmn/Makefile +41 -0
  464. data/vendor/simdjson/dependencies/jsmn/README.md +168 -0
  465. data/vendor/simdjson/dependencies/jsmn/example/jsondump.c +126 -0
  466. data/vendor/simdjson/dependencies/jsmn/example/simple.c +76 -0
  467. data/vendor/simdjson/dependencies/jsmn/jsmn.c +314 -0
  468. data/vendor/simdjson/dependencies/jsmn/jsmn.h +76 -0
  469. data/vendor/simdjson/dependencies/jsmn/test/test.h +27 -0
  470. data/vendor/simdjson/dependencies/jsmn/test/tests.c +407 -0
  471. data/vendor/simdjson/dependencies/jsmn/test/testutil.h +94 -0
  472. data/vendor/simdjson/dependencies/json/CMakeLists.txt +131 -0
  473. data/vendor/simdjson/dependencies/json/CODE_OF_CONDUCT.md +46 -0
  474. data/vendor/simdjson/dependencies/json/ChangeLog.md +1670 -0
  475. data/vendor/simdjson/dependencies/json/LICENSE.MIT +21 -0
  476. data/vendor/simdjson/dependencies/json/Makefile +629 -0
  477. data/vendor/simdjson/dependencies/json/README.md +1370 -0
  478. data/vendor/simdjson/dependencies/json/appveyor.yml +111 -0
  479. data/vendor/simdjson/dependencies/json/benchmarks/CMakeLists.txt +28 -0
  480. data/vendor/simdjson/dependencies/json/benchmarks/src/benchmarks.cpp +109 -0
  481. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/AUTHORS +46 -0
  482. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/BUILD.bazel +42 -0
  483. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/CMakeLists.txt +251 -0
  484. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/CONTRIBUTING.md +58 -0
  485. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/CONTRIBUTORS +65 -0
  486. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/LICENSE +202 -0
  487. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/README.md +950 -0
  488. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/WORKSPACE +7 -0
  489. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/appveyor.yml +56 -0
  490. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/AddCXXCompilerFlag.cmake +74 -0
  491. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/CXXFeatureCheck.cmake +64 -0
  492. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/Config.cmake.in +1 -0
  493. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/GetGitVersion.cmake +54 -0
  494. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/HandleGTest.cmake +113 -0
  495. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/Modules/FindLLVMAr.cmake +16 -0
  496. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/Modules/FindLLVMNm.cmake +16 -0
  497. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/Modules/FindLLVMRanLib.cmake +15 -0
  498. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/benchmark.pc.in +11 -0
  499. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/gnu_posix_regex.cpp +12 -0
  500. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/llvm-toolchain.cmake +8 -0
  501. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/posix_regex.cpp +14 -0
  502. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/split_list.cmake +3 -0
  503. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/std_regex.cpp +10 -0
  504. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/steady_clock.cpp +7 -0
  505. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/cmake/thread_safety_attributes.cpp +4 -0
  506. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/docs/AssemblyTests.md +147 -0
  507. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/docs/tools.md +242 -0
  508. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/include/benchmark/benchmark.h +1456 -0
  509. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/mingw.py +320 -0
  510. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/releasing.md +16 -0
  511. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/CMakeLists.txt +105 -0
  512. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/arraysize.h +33 -0
  513. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/benchmark.cc +630 -0
  514. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/benchmark_api_internal.h +47 -0
  515. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/benchmark_main.cc +17 -0
  516. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/benchmark_register.cc +461 -0
  517. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/benchmark_register.h +33 -0
  518. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/check.h +79 -0
  519. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/colorprint.cc +188 -0
  520. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/colorprint.h +33 -0
  521. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/commandlineflags.cc +218 -0
  522. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/commandlineflags.h +79 -0
  523. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/complexity.cc +220 -0
  524. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/complexity.h +55 -0
  525. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/console_reporter.cc +182 -0
  526. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/counter.cc +68 -0
  527. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/counter.h +26 -0
  528. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/csv_reporter.cc +149 -0
  529. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/cycleclock.h +177 -0
  530. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/internal_macros.h +89 -0
  531. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/json_reporter.cc +205 -0
  532. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/log.h +73 -0
  533. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/mutex.h +155 -0
  534. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/re.h +152 -0
  535. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/reporter.cc +87 -0
  536. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/sleep.cc +51 -0
  537. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/sleep.h +15 -0
  538. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/statistics.cc +178 -0
  539. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/statistics.h +37 -0
  540. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/string_util.cc +172 -0
  541. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/string_util.h +40 -0
  542. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/sysinfo.cc +587 -0
  543. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/thread_manager.h +66 -0
  544. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/thread_timer.h +69 -0
  545. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/timers.cc +217 -0
  546. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/src/timers.h +48 -0
  547. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/tools/compare.py +316 -0
  548. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/tools/compare_bench.py +67 -0
  549. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/tools/gbench/__init__.py +8 -0
  550. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/tools/gbench/report.py +208 -0
  551. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/tools/gbench/util.py +159 -0
  552. data/vendor/simdjson/dependencies/json/benchmarks/thirdparty/benchmark/tools/strip_asm.py +151 -0
  553. data/vendor/simdjson/dependencies/json/cmake/config.cmake.in +15 -0
  554. data/vendor/simdjson/dependencies/json/doc/Doxyfile +335 -0
  555. data/vendor/simdjson/dependencies/json/doc/Makefile +90 -0
  556. data/vendor/simdjson/dependencies/json/doc/avatars.png +0 -0
  557. data/vendor/simdjson/dependencies/json/doc/binary_formats.md +171 -0
  558. data/vendor/simdjson/dependencies/json/doc/css/mylayout.css +26 -0
  559. data/vendor/simdjson/dependencies/json/doc/css/mylayout_docset.css +27 -0
  560. data/vendor/simdjson/dependencies/json/doc/examples/README.cpp +39 -0
  561. data/vendor/simdjson/dependencies/json/doc/examples/README.link +1 -0
  562. data/vendor/simdjson/dependencies/json/doc/examples/README.output +27 -0
  563. data/vendor/simdjson/dependencies/json/doc/examples/array.cpp +19 -0
  564. data/vendor/simdjson/dependencies/json/doc/examples/array.link +1 -0
  565. data/vendor/simdjson/dependencies/json/doc/examples/array.output +4 -0
  566. data/vendor/simdjson/dependencies/json/doc/examples/at__object_t_key_type.cpp +48 -0
  567. data/vendor/simdjson/dependencies/json/doc/examples/at__object_t_key_type.link +1 -0
  568. data/vendor/simdjson/dependencies/json/doc/examples/at__object_t_key_type.output +4 -0
  569. data/vendor/simdjson/dependencies/json/doc/examples/at__object_t_key_type_const.cpp +42 -0
  570. data/vendor/simdjson/dependencies/json/doc/examples/at__object_t_key_type_const.link +1 -0
  571. data/vendor/simdjson/dependencies/json/doc/examples/at__object_t_key_type_const.output +3 -0
  572. data/vendor/simdjson/dependencies/json/doc/examples/at__size_type.cpp +43 -0
  573. data/vendor/simdjson/dependencies/json/doc/examples/at__size_type.link +1 -0
  574. data/vendor/simdjson/dependencies/json/doc/examples/at__size_type.output +4 -0
  575. data/vendor/simdjson/dependencies/json/doc/examples/at__size_type_const.cpp +37 -0
  576. data/vendor/simdjson/dependencies/json/doc/examples/at__size_type_const.link +1 -0
  577. data/vendor/simdjson/dependencies/json/doc/examples/at__size_type_const.output +3 -0
  578. data/vendor/simdjson/dependencies/json/doc/examples/at_json_pointer.cpp +103 -0
  579. data/vendor/simdjson/dependencies/json/doc/examples/at_json_pointer.link +1 -0
  580. data/vendor/simdjson/dependencies/json/doc/examples/at_json_pointer.output +12 -0
  581. data/vendor/simdjson/dependencies/json/doc/examples/at_json_pointer_const.cpp +79 -0
  582. data/vendor/simdjson/dependencies/json/doc/examples/at_json_pointer_const.link +1 -0
  583. data/vendor/simdjson/dependencies/json/doc/examples/at_json_pointer_const.output +9 -0
  584. data/vendor/simdjson/dependencies/json/doc/examples/back.cpp +38 -0
  585. data/vendor/simdjson/dependencies/json/doc/examples/back.link +1 -0
  586. data/vendor/simdjson/dependencies/json/doc/examples/back.output +7 -0
  587. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__CompatibleType.cpp +218 -0
  588. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__CompatibleType.link +1 -0
  589. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__CompatibleType.output +39 -0
  590. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__InputIt_InputIt.cpp +32 -0
  591. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__InputIt_InputIt.link +1 -0
  592. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__InputIt_InputIt.output +4 -0
  593. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__basic_json.cpp +17 -0
  594. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__basic_json.link +1 -0
  595. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__basic_json.output +2 -0
  596. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__copyassignment.cpp +18 -0
  597. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__copyassignment.link +1 -0
  598. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__copyassignment.output +2 -0
  599. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__list_init_t.cpp +21 -0
  600. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__list_init_t.link +1 -0
  601. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__list_init_t.output +5 -0
  602. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__moveconstructor.cpp +17 -0
  603. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__moveconstructor.link +1 -0
  604. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__moveconstructor.output +2 -0
  605. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__nullptr_t.cpp +16 -0
  606. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__nullptr_t.link +1 -0
  607. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__nullptr_t.output +2 -0
  608. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__size_type_basic_json.cpp +18 -0
  609. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__size_type_basic_json.link +1 -0
  610. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__size_type_basic_json.output +3 -0
  611. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value.cpp +30 -0
  612. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value.link +1 -0
  613. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value.output +1 -0
  614. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value_ptr.cpp +30 -0
  615. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value_ptr.link +1 -0
  616. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value_ptr.output +1 -0
  617. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value_t.cpp +25 -0
  618. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value_t.link +1 -0
  619. data/vendor/simdjson/dependencies/json/doc/examples/basic_json__value_t.output +7 -0
  620. data/vendor/simdjson/dependencies/json/doc/examples/begin.cpp +16 -0
  621. data/vendor/simdjson/dependencies/json/doc/examples/begin.link +1 -0
  622. data/vendor/simdjson/dependencies/json/doc/examples/begin.output +1 -0
  623. data/vendor/simdjson/dependencies/json/doc/examples/cbegin.cpp +16 -0
  624. data/vendor/simdjson/dependencies/json/doc/examples/cbegin.link +1 -0
  625. data/vendor/simdjson/dependencies/json/doc/examples/cbegin.output +1 -0
  626. data/vendor/simdjson/dependencies/json/doc/examples/cend.cpp +19 -0
  627. data/vendor/simdjson/dependencies/json/doc/examples/cend.link +1 -0
  628. data/vendor/simdjson/dependencies/json/doc/examples/cend.output +1 -0
  629. data/vendor/simdjson/dependencies/json/doc/examples/clear.cpp +34 -0
  630. data/vendor/simdjson/dependencies/json/doc/examples/clear.link +1 -0
  631. data/vendor/simdjson/dependencies/json/doc/examples/clear.output +7 -0
  632. data/vendor/simdjson/dependencies/json/doc/examples/contains.cpp +17 -0
  633. data/vendor/simdjson/dependencies/json/doc/examples/contains.link +1 -0
  634. data/vendor/simdjson/dependencies/json/doc/examples/contains.output +3 -0
  635. data/vendor/simdjson/dependencies/json/doc/examples/contains_json_pointer.cpp +45 -0
  636. data/vendor/simdjson/dependencies/json/doc/examples/contains_json_pointer.link +1 -0
  637. data/vendor/simdjson/dependencies/json/doc/examples/contains_json_pointer.output +10 -0
  638. data/vendor/simdjson/dependencies/json/doc/examples/count.cpp +18 -0
  639. data/vendor/simdjson/dependencies/json/doc/examples/count.link +1 -0
  640. data/vendor/simdjson/dependencies/json/doc/examples/count.output +2 -0
  641. data/vendor/simdjson/dependencies/json/doc/examples/crbegin.cpp +16 -0
  642. data/vendor/simdjson/dependencies/json/doc/examples/crbegin.link +1 -0
  643. data/vendor/simdjson/dependencies/json/doc/examples/crbegin.output +1 -0
  644. data/vendor/simdjson/dependencies/json/doc/examples/crend.cpp +19 -0
  645. data/vendor/simdjson/dependencies/json/doc/examples/crend.link +1 -0
  646. data/vendor/simdjson/dependencies/json/doc/examples/crend.output +1 -0
  647. data/vendor/simdjson/dependencies/json/doc/examples/diff.cpp +36 -0
  648. data/vendor/simdjson/dependencies/json/doc/examples/diff.link +1 -0
  649. data/vendor/simdjson/dependencies/json/doc/examples/diff.output +25 -0
  650. data/vendor/simdjson/dependencies/json/doc/examples/dump.cpp +48 -0
  651. data/vendor/simdjson/dependencies/json/doc/examples/dump.link +1 -0
  652. data/vendor/simdjson/dependencies/json/doc/examples/dump.output +55 -0
  653. data/vendor/simdjson/dependencies/json/doc/examples/emplace.cpp +31 -0
  654. data/vendor/simdjson/dependencies/json/doc/examples/emplace.link +1 -0
  655. data/vendor/simdjson/dependencies/json/doc/examples/emplace.output +6 -0
  656. data/vendor/simdjson/dependencies/json/doc/examples/emplace_back.cpp +24 -0
  657. data/vendor/simdjson/dependencies/json/doc/examples/emplace_back.link +1 -0
  658. data/vendor/simdjson/dependencies/json/doc/examples/emplace_back.output +4 -0
  659. data/vendor/simdjson/dependencies/json/doc/examples/empty.cpp +30 -0
  660. data/vendor/simdjson/dependencies/json/doc/examples/empty.link +1 -0
  661. data/vendor/simdjson/dependencies/json/doc/examples/empty.output +9 -0
  662. data/vendor/simdjson/dependencies/json/doc/examples/end.cpp +19 -0
  663. data/vendor/simdjson/dependencies/json/doc/examples/end.link +1 -0
  664. data/vendor/simdjson/dependencies/json/doc/examples/end.output +1 -0
  665. data/vendor/simdjson/dependencies/json/doc/examples/erase__IteratorType.cpp +31 -0
  666. data/vendor/simdjson/dependencies/json/doc/examples/erase__IteratorType.link +1 -0
  667. data/vendor/simdjson/dependencies/json/doc/examples/erase__IteratorType.output +6 -0
  668. data/vendor/simdjson/dependencies/json/doc/examples/erase__IteratorType_IteratorType.cpp +31 -0
  669. data/vendor/simdjson/dependencies/json/doc/examples/erase__IteratorType_IteratorType.link +1 -0
  670. data/vendor/simdjson/dependencies/json/doc/examples/erase__IteratorType_IteratorType.output +6 -0
  671. data/vendor/simdjson/dependencies/json/doc/examples/erase__key_type.cpp +18 -0
  672. data/vendor/simdjson/dependencies/json/doc/examples/erase__key_type.link +1 -0
  673. data/vendor/simdjson/dependencies/json/doc/examples/erase__key_type.output +2 -0
  674. data/vendor/simdjson/dependencies/json/doc/examples/erase__size_type.cpp +16 -0
  675. data/vendor/simdjson/dependencies/json/doc/examples/erase__size_type.link +1 -0
  676. data/vendor/simdjson/dependencies/json/doc/examples/erase__size_type.output +1 -0
  677. data/vendor/simdjson/dependencies/json/doc/examples/exception.cpp +20 -0
  678. data/vendor/simdjson/dependencies/json/doc/examples/exception.link +1 -0
  679. data/vendor/simdjson/dependencies/json/doc/examples/exception.output +2 -0
  680. data/vendor/simdjson/dependencies/json/doc/examples/find__key_type.cpp +20 -0
  681. data/vendor/simdjson/dependencies/json/doc/examples/find__key_type.link +1 -0
  682. data/vendor/simdjson/dependencies/json/doc/examples/find__key_type.output +3 -0
  683. data/vendor/simdjson/dependencies/json/doc/examples/flatten.cpp +32 -0
  684. data/vendor/simdjson/dependencies/json/doc/examples/flatten.link +1 -0
  685. data/vendor/simdjson/dependencies/json/doc/examples/flatten.output +12 -0
  686. data/vendor/simdjson/dependencies/json/doc/examples/from_bson.cpp +21 -0
  687. data/vendor/simdjson/dependencies/json/doc/examples/from_bson.link +1 -0
  688. data/vendor/simdjson/dependencies/json/doc/examples/from_bson.output +4 -0
  689. data/vendor/simdjson/dependencies/json/doc/examples/from_cbor.cpp +20 -0
  690. data/vendor/simdjson/dependencies/json/doc/examples/from_cbor.link +1 -0
  691. data/vendor/simdjson/dependencies/json/doc/examples/from_cbor.output +4 -0
  692. data/vendor/simdjson/dependencies/json/doc/examples/from_msgpack.cpp +20 -0
  693. data/vendor/simdjson/dependencies/json/doc/examples/from_msgpack.link +1 -0
  694. data/vendor/simdjson/dependencies/json/doc/examples/from_msgpack.output +4 -0
  695. data/vendor/simdjson/dependencies/json/doc/examples/from_ubjson.cpp +20 -0
  696. data/vendor/simdjson/dependencies/json/doc/examples/from_ubjson.link +1 -0
  697. data/vendor/simdjson/dependencies/json/doc/examples/from_ubjson.output +4 -0
  698. data/vendor/simdjson/dependencies/json/doc/examples/front.cpp +29 -0
  699. data/vendor/simdjson/dependencies/json/doc/examples/front.link +1 -0
  700. data/vendor/simdjson/dependencies/json/doc/examples/front.output +6 -0
  701. data/vendor/simdjson/dependencies/json/doc/examples/get__PointerType.cpp +21 -0
  702. data/vendor/simdjson/dependencies/json/doc/examples/get__PointerType.link +1 -0
  703. data/vendor/simdjson/dependencies/json/doc/examples/get__PointerType.output +2 -0
  704. data/vendor/simdjson/dependencies/json/doc/examples/get__ValueType_const.cpp +50 -0
  705. data/vendor/simdjson/dependencies/json/doc/examples/get__ValueType_const.link +1 -0
  706. data/vendor/simdjson/dependencies/json/doc/examples/get__ValueType_const.output +11 -0
  707. data/vendor/simdjson/dependencies/json/doc/examples/get_ptr.cpp +21 -0
  708. data/vendor/simdjson/dependencies/json/doc/examples/get_ptr.link +1 -0
  709. data/vendor/simdjson/dependencies/json/doc/examples/get_ptr.output +2 -0
  710. data/vendor/simdjson/dependencies/json/doc/examples/get_ref.cpp +27 -0
  711. data/vendor/simdjson/dependencies/json/doc/examples/get_ref.link +1 -0
  712. data/vendor/simdjson/dependencies/json/doc/examples/get_ref.output +2 -0
  713. data/vendor/simdjson/dependencies/json/doc/examples/get_to.cpp +60 -0
  714. data/vendor/simdjson/dependencies/json/doc/examples/get_to.link +1 -0
  715. data/vendor/simdjson/dependencies/json/doc/examples/get_to.output +11 -0
  716. data/vendor/simdjson/dependencies/json/doc/examples/insert.cpp +17 -0
  717. data/vendor/simdjson/dependencies/json/doc/examples/insert.link +1 -0
  718. data/vendor/simdjson/dependencies/json/doc/examples/insert.output +2 -0
  719. data/vendor/simdjson/dependencies/json/doc/examples/insert__count.cpp +17 -0
  720. data/vendor/simdjson/dependencies/json/doc/examples/insert__count.link +1 -0
  721. data/vendor/simdjson/dependencies/json/doc/examples/insert__count.output +2 -0
  722. data/vendor/simdjson/dependencies/json/doc/examples/insert__ilist.cpp +17 -0
  723. data/vendor/simdjson/dependencies/json/doc/examples/insert__ilist.link +1 -0
  724. data/vendor/simdjson/dependencies/json/doc/examples/insert__ilist.output +2 -0
  725. data/vendor/simdjson/dependencies/json/doc/examples/insert__range.cpp +20 -0
  726. data/vendor/simdjson/dependencies/json/doc/examples/insert__range.link +1 -0
  727. data/vendor/simdjson/dependencies/json/doc/examples/insert__range.output +2 -0
  728. data/vendor/simdjson/dependencies/json/doc/examples/insert__range_object.cpp +21 -0
  729. data/vendor/simdjson/dependencies/json/doc/examples/insert__range_object.link +1 -0
  730. data/vendor/simdjson/dependencies/json/doc/examples/insert__range_object.output +3 -0
  731. data/vendor/simdjson/dependencies/json/doc/examples/invalid_iterator.cpp +21 -0
  732. data/vendor/simdjson/dependencies/json/doc/examples/invalid_iterator.link +1 -0
  733. data/vendor/simdjson/dependencies/json/doc/examples/invalid_iterator.output +2 -0
  734. data/vendor/simdjson/dependencies/json/doc/examples/is_array.cpp +28 -0
  735. data/vendor/simdjson/dependencies/json/doc/examples/is_array.link +1 -0
  736. data/vendor/simdjson/dependencies/json/doc/examples/is_array.output +8 -0
  737. data/vendor/simdjson/dependencies/json/doc/examples/is_boolean.cpp +28 -0
  738. data/vendor/simdjson/dependencies/json/doc/examples/is_boolean.link +1 -0
  739. data/vendor/simdjson/dependencies/json/doc/examples/is_boolean.output +8 -0
  740. data/vendor/simdjson/dependencies/json/doc/examples/is_discarded.cpp +28 -0
  741. data/vendor/simdjson/dependencies/json/doc/examples/is_discarded.link +1 -0
  742. data/vendor/simdjson/dependencies/json/doc/examples/is_discarded.output +8 -0
  743. data/vendor/simdjson/dependencies/json/doc/examples/is_null.cpp +28 -0
  744. data/vendor/simdjson/dependencies/json/doc/examples/is_null.link +1 -0
  745. data/vendor/simdjson/dependencies/json/doc/examples/is_null.output +8 -0
  746. data/vendor/simdjson/dependencies/json/doc/examples/is_number.cpp +28 -0
  747. data/vendor/simdjson/dependencies/json/doc/examples/is_number.link +1 -0
  748. data/vendor/simdjson/dependencies/json/doc/examples/is_number.output +8 -0
  749. data/vendor/simdjson/dependencies/json/doc/examples/is_number_float.cpp +28 -0
  750. data/vendor/simdjson/dependencies/json/doc/examples/is_number_float.link +1 -0
  751. data/vendor/simdjson/dependencies/json/doc/examples/is_number_float.output +8 -0
  752. data/vendor/simdjson/dependencies/json/doc/examples/is_number_integer.cpp +28 -0
  753. data/vendor/simdjson/dependencies/json/doc/examples/is_number_integer.link +1 -0
  754. data/vendor/simdjson/dependencies/json/doc/examples/is_number_integer.output +8 -0
  755. data/vendor/simdjson/dependencies/json/doc/examples/is_number_unsigned.cpp +28 -0
  756. data/vendor/simdjson/dependencies/json/doc/examples/is_number_unsigned.link +1 -0
  757. data/vendor/simdjson/dependencies/json/doc/examples/is_number_unsigned.output +8 -0
  758. data/vendor/simdjson/dependencies/json/doc/examples/is_object.cpp +28 -0
  759. data/vendor/simdjson/dependencies/json/doc/examples/is_object.link +1 -0
  760. data/vendor/simdjson/dependencies/json/doc/examples/is_object.output +8 -0
  761. data/vendor/simdjson/dependencies/json/doc/examples/is_primitive.cpp +28 -0
  762. data/vendor/simdjson/dependencies/json/doc/examples/is_primitive.link +1 -0
  763. data/vendor/simdjson/dependencies/json/doc/examples/is_primitive.output +8 -0
  764. data/vendor/simdjson/dependencies/json/doc/examples/is_string.cpp +28 -0
  765. data/vendor/simdjson/dependencies/json/doc/examples/is_string.link +1 -0
  766. data/vendor/simdjson/dependencies/json/doc/examples/is_string.output +8 -0
  767. data/vendor/simdjson/dependencies/json/doc/examples/is_structured.cpp +28 -0
  768. data/vendor/simdjson/dependencies/json/doc/examples/is_structured.link +1 -0
  769. data/vendor/simdjson/dependencies/json/doc/examples/is_structured.output +8 -0
  770. data/vendor/simdjson/dependencies/json/doc/examples/items.cpp +23 -0
  771. data/vendor/simdjson/dependencies/json/doc/examples/items.link +1 -0
  772. data/vendor/simdjson/dependencies/json/doc/examples/items.output +7 -0
  773. data/vendor/simdjson/dependencies/json/doc/examples/iterator_wrapper.cpp +23 -0
  774. data/vendor/simdjson/dependencies/json/doc/examples/iterator_wrapper.link +1 -0
  775. data/vendor/simdjson/dependencies/json/doc/examples/iterator_wrapper.output +7 -0
  776. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer.cpp +47 -0
  777. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer.link +1 -0
  778. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer.output +3 -0
  779. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__back.cpp +15 -0
  780. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__back.link +1 -0
  781. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__back.output +2 -0
  782. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__empty.cpp +20 -0
  783. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__empty.link +1 -0
  784. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__empty.output +4 -0
  785. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__operator_add.cpp +23 -0
  786. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__operator_add.link +1 -0
  787. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__operator_add.output +4 -0
  788. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__operator_add_binary.cpp +19 -0
  789. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__operator_add_binary.link +1 -0
  790. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__operator_add_binary.output +3 -0
  791. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__parent_pointer.cpp +18 -0
  792. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__parent_pointer.link +1 -0
  793. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__parent_pointer.output +3 -0
  794. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__pop_back.cpp +21 -0
  795. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__pop_back.link +1 -0
  796. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__pop_back.output +4 -0
  797. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__push_back.cpp +21 -0
  798. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__push_back.link +1 -0
  799. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__push_back.output +4 -0
  800. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__to_string.cpp +35 -0
  801. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__to_string.link +1 -0
  802. data/vendor/simdjson/dependencies/json/doc/examples/json_pointer__to_string.output +12 -0
  803. data/vendor/simdjson/dependencies/json/doc/examples/max_size.cpp +25 -0
  804. data/vendor/simdjson/dependencies/json/doc/examples/max_size.link +1 -0
  805. data/vendor/simdjson/dependencies/json/doc/examples/max_size.output +7 -0
  806. data/vendor/simdjson/dependencies/json/doc/examples/merge_patch.cpp +40 -0
  807. data/vendor/simdjson/dependencies/json/doc/examples/merge_patch.link +1 -0
  808. data/vendor/simdjson/dependencies/json/doc/examples/merge_patch.output +11 -0
  809. data/vendor/simdjson/dependencies/json/doc/examples/meta.cpp +11 -0
  810. data/vendor/simdjson/dependencies/json/doc/examples/meta.link +1 -0
  811. data/vendor/simdjson/dependencies/json/doc/examples/meta.output +17 -0
  812. data/vendor/simdjson/dependencies/json/doc/examples/object.cpp +28 -0
  813. data/vendor/simdjson/dependencies/json/doc/examples/object.link +1 -0
  814. data/vendor/simdjson/dependencies/json/doc/examples/object.output +4 -0
  815. data/vendor/simdjson/dependencies/json/doc/examples/operator__ValueType.cpp +60 -0
  816. data/vendor/simdjson/dependencies/json/doc/examples/operator__ValueType.link +1 -0
  817. data/vendor/simdjson/dependencies/json/doc/examples/operator__ValueType.output +12 -0
  818. data/vendor/simdjson/dependencies/json/doc/examples/operator__equal.cpp +24 -0
  819. data/vendor/simdjson/dependencies/json/doc/examples/operator__equal.link +1 -0
  820. data/vendor/simdjson/dependencies/json/doc/examples/operator__equal.output +4 -0
  821. data/vendor/simdjson/dependencies/json/doc/examples/operator__equal__nullptr_t.cpp +22 -0
  822. data/vendor/simdjson/dependencies/json/doc/examples/operator__equal__nullptr_t.link +1 -0
  823. data/vendor/simdjson/dependencies/json/doc/examples/operator__equal__nullptr_t.output +5 -0
  824. data/vendor/simdjson/dependencies/json/doc/examples/operator__greater.cpp +24 -0
  825. data/vendor/simdjson/dependencies/json/doc/examples/operator__greater.link +1 -0
  826. data/vendor/simdjson/dependencies/json/doc/examples/operator__greater.output +4 -0
  827. data/vendor/simdjson/dependencies/json/doc/examples/operator__greaterequal.cpp +24 -0
  828. data/vendor/simdjson/dependencies/json/doc/examples/operator__greaterequal.link +1 -0
  829. data/vendor/simdjson/dependencies/json/doc/examples/operator__greaterequal.output +4 -0
  830. data/vendor/simdjson/dependencies/json/doc/examples/operator__less.cpp +24 -0
  831. data/vendor/simdjson/dependencies/json/doc/examples/operator__less.link +1 -0
  832. data/vendor/simdjson/dependencies/json/doc/examples/operator__less.output +4 -0
  833. data/vendor/simdjson/dependencies/json/doc/examples/operator__lessequal.cpp +24 -0
  834. data/vendor/simdjson/dependencies/json/doc/examples/operator__lessequal.link +1 -0
  835. data/vendor/simdjson/dependencies/json/doc/examples/operator__lessequal.output +4 -0
  836. data/vendor/simdjson/dependencies/json/doc/examples/operator__notequal.cpp +24 -0
  837. data/vendor/simdjson/dependencies/json/doc/examples/operator__notequal.link +1 -0
  838. data/vendor/simdjson/dependencies/json/doc/examples/operator__notequal.output +4 -0
  839. data/vendor/simdjson/dependencies/json/doc/examples/operator__notequal__nullptr_t.cpp +22 -0
  840. data/vendor/simdjson/dependencies/json/doc/examples/operator__notequal__nullptr_t.link +1 -0
  841. data/vendor/simdjson/dependencies/json/doc/examples/operator__notequal__nullptr_t.output +5 -0
  842. data/vendor/simdjson/dependencies/json/doc/examples/operator__value_t.cpp +38 -0
  843. data/vendor/simdjson/dependencies/json/doc/examples/operator__value_t.link +1 -0
  844. data/vendor/simdjson/dependencies/json/doc/examples/operator__value_t.output +8 -0
  845. data/vendor/simdjson/dependencies/json/doc/examples/operator_deserialize.cpp +26 -0
  846. data/vendor/simdjson/dependencies/json/doc/examples/operator_deserialize.link +1 -0
  847. data/vendor/simdjson/dependencies/json/doc/examples/operator_deserialize.output +13 -0
  848. data/vendor/simdjson/dependencies/json/doc/examples/operator_serialize.cpp +21 -0
  849. data/vendor/simdjson/dependencies/json/doc/examples/operator_serialize.link +1 -0
  850. data/vendor/simdjson/dependencies/json/doc/examples/operator_serialize.output +22 -0
  851. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__key_type.cpp +32 -0
  852. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__key_type.link +1 -0
  853. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__key_type.output +19 -0
  854. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__key_type_const.cpp +16 -0
  855. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__key_type_const.link +1 -0
  856. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__key_type_const.output +1 -0
  857. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__size_type.cpp +25 -0
  858. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__size_type.link +1 -0
  859. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__size_type.output +3 -0
  860. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__size_type_const.cpp +13 -0
  861. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__size_type_const.link +1 -0
  862. data/vendor/simdjson/dependencies/json/doc/examples/operatorarray__size_type_const.output +1 -0
  863. data/vendor/simdjson/dependencies/json/doc/examples/operatorjson_pointer.cpp +48 -0
  864. data/vendor/simdjson/dependencies/json/doc/examples/operatorjson_pointer.link +1 -0
  865. data/vendor/simdjson/dependencies/json/doc/examples/operatorjson_pointer.output +8 -0
  866. data/vendor/simdjson/dependencies/json/doc/examples/operatorjson_pointer_const.cpp +24 -0
  867. data/vendor/simdjson/dependencies/json/doc/examples/operatorjson_pointer_const.link +1 -0
  868. data/vendor/simdjson/dependencies/json/doc/examples/operatorjson_pointer_const.output +4 -0
  869. data/vendor/simdjson/dependencies/json/doc/examples/other_error.cpp +29 -0
  870. data/vendor/simdjson/dependencies/json/doc/examples/other_error.link +1 -0
  871. data/vendor/simdjson/dependencies/json/doc/examples/other_error.output +2 -0
  872. data/vendor/simdjson/dependencies/json/doc/examples/out_of_range.cpp +20 -0
  873. data/vendor/simdjson/dependencies/json/doc/examples/out_of_range.link +1 -0
  874. data/vendor/simdjson/dependencies/json/doc/examples/out_of_range.output +2 -0
  875. data/vendor/simdjson/dependencies/json/doc/examples/parse__array__parser_callback_t.cpp +30 -0
  876. data/vendor/simdjson/dependencies/json/doc/examples/parse__array__parser_callback_t.link +1 -0
  877. data/vendor/simdjson/dependencies/json/doc/examples/parse__array__parser_callback_t.output +20 -0
  878. data/vendor/simdjson/dependencies/json/doc/examples/parse__contiguouscontainer__parser_callback_t.cpp +15 -0
  879. data/vendor/simdjson/dependencies/json/doc/examples/parse__contiguouscontainer__parser_callback_t.link +1 -0
  880. data/vendor/simdjson/dependencies/json/doc/examples/parse__contiguouscontainer__parser_callback_t.output +6 -0
  881. data/vendor/simdjson/dependencies/json/doc/examples/parse__istream__parser_callback_t.cpp +58 -0
  882. data/vendor/simdjson/dependencies/json/doc/examples/parse__istream__parser_callback_t.link +1 -0
  883. data/vendor/simdjson/dependencies/json/doc/examples/parse__istream__parser_callback_t.output +34 -0
  884. data/vendor/simdjson/dependencies/json/doc/examples/parse__iteratortype__parser_callback_t.cpp +15 -0
  885. data/vendor/simdjson/dependencies/json/doc/examples/parse__iteratortype__parser_callback_t.link +1 -0
  886. data/vendor/simdjson/dependencies/json/doc/examples/parse__iteratortype__parser_callback_t.output +6 -0
  887. data/vendor/simdjson/dependencies/json/doc/examples/parse__string__parser_callback_t.cpp +49 -0
  888. data/vendor/simdjson/dependencies/json/doc/examples/parse__string__parser_callback_t.link +1 -0
  889. data/vendor/simdjson/dependencies/json/doc/examples/parse__string__parser_callback_t.output +34 -0
  890. data/vendor/simdjson/dependencies/json/doc/examples/parse_error.cpp +20 -0
  891. data/vendor/simdjson/dependencies/json/doc/examples/parse_error.link +1 -0
  892. data/vendor/simdjson/dependencies/json/doc/examples/parse_error.output +3 -0
  893. data/vendor/simdjson/dependencies/json/doc/examples/patch.cpp +32 -0
  894. data/vendor/simdjson/dependencies/json/doc/examples/patch.link +1 -0
  895. data/vendor/simdjson/dependencies/json/doc/examples/patch.output +11 -0
  896. data/vendor/simdjson/dependencies/json/doc/examples/push_back.cpp +25 -0
  897. data/vendor/simdjson/dependencies/json/doc/examples/push_back.link +1 -0
  898. data/vendor/simdjson/dependencies/json/doc/examples/push_back.output +4 -0
  899. data/vendor/simdjson/dependencies/json/doc/examples/push_back__initializer_list.cpp +27 -0
  900. data/vendor/simdjson/dependencies/json/doc/examples/push_back__initializer_list.link +1 -0
  901. data/vendor/simdjson/dependencies/json/doc/examples/push_back__initializer_list.output +4 -0
  902. data/vendor/simdjson/dependencies/json/doc/examples/push_back__object_t__value.cpp +25 -0
  903. data/vendor/simdjson/dependencies/json/doc/examples/push_back__object_t__value.link +1 -0
  904. data/vendor/simdjson/dependencies/json/doc/examples/push_back__object_t__value.output +4 -0
  905. data/vendor/simdjson/dependencies/json/doc/examples/rbegin.cpp +16 -0
  906. data/vendor/simdjson/dependencies/json/doc/examples/rbegin.link +1 -0
  907. data/vendor/simdjson/dependencies/json/doc/examples/rbegin.output +1 -0
  908. data/vendor/simdjson/dependencies/json/doc/examples/rend.cpp +19 -0
  909. data/vendor/simdjson/dependencies/json/doc/examples/rend.link +1 -0
  910. data/vendor/simdjson/dependencies/json/doc/examples/rend.output +1 -0
  911. data/vendor/simdjson/dependencies/json/doc/examples/sax_parse.cpp +124 -0
  912. data/vendor/simdjson/dependencies/json/doc/examples/sax_parse.link +1 -0
  913. data/vendor/simdjson/dependencies/json/doc/examples/sax_parse.output +2 -0
  914. data/vendor/simdjson/dependencies/json/doc/examples/size.cpp +29 -0
  915. data/vendor/simdjson/dependencies/json/doc/examples/size.link +1 -0
  916. data/vendor/simdjson/dependencies/json/doc/examples/size.output +9 -0
  917. data/vendor/simdjson/dependencies/json/doc/examples/swap__array_t.cpp +20 -0
  918. data/vendor/simdjson/dependencies/json/doc/examples/swap__array_t.link +1 -0
  919. data/vendor/simdjson/dependencies/json/doc/examples/swap__array_t.output +2 -0
  920. data/vendor/simdjson/dependencies/json/doc/examples/swap__object_t.cpp +20 -0
  921. data/vendor/simdjson/dependencies/json/doc/examples/swap__object_t.link +1 -0
  922. data/vendor/simdjson/dependencies/json/doc/examples/swap__object_t.output +2 -0
  923. data/vendor/simdjson/dependencies/json/doc/examples/swap__reference.cpp +18 -0
  924. data/vendor/simdjson/dependencies/json/doc/examples/swap__reference.link +1 -0
  925. data/vendor/simdjson/dependencies/json/doc/examples/swap__reference.output +2 -0
  926. data/vendor/simdjson/dependencies/json/doc/examples/swap__string_t.cpp +20 -0
  927. data/vendor/simdjson/dependencies/json/doc/examples/swap__string_t.link +1 -0
  928. data/vendor/simdjson/dependencies/json/doc/examples/swap__string_t.output +2 -0
  929. data/vendor/simdjson/dependencies/json/doc/examples/to_bson.cpp +21 -0
  930. data/vendor/simdjson/dependencies/json/doc/examples/to_bson.link +1 -0
  931. data/vendor/simdjson/dependencies/json/doc/examples/to_bson.output +1 -0
  932. data/vendor/simdjson/dependencies/json/doc/examples/to_cbor.cpp +21 -0
  933. data/vendor/simdjson/dependencies/json/doc/examples/to_cbor.link +1 -0
  934. data/vendor/simdjson/dependencies/json/doc/examples/to_cbor.output +1 -0
  935. data/vendor/simdjson/dependencies/json/doc/examples/to_msgpack.cpp +21 -0
  936. data/vendor/simdjson/dependencies/json/doc/examples/to_msgpack.link +1 -0
  937. data/vendor/simdjson/dependencies/json/doc/examples/to_msgpack.output +1 -0
  938. data/vendor/simdjson/dependencies/json/doc/examples/to_ubjson.cpp +63 -0
  939. data/vendor/simdjson/dependencies/json/doc/examples/to_ubjson.link +1 -0
  940. data/vendor/simdjson/dependencies/json/doc/examples/to_ubjson.output +4 -0
  941. data/vendor/simdjson/dependencies/json/doc/examples/type.cpp +28 -0
  942. data/vendor/simdjson/dependencies/json/doc/examples/type.link +1 -0
  943. data/vendor/simdjson/dependencies/json/doc/examples/type.output +8 -0
  944. data/vendor/simdjson/dependencies/json/doc/examples/type_error.cpp +20 -0
  945. data/vendor/simdjson/dependencies/json/doc/examples/type_error.link +1 -0
  946. data/vendor/simdjson/dependencies/json/doc/examples/type_error.output +2 -0
  947. data/vendor/simdjson/dependencies/json/doc/examples/type_name.cpp +27 -0
  948. data/vendor/simdjson/dependencies/json/doc/examples/type_name.link +1 -0
  949. data/vendor/simdjson/dependencies/json/doc/examples/type_name.output +8 -0
  950. data/vendor/simdjson/dependencies/json/doc/examples/unflatten.cpp +26 -0
  951. data/vendor/simdjson/dependencies/json/doc/examples/unflatten.link +1 -0
  952. data/vendor/simdjson/dependencies/json/doc/examples/unflatten.output +18 -0
  953. data/vendor/simdjson/dependencies/json/doc/examples/update.cpp +18 -0
  954. data/vendor/simdjson/dependencies/json/doc/examples/update.link +1 -0
  955. data/vendor/simdjson/dependencies/json/doc/examples/update.output +5 -0
  956. data/vendor/simdjson/dependencies/json/doc/examples/update__range.cpp +18 -0
  957. data/vendor/simdjson/dependencies/json/doc/examples/update__range.link +1 -0
  958. data/vendor/simdjson/dependencies/json/doc/examples/update__range.output +5 -0
  959. data/vendor/simdjson/dependencies/json/doc/faq.md +87 -0
  960. data/vendor/simdjson/dependencies/json/doc/images/binary.png +0 -0
  961. data/vendor/simdjson/dependencies/json/doc/images/callback_events.png +0 -0
  962. data/vendor/simdjson/dependencies/json/doc/images/range-begin-end.svg +435 -0
  963. data/vendor/simdjson/dependencies/json/doc/images/range-rbegin-rend.svg +1232 -0
  964. data/vendor/simdjson/dependencies/json/doc/index.md +332 -0
  965. data/vendor/simdjson/dependencies/json/doc/json.gif +0 -0
  966. data/vendor/simdjson/dependencies/json/doc/scripts/git-update-ghpages +193 -0
  967. data/vendor/simdjson/dependencies/json/doc/scripts/send_to_wandbox.py +120 -0
  968. data/vendor/simdjson/dependencies/json/doc/usages/ios.png +0 -0
  969. data/vendor/simdjson/dependencies/json/doc/usages/macos.png +0 -0
  970. data/vendor/simdjson/dependencies/json/include/nlohmann/adl_serializer.hpp +49 -0
  971. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/conversions/from_json.hpp +389 -0
  972. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/conversions/to_chars.hpp +1106 -0
  973. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/conversions/to_json.hpp +344 -0
  974. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/exceptions.hpp +356 -0
  975. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/input/binary_reader.hpp +1983 -0
  976. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/input/input_adapters.hpp +442 -0
  977. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/input/json_sax.hpp +701 -0
  978. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/input/lexer.hpp +1512 -0
  979. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/input/parser.hpp +498 -0
  980. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/input/position_t.hpp +27 -0
  981. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/iterators/internal_iterator.hpp +25 -0
  982. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/iterators/iter_impl.hpp +638 -0
  983. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/iterators/iteration_proxy.hpp +170 -0
  984. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/iterators/iterator_traits.hpp +51 -0
  985. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/iterators/json_reverse_iterator.hpp +119 -0
  986. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/iterators/primitive_iterator.hpp +120 -0
  987. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/json_pointer.hpp +1011 -0
  988. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/json_ref.hpp +69 -0
  989. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/macro_scope.hpp +121 -0
  990. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/macro_unscope.hpp +21 -0
  991. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/meta/cpp_future.hpp +63 -0
  992. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/meta/detected.hpp +58 -0
  993. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/meta/is_sax.hpp +142 -0
  994. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/meta/type_traits.hpp +361 -0
  995. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/meta/void_t.hpp +13 -0
  996. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/output/binary_writer.hpp +1336 -0
  997. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/output/output_adapters.hpp +123 -0
  998. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/output/serializer.hpp +840 -0
  999. data/vendor/simdjson/dependencies/json/include/nlohmann/detail/value_t.hpp +77 -0
  1000. data/vendor/simdjson/dependencies/json/include/nlohmann/json.hpp +8134 -0
  1001. data/vendor/simdjson/dependencies/json/include/nlohmann/json_fwd.hpp +64 -0
  1002. data/vendor/simdjson/dependencies/json/include/nlohmann/thirdparty/hedley/hedley.hpp +1505 -0
  1003. data/vendor/simdjson/dependencies/json/include/nlohmann/thirdparty/hedley/hedley_undef.hpp +121 -0
  1004. data/vendor/simdjson/dependencies/json/meson.build +23 -0
  1005. data/vendor/simdjson/dependencies/json/nlohmann_json.natvis +32 -0
  1006. data/vendor/simdjson/dependencies/json/single_include/nlohmann/json.hpp +22684 -0
  1007. data/vendor/simdjson/dependencies/json/test/CMakeLists.txt +150 -0
  1008. data/vendor/simdjson/dependencies/json/test/Makefile +110 -0
  1009. data/vendor/simdjson/dependencies/json/test/cmake_add_subdirectory/CMakeLists.txt +15 -0
  1010. data/vendor/simdjson/dependencies/json/test/cmake_add_subdirectory/project/CMakeLists.txt +13 -0
  1011. data/vendor/simdjson/dependencies/json/test/cmake_add_subdirectory/project/main.cpp +8 -0
  1012. data/vendor/simdjson/dependencies/json/test/cmake_import/CMakeLists.txt +15 -0
  1013. data/vendor/simdjson/dependencies/json/test/cmake_import/project/CMakeLists.txt +12 -0
  1014. data/vendor/simdjson/dependencies/json/test/cmake_import/project/main.cpp +8 -0
  1015. data/vendor/simdjson/dependencies/json/test/cmake_import_minver/CMakeLists.txt +15 -0
  1016. data/vendor/simdjson/dependencies/json/test/cmake_import_minver/project/CMakeLists.txt +8 -0
  1017. data/vendor/simdjson/dependencies/json/test/cmake_import_minver/project/main.cpp +8 -0
  1018. data/vendor/simdjson/dependencies/json/test/data/big-list-of-naughty-strings/LICENSE +22 -0
  1019. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test01 +1 -0
  1020. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test02 +0 -0
  1021. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test03 +0 -0
  1022. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test04 +0 -0
  1023. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test05 +0 -0
  1024. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test06 +0 -0
  1025. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test07 +0 -0
  1026. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test08 +0 -0
  1027. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test09 +0 -0
  1028. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test10 +1 -0
  1029. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test11 +0 -0
  1030. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test12 +0 -0
  1031. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test13 +0 -0
  1032. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test14 +0 -0
  1033. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test15 +0 -0
  1034. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test16 +0 -0
  1035. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test17 +0 -0
  1036. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test18 +0 -0
  1037. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test19 +0 -0
  1038. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test20 +0 -0
  1039. data/vendor/simdjson/dependencies/json/test/data/cbor_regression/test21 +0 -0
  1040. data/vendor/simdjson/dependencies/json/test/data/json-patch-tests/README.md +75 -0
  1041. data/vendor/simdjson/dependencies/json/test/data/json.org/1.json.bson +0 -0
  1042. data/vendor/simdjson/dependencies/json/test/data/json.org/1.json.cbor +1 -0
  1043. data/vendor/simdjson/dependencies/json/test/data/json.org/1.json.msgpack +0 -0
  1044. data/vendor/simdjson/dependencies/json/test/data/json.org/2.json.bson +0 -0
  1045. data/vendor/simdjson/dependencies/json/test/data/json.org/2.json.cbor +1 -0
  1046. data/vendor/simdjson/dependencies/json/test/data/json.org/2.json.msgpack +1 -0
  1047. data/vendor/simdjson/dependencies/json/test/data/json.org/3.json.bson +0 -0
  1048. data/vendor/simdjson/dependencies/json/test/data/json.org/3.json.cbor +1 -0
  1049. data/vendor/simdjson/dependencies/json/test/data/json.org/3.json.msgpack +0 -0
  1050. data/vendor/simdjson/dependencies/json/test/data/json.org/4.json.bson +0 -0
  1051. data/vendor/simdjson/dependencies/json/test/data/json.org/4.json.cbor +4 -0
  1052. data/vendor/simdjson/dependencies/json/test/data/json.org/4.json.msgpack +0 -0
  1053. data/vendor/simdjson/dependencies/json/test/data/json.org/5.json.bson +0 -0
  1054. data/vendor/simdjson/dependencies/json/test/data/json.org/5.json.cbor +1 -0
  1055. data/vendor/simdjson/dependencies/json/test/data/json.org/5.json.msgpack +0 -0
  1056. data/vendor/simdjson/dependencies/json/test/data/json_nlohmann_tests/all_unicode.json.cbor +0 -0
  1057. data/vendor/simdjson/dependencies/json/test/data/json_nlohmann_tests/all_unicode.json.msgpack +0 -0
  1058. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip01.json.cbor +1 -0
  1059. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip01.json.msgpack +1 -0
  1060. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip02.json.cbor +1 -0
  1061. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip02.json.msgpack +1 -0
  1062. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip03.json.cbor +1 -0
  1063. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip03.json.msgpack +1 -0
  1064. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip04.json.cbor +0 -0
  1065. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip04.json.msgpack +0 -0
  1066. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip05.json.cbor +1 -0
  1067. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip05.json.msgpack +1 -0
  1068. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip06.json.cbor +1 -0
  1069. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip06.json.msgpack +1 -0
  1070. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip07.json.cbor +1 -0
  1071. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip07.json.msgpack +1 -0
  1072. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip08.json.cbor +0 -0
  1073. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip08.json.msgpack +0 -0
  1074. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip09.json.cbor +1 -0
  1075. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip09.json.msgpack +1 -0
  1076. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip10.json.cbor +1 -0
  1077. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip10.json.msgpack +1 -0
  1078. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip11.json.cbor +1 -0
  1079. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip11.json.msgpack +1 -0
  1080. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip12.json.cbor +1 -0
  1081. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip12.json.msgpack +0 -0
  1082. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip13.json.cbor +1 -0
  1083. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip13.json.msgpack +1 -0
  1084. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip14.json.cbor +1 -0
  1085. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip14.json.msgpack +0 -0
  1086. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip15.json.cbor +1 -0
  1087. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip15.json.msgpack +1 -0
  1088. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip16.json.cbor +1 -0
  1089. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip16.json.msgpack +1 -0
  1090. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip17.json.cbor +1 -0
  1091. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip17.json.msgpack +1 -0
  1092. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip18.json.cbor +1 -0
  1093. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip18.json.msgpack +1 -0
  1094. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip19.json.cbor +1 -0
  1095. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip19.json.msgpack +1 -0
  1096. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip20.json.cbor +0 -0
  1097. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip20.json.msgpack +0 -0
  1098. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip21.json.cbor +0 -0
  1099. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip21.json.msgpack +0 -0
  1100. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip22.json.cbor +1 -0
  1101. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip22.json.msgpack +1 -0
  1102. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip23.json.cbor +1 -0
  1103. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip23.json.msgpack +1 -0
  1104. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip24.json.cbor +0 -0
  1105. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip24.json.msgpack +0 -0
  1106. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip25.json.cbor +0 -0
  1107. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip25.json.msgpack +0 -0
  1108. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip26.json.cbor +0 -0
  1109. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip26.json.msgpack +0 -0
  1110. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip27.json.cbor +1 -0
  1111. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip27.json.msgpack +1 -0
  1112. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip28.json.cbor +0 -0
  1113. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip28.json.msgpack +0 -0
  1114. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip29.json.cbor +0 -0
  1115. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip29.json.msgpack +0 -0
  1116. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip30.json.cbor +1 -0
  1117. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip30.json.msgpack +1 -0
  1118. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip31.json.cbor +1 -0
  1119. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip31.json.msgpack +1 -0
  1120. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip32.json.cbor +1 -0
  1121. data/vendor/simdjson/dependencies/json/test/data/json_roundtrip/roundtrip32.json.msgpack +1 -0
  1122. data/vendor/simdjson/dependencies/json/test/data/json_tests/pass1.json.cbor +0 -0
  1123. data/vendor/simdjson/dependencies/json/test/data/json_tests/pass1.json.msgpack +0 -0
  1124. data/vendor/simdjson/dependencies/json/test/data/json_tests/pass2.json.cbor +1 -0
  1125. data/vendor/simdjson/dependencies/json/test/data/json_tests/pass2.json.msgpack +1 -0
  1126. data/vendor/simdjson/dependencies/json/test/data/json_tests/pass3.json.bson +0 -0
  1127. data/vendor/simdjson/dependencies/json/test/data/json_tests/pass3.json.cbor +1 -0
  1128. data/vendor/simdjson/dependencies/json/test/data/json_tests/pass3.json.msgpack +1 -0
  1129. data/vendor/simdjson/dependencies/json/test/data/json_testsuite/README.md +10 -0
  1130. data/vendor/simdjson/dependencies/json/test/data/json_testsuite/sample.json.cbor +0 -0
  1131. data/vendor/simdjson/dependencies/json/test/data/json_testsuite/sample.json.msgpack +0 -0
  1132. data/vendor/simdjson/dependencies/json/test/data/markus_kuhn/UTF-8-test.txt +0 -0
  1133. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/LICENSE +21 -0
  1134. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_arraysWithSpaces.json.cbor +1 -0
  1135. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_arraysWithSpaces.json.msgpack +1 -0
  1136. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_empty-string.json.cbor +1 -0
  1137. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_empty-string.json.msgpack +1 -0
  1138. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_empty.json.cbor +1 -0
  1139. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_empty.json.msgpack +1 -0
  1140. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_ending_with_newline.json.cbor +1 -0
  1141. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_ending_with_newline.json.msgpack +1 -0
  1142. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_false.json.cbor +1 -0
  1143. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_false.json.msgpack +1 -0
  1144. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_heterogeneous.json.cbor +1 -0
  1145. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_heterogeneous.json.msgpack +1 -0
  1146. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_null.json.cbor +1 -0
  1147. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_null.json.msgpack +1 -0
  1148. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_with_1_and_newline.json.cbor +1 -0
  1149. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_with_1_and_newline.json.msgpack +1 -0
  1150. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_with_leading_space.json.cbor +1 -0
  1151. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_with_leading_space.json.msgpack +1 -0
  1152. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_with_several_null.json.cbor +1 -0
  1153. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_with_several_null.json.msgpack +1 -0
  1154. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_with_trailing_space.json.cbor +1 -0
  1155. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_array_with_trailing_space.json.msgpack +1 -0
  1156. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number.json.cbor +1 -0
  1157. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number.json.msgpack +1 -0
  1158. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_0e+1.json.cbor +0 -0
  1159. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_0e+1.json.msgpack +0 -0
  1160. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_0e1.json.cbor +0 -0
  1161. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_0e1.json.msgpack +0 -0
  1162. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_after_space.json.cbor +1 -0
  1163. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_after_space.json.msgpack +1 -0
  1164. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_double_close_to_zero.json.cbor +1 -0
  1165. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_double_close_to_zero.json.msgpack +1 -0
  1166. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_double_huge_neg_exp.json.cbor +0 -0
  1167. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_double_huge_neg_exp.json.msgpack +0 -0
  1168. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_huge_exp.json.cbor +0 -0
  1169. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_huge_exp.json.msgpack +0 -0
  1170. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_int_with_exp.json.cbor +0 -0
  1171. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_int_with_exp.json.msgpack +0 -0
  1172. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_minus_zero.json.cbor +0 -0
  1173. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_minus_zero.json.msgpack +0 -0
  1174. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_negative_int.json.cbor +1 -0
  1175. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_negative_int.json.msgpack +1 -0
  1176. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_negative_one.json.cbor +1 -0
  1177. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_negative_one.json.msgpack +1 -0
  1178. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_negative_zero.json.cbor +0 -0
  1179. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_negative_zero.json.msgpack +0 -0
  1180. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e.json.cbor +1 -0
  1181. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e.json.msgpack +1 -0
  1182. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_neg_exp.json.cbor +1 -0
  1183. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_neg_exp.json.msgpack +1 -0
  1184. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_pos_exp.json.cbor +0 -0
  1185. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_pos_exp.json.msgpack +0 -0
  1186. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_exponent.json.cbor +0 -0
  1187. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_exponent.json.msgpack +0 -0
  1188. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_fraction_exponent.json.cbor +1 -0
  1189. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_fraction_exponent.json.msgpack +1 -0
  1190. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_exp.json.cbor +1 -0
  1191. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_exp.json.msgpack +1 -0
  1192. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_overflow.json.cbor +0 -0
  1193. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_overflow.json.msgpack +0 -0
  1194. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_exponent.json.cbor +0 -0
  1195. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_exponent.json.msgpack +0 -0
  1196. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_overflow.json.cbor +0 -0
  1197. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_overflow.json.msgpack +0 -0
  1198. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_underflow.json.cbor +0 -0
  1199. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_real_underflow.json.msgpack +0 -0
  1200. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_simple_int.json.cbor +1 -0
  1201. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_simple_int.json.msgpack +1 -0
  1202. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_simple_real.json.cbor +1 -0
  1203. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_simple_real.json.msgpack +1 -0
  1204. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_number_too_big_neg_int.json.cbor +1 -0
  1205. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object.json.cbor +1 -0
  1206. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object.json.msgpack +1 -0
  1207. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_basic.json.cbor +1 -0
  1208. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_basic.json.msgpack +1 -0
  1209. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key.json.cbor +1 -0
  1210. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key.json.msgpack +1 -0
  1211. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key_and_value.json.cbor +1 -0
  1212. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key_and_value.json.msgpack +1 -0
  1213. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_empty.json.cbor +1 -0
  1214. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_empty.json.msgpack +1 -0
  1215. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_empty_key.json.cbor +0 -0
  1216. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_empty_key.json.msgpack +0 -0
  1217. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_escaped_null_in_key.json.cbor +0 -0
  1218. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_escaped_null_in_key.json.msgpack +0 -0
  1219. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_extreme_numbers.json.cbor +1 -0
  1220. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_extreme_numbers.json.msgpack +1 -0
  1221. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_long_strings.json.cbor +1 -0
  1222. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_long_strings.json.msgpack +0 -0
  1223. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_simple.json.cbor +1 -0
  1224. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_simple.json.msgpack +1 -0
  1225. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_string_unicode.json.cbor +1 -0
  1226. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_string_unicode.json.msgpack +0 -0
  1227. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_with_newlines.json.cbor +1 -0
  1228. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_object_with_newlines.json.msgpack +1 -0
  1229. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json.cbor +1 -0
  1230. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json.msgpack +1 -0
  1231. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json.cbor +1 -0
  1232. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json.msgpack +1 -0
  1233. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pair.json.cbor +1 -0
  1234. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pair.json.msgpack +1 -0
  1235. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pairs.json.cbor +1 -0
  1236. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pairs.json.msgpack +1 -0
  1237. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_allowed_escapes.json.cbor +2 -0
  1238. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_allowed_escapes.json.msgpack +2 -0
  1239. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_backslash_and_u_escaped_zero.json.cbor +1 -0
  1240. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_backslash_and_u_escaped_zero.json.msgpack +1 -0
  1241. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_backslash_doublequotes.json.cbor +1 -0
  1242. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_backslash_doublequotes.json.msgpack +1 -0
  1243. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_comments.json.cbor +1 -0
  1244. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_comments.json.msgpack +1 -0
  1245. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_a.json.cbor +1 -0
  1246. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_a.json.msgpack +1 -0
  1247. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_n.json.cbor +1 -0
  1248. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_n.json.msgpack +1 -0
  1249. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_escaped_control_character.json.cbor +1 -0
  1250. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_escaped_control_character.json.msgpack +1 -0
  1251. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_escaped_noncharacter.json.cbor +1 -0
  1252. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_escaped_noncharacter.json.msgpack +1 -0
  1253. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_in_array.json.cbor +1 -0
  1254. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_in_array.json.msgpack +1 -0
  1255. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_in_array_with_leading_space.json.cbor +1 -0
  1256. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_in_array_with_leading_space.json.msgpack +1 -0
  1257. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_last_surrogates_1_and_2.json.cbor +1 -0
  1258. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_last_surrogates_1_and_2.json.msgpack +1 -0
  1259. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_newline_uescaped.json.cbor +1 -0
  1260. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_newline_uescaped.json.msgpack +1 -0
  1261. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json.cbor +1 -0
  1262. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json.msgpack +1 -0
  1263. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json.cbor +1 -0
  1264. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json.msgpack +1 -0
  1265. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json.cbor +1 -0
  1266. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json.msgpack +1 -0
  1267. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_null_escape.json.cbor +0 -0
  1268. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_null_escape.json.msgpack +0 -0
  1269. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_one-byte-utf-8.json.cbor +1 -0
  1270. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_one-byte-utf-8.json.msgpack +1 -0
  1271. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_pi.json.cbor +1 -0
  1272. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_pi.json.msgpack +1 -0
  1273. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_simple_ascii.json.cbor +1 -0
  1274. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_simple_ascii.json.msgpack +1 -0
  1275. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_space.json.cbor +1 -0
  1276. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_space.json.msgpack +1 -0
  1277. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_three-byte-utf-8.json.cbor +1 -0
  1278. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_three-byte-utf-8.json.msgpack +1 -0
  1279. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_two-byte-utf-8.json.cbor +1 -0
  1280. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_two-byte-utf-8.json.msgpack +1 -0
  1281. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_u+2028_line_sep.json.cbor +1 -0
  1282. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_u+2028_line_sep.json.msgpack +1 -0
  1283. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_u+2029_par_sep.json.cbor +1 -0
  1284. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_u+2029_par_sep.json.msgpack +1 -0
  1285. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_uEscape.json.cbor +1 -0
  1286. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_uEscape.json.msgpack +1 -0
  1287. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unescaped_char_delete.json.cbor +1 -0
  1288. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unescaped_char_delete.json.msgpack +1 -0
  1289. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode.json.cbor +1 -0
  1290. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode.json.msgpack +1 -0
  1291. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicodeEscapedBackslash.json.cbor +1 -0
  1292. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicodeEscapedBackslash.json.msgpack +1 -0
  1293. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode_2.json.cbor +1 -0
  1294. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode_2.json.msgpack +1 -0
  1295. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json.cbor +1 -0
  1296. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json.msgpack +1 -0
  1297. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+2064_invisible_plus.json.cbor +1 -0
  1298. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+2064_invisible_plus.json.msgpack +1 -0
  1299. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode_escaped_double_quote.json.cbor +1 -0
  1300. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_unicode_escaped_double_quote.json.msgpack +1 -0
  1301. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_utf8.json.cbor +1 -0
  1302. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_utf8.json.msgpack +1 -0
  1303. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_with_del_character.json.cbor +1 -0
  1304. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_string_with_del_character.json.msgpack +1 -0
  1305. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_false.json.cbor +1 -0
  1306. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_false.json.msgpack +1 -0
  1307. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_int.json.cbor +1 -0
  1308. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_int.json.msgpack +1 -0
  1309. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_negative_real.json.cbor +1 -0
  1310. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_negative_real.json.msgpack +1 -0
  1311. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_null.json.cbor +1 -0
  1312. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_null.json.msgpack +1 -0
  1313. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_string.json.cbor +1 -0
  1314. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_string.json.msgpack +1 -0
  1315. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_true.json.cbor +1 -0
  1316. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_true.json.msgpack +1 -0
  1317. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_string_empty.json.cbor +1 -0
  1318. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_string_empty.json.msgpack +1 -0
  1319. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_trailing_newline.json.cbor +1 -0
  1320. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_trailing_newline.json.msgpack +1 -0
  1321. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_true_in_array.json.cbor +1 -0
  1322. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_true_in_array.json.msgpack +1 -0
  1323. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json.cbor +1 -0
  1324. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json.msgpack +1 -0
  1325. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite2/LICENSE +21 -0
  1326. data/vendor/simdjson/dependencies/json/test/data/nst_json_testsuite2/README.md +55 -0
  1327. data/vendor/simdjson/dependencies/json/test/data/regression/floats.json.cbor +0 -0
  1328. data/vendor/simdjson/dependencies/json/test/data/regression/floats.json.msgpack +0 -0
  1329. data/vendor/simdjson/dependencies/json/test/data/regression/signed_ints.json.cbor +0 -0
  1330. data/vendor/simdjson/dependencies/json/test/data/regression/signed_ints.json.msgpack +0 -0
  1331. data/vendor/simdjson/dependencies/json/test/data/regression/unsigned_ints.json.cbor +0 -0
  1332. data/vendor/simdjson/dependencies/json/test/data/regression/unsigned_ints.json.msgpack +0 -0
  1333. data/vendor/simdjson/dependencies/json/test/data/regression/working_file.json.cbor +1 -0
  1334. data/vendor/simdjson/dependencies/json/test/data/regression/working_file.json.msgpack +1 -0
  1335. data/vendor/simdjson/dependencies/json/test/reports/2016-08-29-fuzz/exec_speed.png +0 -0
  1336. data/vendor/simdjson/dependencies/json/test/reports/2016-08-29-fuzz/fuzz.tiff +0 -0
  1337. data/vendor/simdjson/dependencies/json/test/reports/2016-08-29-fuzz/high_freq.png +0 -0
  1338. data/vendor/simdjson/dependencies/json/test/reports/2016-08-29-fuzz/index.html +10 -0
  1339. data/vendor/simdjson/dependencies/json/test/reports/2016-08-29-fuzz/low_freq.png +0 -0
  1340. data/vendor/simdjson/dependencies/json/test/reports/2016-09-09-nativejson_benchmark/README.md +31 -0
  1341. data/vendor/simdjson/dependencies/json/test/reports/2016-09-09-nativejson_benchmark/conformance_Nlohmann (C++11).md +670 -0
  1342. data/vendor/simdjson/dependencies/json/test/reports/2016-09-09-nativejson_benchmark/conformance_overall_Result.png +0 -0
  1343. data/vendor/simdjson/dependencies/json/test/reports/2016-09-09-nativejson_benchmark/performance_Corei7-4980HQ@2.80GHz_mac64_clang7.0_1._Parse_Memory_(byte).png +0 -0
  1344. data/vendor/simdjson/dependencies/json/test/reports/2016-09-09-nativejson_benchmark/performance_Corei7-4980HQ@2.80GHz_mac64_clang7.0_1._Parse_Time_(ms).png +0 -0
  1345. data/vendor/simdjson/dependencies/json/test/reports/2016-09-09-nativejson_benchmark/performance_Corei7-4980HQ@2.80GHz_mac64_clang7.0_2._Stringify_Time_(ms).png +0 -0
  1346. data/vendor/simdjson/dependencies/json/test/reports/2016-09-09-nativejson_benchmark/performance_Corei7-4980HQ@2.80GHz_mac64_clang7.0_3._Prettify_Time_(ms).png +0 -0
  1347. data/vendor/simdjson/dependencies/json/test/reports/2016-09-09-nativejson_benchmark/performance_Corei7-4980HQ@2.80GHz_mac64_clang7.0_7._Code_size_FileSize_(byte).png +0 -0
  1348. data/vendor/simdjson/dependencies/json/test/reports/2016-10-02-fuzz/exec_speed.png +0 -0
  1349. data/vendor/simdjson/dependencies/json/test/reports/2016-10-02-fuzz/fuzz.tiff +0 -0
  1350. data/vendor/simdjson/dependencies/json/test/reports/2016-10-02-fuzz/high_freq.png +0 -0
  1351. data/vendor/simdjson/dependencies/json/test/reports/2016-10-02-fuzz/index.html +10 -0
  1352. data/vendor/simdjson/dependencies/json/test/reports/2016-10-02-fuzz/low_freq.png +0 -0
  1353. data/vendor/simdjson/dependencies/json/test/src/fuzzer-driver_afl.cpp +38 -0
  1354. data/vendor/simdjson/dependencies/json/test/src/fuzzer-parse_bson.cpp +73 -0
  1355. data/vendor/simdjson/dependencies/json/test/src/fuzzer-parse_cbor.cpp +68 -0
  1356. data/vendor/simdjson/dependencies/json/test/src/fuzzer-parse_json.cpp +69 -0
  1357. data/vendor/simdjson/dependencies/json/test/src/fuzzer-parse_msgpack.cpp +68 -0
  1358. data/vendor/simdjson/dependencies/json/test/src/fuzzer-parse_ubjson.cpp +68 -0
  1359. data/vendor/simdjson/dependencies/json/test/src/unit-algorithms.cpp +320 -0
  1360. data/vendor/simdjson/dependencies/json/test/src/unit-allocator.cpp +236 -0
  1361. data/vendor/simdjson/dependencies/json/test/src/unit-alt-string.cpp +264 -0
  1362. data/vendor/simdjson/dependencies/json/test/src/unit-bson.cpp +1254 -0
  1363. data/vendor/simdjson/dependencies/json/test/src/unit-capacity.cpp +563 -0
  1364. data/vendor/simdjson/dependencies/json/test/src/unit-cbor.cpp +2189 -0
  1365. data/vendor/simdjson/dependencies/json/test/src/unit-class_const_iterator.cpp +419 -0
  1366. data/vendor/simdjson/dependencies/json/test/src/unit-class_iterator.cpp +403 -0
  1367. data/vendor/simdjson/dependencies/json/test/src/unit-class_lexer.cpp +181 -0
  1368. data/vendor/simdjson/dependencies/json/test/src/unit-class_parser.cpp +1770 -0
  1369. data/vendor/simdjson/dependencies/json/test/src/unit-comparison.cpp +263 -0
  1370. data/vendor/simdjson/dependencies/json/test/src/unit-concepts.cpp +171 -0
  1371. data/vendor/simdjson/dependencies/json/test/src/unit-constructor1.cpp +1537 -0
  1372. data/vendor/simdjson/dependencies/json/test/src/unit-constructor2.cpp +192 -0
  1373. data/vendor/simdjson/dependencies/json/test/src/unit-convenience.cpp +117 -0
  1374. data/vendor/simdjson/dependencies/json/test/src/unit-conversions.cpp +1577 -0
  1375. data/vendor/simdjson/dependencies/json/test/src/unit-deserialization.cpp +1026 -0
  1376. data/vendor/simdjson/dependencies/json/test/src/unit-element_access1.cpp +974 -0
  1377. data/vendor/simdjson/dependencies/json/test/src/unit-element_access2.cpp +1109 -0
  1378. data/vendor/simdjson/dependencies/json/test/src/unit-inspection.cpp +442 -0
  1379. data/vendor/simdjson/dependencies/json/test/src/unit-items.cpp +1450 -0
  1380. data/vendor/simdjson/dependencies/json/test/src/unit-iterators1.cpp +1692 -0
  1381. data/vendor/simdjson/dependencies/json/test/src/unit-iterators2.cpp +906 -0
  1382. data/vendor/simdjson/dependencies/json/test/src/unit-json_patch.cpp +1295 -0
  1383. data/vendor/simdjson/dependencies/json/test/src/unit-json_pointer.cpp +646 -0
  1384. data/vendor/simdjson/dependencies/json/test/src/unit-merge_patch.cpp +262 -0
  1385. data/vendor/simdjson/dependencies/json/test/src/unit-meta.cpp +57 -0
  1386. data/vendor/simdjson/dependencies/json/test/src/unit-modifiers.cpp +941 -0
  1387. data/vendor/simdjson/dependencies/json/test/src/unit-msgpack.cpp +1607 -0
  1388. data/vendor/simdjson/dependencies/json/test/src/unit-noexcept.cpp +82 -0
  1389. data/vendor/simdjson/dependencies/json/test/src/unit-pointer_access.cpp +444 -0
  1390. data/vendor/simdjson/dependencies/json/test/src/unit-readme.cpp +327 -0
  1391. data/vendor/simdjson/dependencies/json/test/src/unit-reference_access.cpp +318 -0
  1392. data/vendor/simdjson/dependencies/json/test/src/unit-regression.cpp +1830 -0
  1393. data/vendor/simdjson/dependencies/json/test/src/unit-serialization.cpp +191 -0
  1394. data/vendor/simdjson/dependencies/json/test/src/unit-testsuites.cpp +1415 -0
  1395. data/vendor/simdjson/dependencies/json/test/src/unit-to_chars.cpp +537 -0
  1396. data/vendor/simdjson/dependencies/json/test/src/unit-ubjson.cpp +2295 -0
  1397. data/vendor/simdjson/dependencies/json/test/src/unit-udt.cpp +830 -0
  1398. data/vendor/simdjson/dependencies/json/test/src/unit-unicode.cpp +1610 -0
  1399. data/vendor/simdjson/dependencies/json/test/src/unit-wstring.cpp +117 -0
  1400. data/vendor/simdjson/dependencies/json/test/src/unit.cpp +31 -0
  1401. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/CMakeLists.txt +45 -0
  1402. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerCorpus.h +217 -0
  1403. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerCrossOver.cpp +52 -0
  1404. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerDefs.h +89 -0
  1405. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerDictionary.h +124 -0
  1406. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerDriver.cpp +545 -0
  1407. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerExtFunctions.def +50 -0
  1408. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerExtFunctions.h +35 -0
  1409. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerExtFunctionsDlsym.cpp +52 -0
  1410. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerExtFunctionsWeak.cpp +53 -0
  1411. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerExtFunctionsWeakAlias.cpp +56 -0
  1412. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerFlags.def +115 -0
  1413. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerIO.cpp +117 -0
  1414. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerIO.h +64 -0
  1415. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerIOPosix.cpp +88 -0
  1416. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerIOWindows.cpp +282 -0
  1417. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerInterface.h +67 -0
  1418. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerInternal.h +182 -0
  1419. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerLoop.cpp +792 -0
  1420. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerMain.cpp +21 -0
  1421. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerMerge.cpp +261 -0
  1422. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerMerge.h +70 -0
  1423. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerMutate.cpp +527 -0
  1424. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerMutate.h +145 -0
  1425. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerOptions.h +68 -0
  1426. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerRandom.h +36 -0
  1427. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerSHA1.cpp +222 -0
  1428. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerSHA1.h +33 -0
  1429. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerTracePC.cpp +339 -0
  1430. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerTracePC.h +158 -0
  1431. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerTraceState.cpp +325 -0
  1432. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerUtil.cpp +218 -0
  1433. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerUtil.h +72 -0
  1434. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerUtilDarwin.cpp +152 -0
  1435. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerUtilLinux.cpp +24 -0
  1436. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerUtilPosix.cpp +117 -0
  1437. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerUtilWindows.cpp +182 -0
  1438. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/FuzzerValueBitMap.h +87 -0
  1439. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/README.txt +2 -0
  1440. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/afl/afl_driver.cpp +295 -0
  1441. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/build.sh +10 -0
  1442. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/cxx.dict +122 -0
  1443. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/standalone/StandaloneFuzzTargetMain.c +41 -0
  1444. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/AFLDriverTest.cpp +22 -0
  1445. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/AbsNegAndConstant64Test.cpp +23 -0
  1446. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/AbsNegAndConstantTest.cpp +23 -0
  1447. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/AccumulateAllocationsTest.cpp +17 -0
  1448. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/BufferOverflowOnInput.cpp +23 -0
  1449. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/CMakeLists.txt +217 -0
  1450. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/CallerCalleeTest.cpp +59 -0
  1451. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/CounterTest.cpp +18 -0
  1452. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/CustomCrossOverTest.cpp +63 -0
  1453. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/CustomMutatorTest.cpp +38 -0
  1454. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/DSO1.cpp +12 -0
  1455. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/DSO2.cpp +12 -0
  1456. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/DSOTestExtra.cpp +11 -0
  1457. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/DSOTestMain.cpp +31 -0
  1458. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/DivTest.cpp +20 -0
  1459. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/EmptyTest.cpp +11 -0
  1460. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/FourIndependentBranchesTest.cpp +22 -0
  1461. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/FullCoverageSetTest.cpp +24 -0
  1462. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/FuzzerUnittest.cpp +738 -0
  1463. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/InitializeTest.cpp +28 -0
  1464. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/LeakTest.cpp +17 -0
  1465. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/LeakTimeoutTest.cpp +17 -0
  1466. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/LoadTest.cpp +22 -0
  1467. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/MemcmpTest.cpp +31 -0
  1468. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/NthRunCrashTest.cpp +18 -0
  1469. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/NullDerefOnEmptyTest.cpp +19 -0
  1470. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/NullDerefTest.cpp +26 -0
  1471. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/OneHugeAllocTest.cpp +28 -0
  1472. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/OutOfMemorySingleLargeMallocTest.cpp +27 -0
  1473. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/OutOfMemoryTest.cpp +31 -0
  1474. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/RepeatedBytesTest.cpp +29 -0
  1475. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/RepeatedMemcmp.cpp +22 -0
  1476. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/ShrinkControlFlowTest.cpp +28 -0
  1477. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/ShrinkValueProfileTest.cpp +22 -0
  1478. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SignedIntOverflowTest.cpp +28 -0
  1479. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SimpleCmpTest.cpp +46 -0
  1480. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SimpleDictionaryTest.cpp +29 -0
  1481. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SimpleHashTest.cpp +40 -0
  1482. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SimpleTest.cpp +27 -0
  1483. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SimpleThreadedTest.cpp +25 -0
  1484. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SingleMemcmpTest.cpp +17 -0
  1485. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SingleStrcmpTest.cpp +17 -0
  1486. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SingleStrncmpTest.cpp +17 -0
  1487. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SpamyTest.cpp +21 -0
  1488. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/StrcmpTest.cpp +32 -0
  1489. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/StrncmpOOBTest.cpp +21 -0
  1490. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/StrncmpTest.cpp +28 -0
  1491. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/StrstrTest.cpp +28 -0
  1492. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SwapCmpTest.cpp +34 -0
  1493. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/Switch2Test.cpp +35 -0
  1494. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/SwitchTest.cpp +58 -0
  1495. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/ThreadedLeakTest.cpp +18 -0
  1496. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/ThreadedTest.cpp +26 -0
  1497. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/TimeoutEmptyTest.cpp +14 -0
  1498. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/TimeoutTest.cpp +26 -0
  1499. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/TraceMallocTest.cpp +27 -0
  1500. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/UninstrumentedTest.cpp +11 -0
  1501. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/afl-driver-extra-stats.test +28 -0
  1502. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/afl-driver-stderr.test +10 -0
  1503. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/caller-callee.test +2 -0
  1504. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/coverage.test +19 -0
  1505. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/dict1.txt +4 -0
  1506. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/dump_coverage.test +16 -0
  1507. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-customcrossover.test +10 -0
  1508. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-custommutator.test +4 -0
  1509. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-dict.test +6 -0
  1510. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-dirs.test +15 -0
  1511. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-fdmask.test +30 -0
  1512. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-finalstats.test +11 -0
  1513. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-flags.test +10 -0
  1514. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-jobs.test +29 -0
  1515. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-leak.test +35 -0
  1516. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-oom-with-profile.test +6 -0
  1517. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-oom.test +11 -0
  1518. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-printcovpcs.test +8 -0
  1519. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-runs.test +8 -0
  1520. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-seed.test +3 -0
  1521. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-segv.test +5 -0
  1522. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-singleinputs.test +16 -0
  1523. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-threaded.test +7 -0
  1524. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-timeout.test +19 -0
  1525. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-traces-hooks.test +25 -0
  1526. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer-ubsan.test +4 -0
  1527. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/fuzzer.test +57 -0
  1528. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/hi.txt +1 -0
  1529. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/lit.cfg +29 -0
  1530. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/lit.site.cfg.in +4 -0
  1531. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/merge.test +46 -0
  1532. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/minimize_crash.test +6 -0
  1533. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/no-coverage/CMakeLists.txt +29 -0
  1534. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/repeated-bytes.test +2 -0
  1535. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/shrink.test +7 -0
  1536. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/simple-cmp.test +2 -0
  1537. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/standalone.test +4 -0
  1538. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/swap-cmp.test +2 -0
  1539. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/trace-malloc.test +10 -0
  1540. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/ubsan/CMakeLists.txt +15 -0
  1541. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/ulimit.test +2 -0
  1542. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/uninstrumented/CMakeLists.txt +16 -0
  1543. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/unit/lit.cfg +7 -0
  1544. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/unit/lit.site.cfg.in +2 -0
  1545. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-cmp.test +2 -0
  1546. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-cmp2.test +2 -0
  1547. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-cmp3.test +2 -0
  1548. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-cmp4.test +2 -0
  1549. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-div.test +3 -0
  1550. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-load.test +3 -0
  1551. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-mem.test +2 -0
  1552. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-set.test +3 -0
  1553. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-strcmp.test +2 -0
  1554. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-strncmp.test +2 -0
  1555. data/vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/value-profile-switch.test +3 -0
  1556. data/vendor/simdjson/dependencies/json/test/thirdparty/doctest/LICENSE.txt +21 -0
  1557. data/vendor/simdjson/dependencies/json/test/thirdparty/doctest/doctest.h +6025 -0
  1558. data/vendor/simdjson/dependencies/json/test/thirdparty/doctest/doctest_compatibility.h +37 -0
  1559. data/vendor/simdjson/dependencies/json/test/thirdparty/fastcov/LICENSE +21 -0
  1560. data/vendor/simdjson/dependencies/json/test/thirdparty/fastcov/README.md +46 -0
  1561. data/vendor/simdjson/dependencies/json/test/thirdparty/fastcov/fastcov.py +372 -0
  1562. data/vendor/simdjson/dependencies/json/test/thirdparty/fifo_map/LICENSE.MIT +21 -0
  1563. data/vendor/simdjson/dependencies/json/test/thirdparty/fifo_map/fifo_map.hpp +530 -0
  1564. data/vendor/simdjson/dependencies/json/test/thirdparty/imapdl/filterbr.py +109 -0
  1565. data/vendor/simdjson/dependencies/json/test/thirdparty/imapdl/gpl-3.0.txt +674 -0
  1566. data/vendor/simdjson/dependencies/json/third_party/amalgamate/CHANGES.md +10 -0
  1567. data/vendor/simdjson/dependencies/json/third_party/amalgamate/LICENSE.md +27 -0
  1568. data/vendor/simdjson/dependencies/json/third_party/amalgamate/README.md +66 -0
  1569. data/vendor/simdjson/dependencies/json/third_party/amalgamate/amalgamate.py +299 -0
  1570. data/vendor/simdjson/dependencies/json/third_party/cpplint/LICENSE +27 -0
  1571. data/vendor/simdjson/dependencies/json/third_party/cpplint/README.rst +80 -0
  1572. data/vendor/simdjson/dependencies/json/third_party/cpplint/cpplint.py +6583 -0
  1573. data/vendor/simdjson/dependencies/json/third_party/cpplint/update.sh +5 -0
  1574. data/vendor/simdjson/dependencies/json11/CMakeLists.txt +57 -0
  1575. data/vendor/simdjson/dependencies/json11/LICENSE.txt +19 -0
  1576. data/vendor/simdjson/dependencies/json11/Makefile +15 -0
  1577. data/vendor/simdjson/dependencies/json11/README.md +42 -0
  1578. data/vendor/simdjson/dependencies/json11/json11.cpp +788 -0
  1579. data/vendor/simdjson/dependencies/json11/json11.hpp +232 -0
  1580. data/vendor/simdjson/dependencies/json11/json11.pc.in +9 -0
  1581. data/vendor/simdjson/dependencies/json11/test.cpp +281 -0
  1582. data/vendor/simdjson/dependencies/jsoncpp/AUTHORS +111 -0
  1583. data/vendor/simdjson/dependencies/jsoncpp/CMakeLists.txt +186 -0
  1584. data/vendor/simdjson/dependencies/jsoncpp/CTestConfig.cmake +15 -0
  1585. data/vendor/simdjson/dependencies/jsoncpp/LICENSE +55 -0
  1586. data/vendor/simdjson/dependencies/jsoncpp/README.md +144 -0
  1587. data/vendor/simdjson/dependencies/jsoncpp/amalgamate.py +155 -0
  1588. data/vendor/simdjson/dependencies/jsoncpp/appveyor.yml +26 -0
  1589. data/vendor/simdjson/dependencies/jsoncpp/dev.makefile +35 -0
  1590. data/vendor/simdjson/dependencies/jsoncpp/devtools/__init__.py +6 -0
  1591. data/vendor/simdjson/dependencies/jsoncpp/devtools/antglob.py +205 -0
  1592. data/vendor/simdjson/dependencies/jsoncpp/devtools/batchbuild.py +278 -0
  1593. data/vendor/simdjson/dependencies/jsoncpp/devtools/fixeol.py +70 -0
  1594. data/vendor/simdjson/dependencies/jsoncpp/devtools/licenseupdater.py +94 -0
  1595. data/vendor/simdjson/dependencies/jsoncpp/devtools/tarball.py +52 -0
  1596. data/vendor/simdjson/dependencies/jsoncpp/doc/doxyfile.in +2302 -0
  1597. data/vendor/simdjson/dependencies/jsoncpp/doc/footer.html +21 -0
  1598. data/vendor/simdjson/dependencies/jsoncpp/doc/header.html +64 -0
  1599. data/vendor/simdjson/dependencies/jsoncpp/doc/jsoncpp.dox +164 -0
  1600. data/vendor/simdjson/dependencies/jsoncpp/doc/readme.txt +1 -0
  1601. data/vendor/simdjson/dependencies/jsoncpp/doc/roadmap.dox +3 -0
  1602. data/vendor/simdjson/dependencies/jsoncpp/doc/web_doxyfile.in +2290 -0
  1603. data/vendor/simdjson/dependencies/jsoncpp/doxybuild.py +189 -0
  1604. data/vendor/simdjson/dependencies/jsoncpp/include/CMakeLists.txt +2 -0
  1605. data/vendor/simdjson/dependencies/jsoncpp/include/json/allocator.h +89 -0
  1606. data/vendor/simdjson/dependencies/jsoncpp/include/json/assertions.h +59 -0
  1607. data/vendor/simdjson/dependencies/jsoncpp/include/json/autolink.h +25 -0
  1608. data/vendor/simdjson/dependencies/jsoncpp/include/json/config.h +198 -0
  1609. data/vendor/simdjson/dependencies/jsoncpp/include/json/features.h +61 -0
  1610. data/vendor/simdjson/dependencies/jsoncpp/include/json/forwards.h +37 -0
  1611. data/vendor/simdjson/dependencies/jsoncpp/include/json/json.h +15 -0
  1612. data/vendor/simdjson/dependencies/jsoncpp/include/json/reader.h +417 -0
  1613. data/vendor/simdjson/dependencies/jsoncpp/include/json/value.h +909 -0
  1614. data/vendor/simdjson/dependencies/jsoncpp/include/json/version.h +22 -0
  1615. data/vendor/simdjson/dependencies/jsoncpp/include/json/writer.h +368 -0
  1616. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2010/jsoncpp.sln +42 -0
  1617. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2010/jsontest.vcxproj +96 -0
  1618. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2010/jsontest.vcxproj.filters +13 -0
  1619. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2010/lib_json.vcxproj +143 -0
  1620. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2010/lib_json.vcxproj.filters +33 -0
  1621. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj +109 -0
  1622. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj.filters +24 -0
  1623. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2017/jsoncpp.sln +64 -0
  1624. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2017/jsontest.vcxproj +168 -0
  1625. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2017/lib_json.vcxproj +258 -0
  1626. data/vendor/simdjson/dependencies/jsoncpp/makefiles/msvc2017/test_lib_json.vcxproj +189 -0
  1627. data/vendor/simdjson/dependencies/jsoncpp/makefiles/vs71/jsoncpp.sln +46 -0
  1628. data/vendor/simdjson/dependencies/jsoncpp/makefiles/vs71/jsontest.vcproj +119 -0
  1629. data/vendor/simdjson/dependencies/jsoncpp/makefiles/vs71/lib_json.vcproj +205 -0
  1630. data/vendor/simdjson/dependencies/jsoncpp/makefiles/vs71/test_lib_json.vcproj +130 -0
  1631. data/vendor/simdjson/dependencies/jsoncpp/makerelease.py +390 -0
  1632. data/vendor/simdjson/dependencies/jsoncpp/meson.build +115 -0
  1633. data/vendor/simdjson/dependencies/jsoncpp/pkg-config/jsoncpp.pc.in +9 -0
  1634. data/vendor/simdjson/dependencies/jsoncpp/src/CMakeLists.txt +5 -0
  1635. data/vendor/simdjson/dependencies/jsoncpp/src/jsontestrunner/CMakeLists.txt +36 -0
  1636. data/vendor/simdjson/dependencies/jsoncpp/src/jsontestrunner/main.cpp +300 -0
  1637. data/vendor/simdjson/dependencies/jsoncpp/src/lib_json/CMakeLists.txt +145 -0
  1638. data/vendor/simdjson/dependencies/jsoncpp/src/lib_json/json_reader.cpp +2008 -0
  1639. data/vendor/simdjson/dependencies/jsoncpp/src/lib_json/json_tool.h +134 -0
  1640. data/vendor/simdjson/dependencies/jsoncpp/src/lib_json/json_value.cpp +1713 -0
  1641. data/vendor/simdjson/dependencies/jsoncpp/src/lib_json/json_valueiterator.inl +159 -0
  1642. data/vendor/simdjson/dependencies/jsoncpp/src/lib_json/json_writer.cpp +1253 -0
  1643. data/vendor/simdjson/dependencies/jsoncpp/src/lib_json/version.h.in +20 -0
  1644. data/vendor/simdjson/dependencies/jsoncpp/src/test_lib_json/CMakeLists.txt +40 -0
  1645. data/vendor/simdjson/dependencies/jsoncpp/src/test_lib_json/jsontest.cpp +435 -0
  1646. data/vendor/simdjson/dependencies/jsoncpp/src/test_lib_json/jsontest.h +276 -0
  1647. data/vendor/simdjson/dependencies/jsoncpp/src/test_lib_json/main.cpp +2597 -0
  1648. data/vendor/simdjson/dependencies/jsoncpp/test/cleantests.py +16 -0
  1649. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_array_01.expected +1 -0
  1650. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_array_02.expected +2 -0
  1651. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_array_03.expected +6 -0
  1652. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_array_04.expected +5 -0
  1653. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_array_05.expected +100 -0
  1654. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_array_06.expected +5 -0
  1655. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_array_07.expected +2122 -0
  1656. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_01.expected +1 -0
  1657. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_02.expected +1 -0
  1658. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_03.expected +3 -0
  1659. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_04.expected +2 -0
  1660. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_05.expected +2 -0
  1661. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_06.expected +2 -0
  1662. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_07.expected +2 -0
  1663. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_08.expected +3 -0
  1664. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_basic_09.expected +4 -0
  1665. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_comment_00.expected +4 -0
  1666. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_comment_01.expected +10 -0
  1667. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_comment_02.expected +23 -0
  1668. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_complex_01.expected +20 -0
  1669. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_integer_01.expected +2 -0
  1670. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_integer_02.expected +2 -0
  1671. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_integer_03.expected +2 -0
  1672. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_integer_04.expected +3 -0
  1673. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_integer_05.expected +2 -0
  1674. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_integer_06_64bits.expected +1 -0
  1675. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_integer_07_64bits.expected +1 -0
  1676. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_integer_08_64bits.expected +1 -0
  1677. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_large_01.expected +2122 -0
  1678. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_object_01.expected +1 -0
  1679. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_object_02.expected +2 -0
  1680. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_object_03.expected +4 -0
  1681. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_object_04.expected +2 -0
  1682. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_preserve_comment_01.expected +11 -0
  1683. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_01.expected +3 -0
  1684. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_02.expected +3 -0
  1685. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_03.expected +3 -0
  1686. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_04.expected +3 -0
  1687. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_05.expected +4 -0
  1688. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_06.expected +4 -0
  1689. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_07.expected +4 -0
  1690. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_08.expected +4 -0
  1691. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_09.expected +4 -0
  1692. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_10.expected +4 -0
  1693. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_11.expected +4 -0
  1694. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_real_12.expected +2 -0
  1695. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_01.expected +1 -0
  1696. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_02.expected +1 -0
  1697. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_03.expected +1 -0
  1698. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_04.expected +2 -0
  1699. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_05.expected +2 -0
  1700. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_unicode_01.expected +1 -0
  1701. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_unicode_02.expected +1 -0
  1702. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_unicode_03.expected +1 -0
  1703. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_unicode_04.expected +1 -0
  1704. data/vendor/simdjson/dependencies/jsoncpp/test/data/test_string_unicode_05.expected +2 -0
  1705. data/vendor/simdjson/dependencies/jsoncpp/test/generate_expected.py +17 -0
  1706. data/vendor/simdjson/dependencies/jsoncpp/test/jsonchecker/readme.txt +3 -0
  1707. data/vendor/simdjson/dependencies/jsoncpp/test/pyjsontestrunner.py +71 -0
  1708. data/vendor/simdjson/dependencies/jsoncpp/test/runjsontests.py +210 -0
  1709. data/vendor/simdjson/dependencies/jsoncpp/test/rununittests.py +84 -0
  1710. data/vendor/simdjson/dependencies/jsoncpp/version +1 -0
  1711. data/vendor/simdjson/dependencies/jsoncpp/version.in +1 -0
  1712. data/vendor/simdjson/dependencies/jsoncppdist/jsoncpp.cpp +8 -0
  1713. data/vendor/simdjson/dependencies/rapidjson/CHANGELOG.md +158 -0
  1714. data/vendor/simdjson/dependencies/rapidjson/CMakeLists.txt +221 -0
  1715. data/vendor/simdjson/dependencies/rapidjson/CMakeModules/FindGTestSrc.cmake +30 -0
  1716. data/vendor/simdjson/dependencies/rapidjson/RapidJSON.pc.in +7 -0
  1717. data/vendor/simdjson/dependencies/rapidjson/RapidJSONConfig.cmake.in +15 -0
  1718. data/vendor/simdjson/dependencies/rapidjson/RapidJSONConfigVersion.cmake.in +10 -0
  1719. data/vendor/simdjson/dependencies/rapidjson/appveyor.yml +41 -0
  1720. data/vendor/simdjson/dependencies/rapidjson/bin/data/readme.txt +1 -0
  1721. data/vendor/simdjson/dependencies/rapidjson/bin/draft-04/schema +150 -0
  1722. data/vendor/simdjson/dependencies/rapidjson/bin/jsonchecker/readme.txt +3 -0
  1723. data/vendor/simdjson/dependencies/rapidjson/bin/jsonschema/LICENSE +19 -0
  1724. data/vendor/simdjson/dependencies/rapidjson/bin/jsonschema/README.md +148 -0
  1725. data/vendor/simdjson/dependencies/rapidjson/bin/jsonschema/bin/jsonschema_suite +283 -0
  1726. data/vendor/simdjson/dependencies/rapidjson/bin/jsonschema/tox.ini +8 -0
  1727. data/vendor/simdjson/dependencies/rapidjson/bin/types/readme.txt +1 -0
  1728. data/vendor/simdjson/dependencies/rapidjson/contrib/natvis/LICENSE +45 -0
  1729. data/vendor/simdjson/dependencies/rapidjson/contrib/natvis/README.md +7 -0
  1730. data/vendor/simdjson/dependencies/rapidjson/contrib/natvis/rapidjson.natvis +38 -0
  1731. data/vendor/simdjson/dependencies/rapidjson/doc/CMakeLists.txt +27 -0
  1732. data/vendor/simdjson/dependencies/rapidjson/doc/Doxyfile.in +2369 -0
  1733. data/vendor/simdjson/dependencies/rapidjson/doc/Doxyfile.zh-cn.in +2369 -0
  1734. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/architecture.dot +50 -0
  1735. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/architecture.png +0 -0
  1736. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/insituparsing.dot +65 -0
  1737. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/insituparsing.png +0 -0
  1738. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/iterative-parser-states-diagram.dot +62 -0
  1739. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/iterative-parser-states-diagram.png +0 -0
  1740. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/makefile +8 -0
  1741. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/move1.dot +47 -0
  1742. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/move1.png +0 -0
  1743. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/move2.dot +62 -0
  1744. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/move2.png +0 -0
  1745. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/move3.dot +60 -0
  1746. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/move3.png +0 -0
  1747. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/normalparsing.dot +56 -0
  1748. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/normalparsing.png +0 -0
  1749. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/simpledom.dot +54 -0
  1750. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/simpledom.png +0 -0
  1751. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/tutorial.dot +58 -0
  1752. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/tutorial.png +0 -0
  1753. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/utilityclass.dot +73 -0
  1754. data/vendor/simdjson/dependencies/rapidjson/doc/diagram/utilityclass.png +0 -0
  1755. data/vendor/simdjson/dependencies/rapidjson/doc/dom.md +280 -0
  1756. data/vendor/simdjson/dependencies/rapidjson/doc/dom.zh-cn.md +284 -0
  1757. data/vendor/simdjson/dependencies/rapidjson/doc/encoding.md +146 -0
  1758. data/vendor/simdjson/dependencies/rapidjson/doc/encoding.zh-cn.md +152 -0
  1759. data/vendor/simdjson/dependencies/rapidjson/doc/faq.md +289 -0
  1760. data/vendor/simdjson/dependencies/rapidjson/doc/faq.zh-cn.md +290 -0
  1761. data/vendor/simdjson/dependencies/rapidjson/doc/features.md +104 -0
  1762. data/vendor/simdjson/dependencies/rapidjson/doc/features.zh-cn.md +103 -0
  1763. data/vendor/simdjson/dependencies/rapidjson/doc/internals.md +368 -0
  1764. data/vendor/simdjson/dependencies/rapidjson/doc/internals.zh-cn.md +363 -0
  1765. data/vendor/simdjson/dependencies/rapidjson/doc/logo/rapidjson.png +0 -0
  1766. data/vendor/simdjson/dependencies/rapidjson/doc/logo/rapidjson.svg +119 -0
  1767. data/vendor/simdjson/dependencies/rapidjson/doc/misc/DoxygenLayout.xml +194 -0
  1768. data/vendor/simdjson/dependencies/rapidjson/doc/misc/doxygenextra.css +274 -0
  1769. data/vendor/simdjson/dependencies/rapidjson/doc/misc/footer.html +11 -0
  1770. data/vendor/simdjson/dependencies/rapidjson/doc/misc/header.html +24 -0
  1771. data/vendor/simdjson/dependencies/rapidjson/doc/npm.md +31 -0
  1772. data/vendor/simdjson/dependencies/rapidjson/doc/performance.md +26 -0
  1773. data/vendor/simdjson/dependencies/rapidjson/doc/performance.zh-cn.md +26 -0
  1774. data/vendor/simdjson/dependencies/rapidjson/doc/pointer.md +234 -0
  1775. data/vendor/simdjson/dependencies/rapidjson/doc/pointer.zh-cn.md +234 -0
  1776. data/vendor/simdjson/dependencies/rapidjson/doc/sax.md +509 -0
  1777. data/vendor/simdjson/dependencies/rapidjson/doc/sax.zh-cn.md +487 -0
  1778. data/vendor/simdjson/dependencies/rapidjson/doc/schema.md +505 -0
  1779. data/vendor/simdjson/dependencies/rapidjson/doc/schema.zh-cn.md +237 -0
  1780. data/vendor/simdjson/dependencies/rapidjson/doc/stream.md +429 -0
  1781. data/vendor/simdjson/dependencies/rapidjson/doc/stream.zh-cn.md +429 -0
  1782. data/vendor/simdjson/dependencies/rapidjson/doc/tutorial.md +536 -0
  1783. data/vendor/simdjson/dependencies/rapidjson/doc/tutorial.zh-cn.md +534 -0
  1784. data/vendor/simdjson/dependencies/rapidjson/docker/debian/Dockerfile +8 -0
  1785. data/vendor/simdjson/dependencies/rapidjson/example/CMakeLists.txt +45 -0
  1786. data/vendor/simdjson/dependencies/rapidjson/example/archiver/archiver.cpp +292 -0
  1787. data/vendor/simdjson/dependencies/rapidjson/example/archiver/archiver.h +145 -0
  1788. data/vendor/simdjson/dependencies/rapidjson/example/archiver/archivertest.cpp +287 -0
  1789. data/vendor/simdjson/dependencies/rapidjson/example/capitalize/capitalize.cpp +67 -0
  1790. data/vendor/simdjson/dependencies/rapidjson/example/condense/condense.cpp +32 -0
  1791. data/vendor/simdjson/dependencies/rapidjson/example/filterkey/filterkey.cpp +135 -0
  1792. data/vendor/simdjson/dependencies/rapidjson/example/filterkeydom/filterkeydom.cpp +170 -0
  1793. data/vendor/simdjson/dependencies/rapidjson/example/jsonx/jsonx.cpp +207 -0
  1794. data/vendor/simdjson/dependencies/rapidjson/example/lookaheadparser/lookaheadparser.cpp +350 -0
  1795. data/vendor/simdjson/dependencies/rapidjson/example/messagereader/messagereader.cpp +105 -0
  1796. data/vendor/simdjson/dependencies/rapidjson/example/parsebyparts/parsebyparts.cpp +176 -0
  1797. data/vendor/simdjson/dependencies/rapidjson/example/pretty/pretty.cpp +30 -0
  1798. data/vendor/simdjson/dependencies/rapidjson/example/prettyauto/prettyauto.cpp +56 -0
  1799. data/vendor/simdjson/dependencies/rapidjson/example/schemavalidator/schemavalidator.cpp +78 -0
  1800. data/vendor/simdjson/dependencies/rapidjson/example/serialize/serialize.cpp +173 -0
  1801. data/vendor/simdjson/dependencies/rapidjson/example/simpledom/simpledom.cpp +29 -0
  1802. data/vendor/simdjson/dependencies/rapidjson/example/simplepullreader/simplepullreader.cpp +53 -0
  1803. data/vendor/simdjson/dependencies/rapidjson/example/simplereader/simplereader.cpp +42 -0
  1804. data/vendor/simdjson/dependencies/rapidjson/example/simplewriter/simplewriter.cpp +36 -0
  1805. data/vendor/simdjson/dependencies/rapidjson/example/tutorial/tutorial.cpp +151 -0
  1806. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/allocators.h +284 -0
  1807. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/cursorstreamwrapper.h +78 -0
  1808. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/document.h +2658 -0
  1809. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/encodedstream.h +299 -0
  1810. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/encodings.h +716 -0
  1811. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/error/en.h +74 -0
  1812. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/error/error.h +161 -0
  1813. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/filereadstream.h +99 -0
  1814. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/filewritestream.h +104 -0
  1815. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/fwd.h +151 -0
  1816. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/biginteger.h +290 -0
  1817. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/diyfp.h +258 -0
  1818. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/dtoa.h +245 -0
  1819. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/ieee754.h +78 -0
  1820. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/itoa.h +309 -0
  1821. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/meta.h +186 -0
  1822. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/pow10.h +55 -0
  1823. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/regex.h +732 -0
  1824. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/stack.h +231 -0
  1825. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/strfunc.h +69 -0
  1826. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/strtod.h +269 -0
  1827. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/internal/swap.h +46 -0
  1828. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/istreamwrapper.h +113 -0
  1829. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/memorybuffer.h +70 -0
  1830. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/memorystream.h +71 -0
  1831. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/msinttypes/inttypes.h +316 -0
  1832. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/msinttypes/stdint.h +300 -0
  1833. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/ostreamwrapper.h +81 -0
  1834. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/pointer.h +1357 -0
  1835. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/prettywriter.h +277 -0
  1836. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/rapidjson.h +628 -0
  1837. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/reader.h +2216 -0
  1838. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/schema.h +2483 -0
  1839. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/stream.h +223 -0
  1840. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/stringbuffer.h +121 -0
  1841. data/vendor/simdjson/dependencies/rapidjson/include/rapidjson/writer.h +710 -0
  1842. data/vendor/simdjson/dependencies/rapidjson/include_dirs.js +2 -0
  1843. data/vendor/simdjson/dependencies/rapidjson/license.txt +57 -0
  1844. data/vendor/simdjson/dependencies/rapidjson/rapidjson.autopkg +77 -0
  1845. data/vendor/simdjson/dependencies/rapidjson/readme.md +160 -0
  1846. data/vendor/simdjson/dependencies/rapidjson/readme.zh-cn.md +152 -0
  1847. data/vendor/simdjson/dependencies/rapidjson/test/CMakeLists.txt +20 -0
  1848. data/vendor/simdjson/dependencies/rapidjson/test/perftest/CMakeLists.txt +28 -0
  1849. data/vendor/simdjson/dependencies/rapidjson/test/perftest/misctest.cpp +974 -0
  1850. data/vendor/simdjson/dependencies/rapidjson/test/perftest/perftest.cpp +24 -0
  1851. data/vendor/simdjson/dependencies/rapidjson/test/perftest/perftest.h +185 -0
  1852. data/vendor/simdjson/dependencies/rapidjson/test/perftest/platformtest.cpp +166 -0
  1853. data/vendor/simdjson/dependencies/rapidjson/test/perftest/rapidjsontest.cpp +472 -0
  1854. data/vendor/simdjson/dependencies/rapidjson/test/perftest/schematest.cpp +216 -0
  1855. data/vendor/simdjson/dependencies/rapidjson/test/unittest/CMakeLists.txt +92 -0
  1856. data/vendor/simdjson/dependencies/rapidjson/test/unittest/allocatorstest.cpp +102 -0
  1857. data/vendor/simdjson/dependencies/rapidjson/test/unittest/bigintegertest.cpp +133 -0
  1858. data/vendor/simdjson/dependencies/rapidjson/test/unittest/cursorstreamwrappertest.cpp +115 -0
  1859. data/vendor/simdjson/dependencies/rapidjson/test/unittest/documenttest.cpp +672 -0
  1860. data/vendor/simdjson/dependencies/rapidjson/test/unittest/dtoatest.cpp +98 -0
  1861. data/vendor/simdjson/dependencies/rapidjson/test/unittest/encodedstreamtest.cpp +313 -0
  1862. data/vendor/simdjson/dependencies/rapidjson/test/unittest/encodingstest.cpp +451 -0
  1863. data/vendor/simdjson/dependencies/rapidjson/test/unittest/filestreamtest.cpp +112 -0
  1864. data/vendor/simdjson/dependencies/rapidjson/test/unittest/fwdtest.cpp +230 -0
  1865. data/vendor/simdjson/dependencies/rapidjson/test/unittest/istreamwrappertest.cpp +181 -0
  1866. data/vendor/simdjson/dependencies/rapidjson/test/unittest/itoatest.cpp +160 -0
  1867. data/vendor/simdjson/dependencies/rapidjson/test/unittest/jsoncheckertest.cpp +143 -0
  1868. data/vendor/simdjson/dependencies/rapidjson/test/unittest/namespacetest.cpp +70 -0
  1869. data/vendor/simdjson/dependencies/rapidjson/test/unittest/ostreamwrappertest.cpp +92 -0
  1870. data/vendor/simdjson/dependencies/rapidjson/test/unittest/pointertest.cpp +1529 -0
  1871. data/vendor/simdjson/dependencies/rapidjson/test/unittest/prettywritertest.cpp +344 -0
  1872. data/vendor/simdjson/dependencies/rapidjson/test/unittest/readertest.cpp +1895 -0
  1873. data/vendor/simdjson/dependencies/rapidjson/test/unittest/regextest.cpp +638 -0
  1874. data/vendor/simdjson/dependencies/rapidjson/test/unittest/schematest.cpp +2045 -0
  1875. data/vendor/simdjson/dependencies/rapidjson/test/unittest/simdtest.cpp +219 -0
  1876. data/vendor/simdjson/dependencies/rapidjson/test/unittest/strfunctest.cpp +30 -0
  1877. data/vendor/simdjson/dependencies/rapidjson/test/unittest/stringbuffertest.cpp +192 -0
  1878. data/vendor/simdjson/dependencies/rapidjson/test/unittest/strtodtest.cpp +132 -0
  1879. data/vendor/simdjson/dependencies/rapidjson/test/unittest/unittest.cpp +51 -0
  1880. data/vendor/simdjson/dependencies/rapidjson/test/unittest/unittest.h +140 -0
  1881. data/vendor/simdjson/dependencies/rapidjson/test/unittest/valuetest.cpp +1851 -0
  1882. data/vendor/simdjson/dependencies/rapidjson/test/unittest/writertest.cpp +598 -0
  1883. data/vendor/simdjson/dependencies/rapidjson/test/valgrind.supp +17 -0
  1884. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/CMakeLists.txt +16 -0
  1885. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/README.md +141 -0
  1886. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/CHANGES +126 -0
  1887. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/CMakeLists.txt +202 -0
  1888. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/CONTRIBUTORS +40 -0
  1889. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/LICENSE +28 -0
  1890. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/Makefile.am +224 -0
  1891. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/README.md +333 -0
  1892. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/configure.ac +146 -0
  1893. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/CheatSheet.md +562 -0
  1894. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/CookBook.md +3675 -0
  1895. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/DesignDoc.md +280 -0
  1896. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/DevGuide.md +132 -0
  1897. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/Documentation.md +12 -0
  1898. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/ForDummies.md +439 -0
  1899. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/FrequentlyAskedQuestions.md +628 -0
  1900. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/KnownIssues.md +19 -0
  1901. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CheatSheet.md +525 -0
  1902. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CookBook.md +3250 -0
  1903. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/Documentation.md +11 -0
  1904. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/ForDummies.md +439 -0
  1905. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +624 -0
  1906. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CheatSheet.md +534 -0
  1907. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CookBook.md +3342 -0
  1908. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/Documentation.md +12 -0
  1909. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/ForDummies.md +439 -0
  1910. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +628 -0
  1911. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CheatSheet.md +556 -0
  1912. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CookBook.md +3432 -0
  1913. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/Documentation.md +12 -0
  1914. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/ForDummies.md +439 -0
  1915. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +628 -0
  1916. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-actions.h +1205 -0
  1917. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-cardinalities.h +147 -0
  1918. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h +2377 -0
  1919. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h.pump +794 -0
  1920. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h +1095 -0
  1921. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +291 -0
  1922. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h +2179 -0
  1923. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h.pump +672 -0
  1924. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h +397 -0
  1925. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +161 -0
  1926. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-matchers.h +4399 -0
  1927. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-actions.h +246 -0
  1928. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h +58 -0
  1929. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h +1847 -0
  1930. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock.h +94 -0
  1931. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +8 -0
  1932. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +10 -0
  1933. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h +39 -0
  1934. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-port.h +46 -0
  1935. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +279 -0
  1936. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +136 -0
  1937. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h +511 -0
  1938. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-port.h +91 -0
  1939. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/make/Makefile +101 -0
  1940. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.sln +32 -0
  1941. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.vcproj +191 -0
  1942. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_config.vsprops +15 -0
  1943. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_main.vcproj +187 -0
  1944. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_test.vcproj +201 -0
  1945. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.sln +32 -0
  1946. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.vcxproj +82 -0
  1947. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_config.props +19 -0
  1948. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_main.vcxproj +88 -0
  1949. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_test.vcxproj +101 -0
  1950. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.sln +32 -0
  1951. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.vcxproj +84 -0
  1952. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_config.props +19 -0
  1953. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_main.vcxproj +90 -0
  1954. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_test.vcxproj +103 -0
  1955. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/fuse_gmock_files.py +240 -0
  1956. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/LICENSE +203 -0
  1957. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README +35 -0
  1958. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README.cppclean +115 -0
  1959. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/__init__.py +0 -0
  1960. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/ast.py +1733 -0
  1961. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class.py +227 -0
  1962. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class_test.py +448 -0
  1963. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/keywords.py +59 -0
  1964. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/tokenize.py +287 -0
  1965. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/utils.py +41 -0
  1966. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/generator/gmock_gen.py +31 -0
  1967. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/gmock-config.in +303 -0
  1968. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/gmock_doctor.py +640 -0
  1969. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/upload.py +1387 -0
  1970. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/scripts/upload_gmock.py +78 -0
  1971. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/src/gmock-all.cc +47 -0
  1972. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/src/gmock-cardinalities.cc +156 -0
  1973. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/src/gmock-internal-utils.cc +174 -0
  1974. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/src/gmock-matchers.cc +498 -0
  1975. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/src/gmock-spec-builders.cc +823 -0
  1976. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/src/gmock.cc +183 -0
  1977. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/src/gmock_main.cc +54 -0
  1978. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-actions_test.cc +1411 -0
  1979. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-cardinalities_test.cc +428 -0
  1980. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-actions_test.cc +1228 -0
  1981. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-function-mockers_test.cc +622 -0
  1982. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-internal-utils_test.cc +127 -0
  1983. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-matchers_test.cc +1286 -0
  1984. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-internal-utils_test.cc +699 -0
  1985. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-matchers_test.cc +5648 -0
  1986. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-more-actions_test.cc +708 -0
  1987. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-nice-strict_test.cc +424 -0
  1988. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-port_test.cc +43 -0
  1989. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock-spec-builders_test.cc +2644 -0
  1990. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_all_test.cc +51 -0
  1991. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_ex_test.cc +81 -0
  1992. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test.py +108 -0
  1993. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test_.cc +100 -0
  1994. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_link2_test.cc +40 -0
  1995. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.cc +40 -0
  1996. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.h +669 -0
  1997. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test.py +180 -0
  1998. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_.cc +291 -0
  1999. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_golden.txt +310 -0
  2000. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_stress_test.cc +322 -0
  2001. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_test.cc +220 -0
  2002. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googlemock/test/gmock_test_utils.py +112 -0
  2003. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/CHANGES +157 -0
  2004. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt +286 -0
  2005. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/CONTRIBUTORS +37 -0
  2006. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/LICENSE +28 -0
  2007. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/Makefile.am +310 -0
  2008. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/README.md +280 -0
  2009. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/cmake/internal_utils.cmake +242 -0
  2010. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/codegear/gtest.cbproj +138 -0
  2011. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/codegear/gtest.groupproj +54 -0
  2012. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/codegear/gtest_all.cc +38 -0
  2013. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/codegear/gtest_link.cc +40 -0
  2014. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/codegear/gtest_main.cbproj +82 -0
  2015. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/codegear/gtest_unittest.cbproj +88 -0
  2016. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/configure.ac +68 -0
  2017. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/AdvancedGuide.md +2182 -0
  2018. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/DevGuide.md +126 -0
  2019. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/Documentation.md +14 -0
  2020. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/FAQ.md +1087 -0
  2021. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/Primer.md +502 -0
  2022. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/PumpManual.md +177 -0
  2023. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/Samples.md +14 -0
  2024. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_5_AdvancedGuide.md +2096 -0
  2025. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Documentation.md +12 -0
  2026. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_5_FAQ.md +886 -0
  2027. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Primer.md +497 -0
  2028. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_5_PumpManual.md +177 -0
  2029. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_5_XcodeGuide.md +93 -0
  2030. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_6_AdvancedGuide.md +2178 -0
  2031. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Documentation.md +14 -0
  2032. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_6_FAQ.md +1038 -0
  2033. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Primer.md +501 -0
  2034. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_6_PumpManual.md +177 -0
  2035. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Samples.md +14 -0
  2036. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_6_XcodeGuide.md +93 -0
  2037. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_7_AdvancedGuide.md +2181 -0
  2038. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Documentation.md +14 -0
  2039. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_7_FAQ.md +1082 -0
  2040. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Primer.md +501 -0
  2041. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_7_PumpManual.md +177 -0
  2042. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Samples.md +14 -0
  2043. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/V1_7_XcodeGuide.md +93 -0
  2044. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/docs/XcodeGuide.md +93 -0
  2045. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-death-test.h +294 -0
  2046. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-message.h +250 -0
  2047. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h +1444 -0
  2048. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  2049. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-printers.h +993 -0
  2050. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-spi.h +232 -0
  2051. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-test-part.h +179 -0
  2052. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-typed-test.h +263 -0
  2053. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest.h +2236 -0
  2054. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_pred_impl.h +358 -0
  2055. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_prod.h +58 -0
  2056. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  2057. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  2058. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest.h +41 -0
  2059. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  2060. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  2061. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  2062. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  2063. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  2064. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  2065. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  2066. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  2067. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port.h +2554 -0
  2068. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-string.h +167 -0
  2069. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  2070. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  2071. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  2072. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  2073. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/m4/acx_pthread.m4 +363 -0
  2074. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/m4/gtest.m4 +74 -0
  2075. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/make/Makefile +82 -0
  2076. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.sln +45 -0
  2077. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.vcproj +126 -0
  2078. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest.sln +45 -0
  2079. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest.vcproj +126 -0
  2080. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main-md.vcproj +129 -0
  2081. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main.vcproj +129 -0
  2082. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test-md.vcproj +164 -0
  2083. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test.vcproj +164 -0
  2084. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest-md.vcproj +147 -0
  2085. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest.vcproj +147 -0
  2086. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/prime_tables.h +123 -0
  2087. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample1.cc +68 -0
  2088. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample1.h +43 -0
  2089. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample10_unittest.cc +144 -0
  2090. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample1_unittest.cc +153 -0
  2091. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample2.cc +56 -0
  2092. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample2.h +85 -0
  2093. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample2_unittest.cc +109 -0
  2094. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample3-inl.h +172 -0
  2095. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample3_unittest.cc +151 -0
  2096. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample4.cc +46 -0
  2097. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample4.h +53 -0
  2098. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample4_unittest.cc +45 -0
  2099. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample5_unittest.cc +199 -0
  2100. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample6_unittest.cc +224 -0
  2101. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample7_unittest.cc +130 -0
  2102. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample8_unittest.cc +173 -0
  2103. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/samples/sample9_unittest.cc +160 -0
  2104. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/common.py +83 -0
  2105. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/fuse_gtest_files.py +253 -0
  2106. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/gen_gtest_pred_impl.py +730 -0
  2107. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/gtest-config.in +274 -0
  2108. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/pump.py +855 -0
  2109. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/release_docs.py +158 -0
  2110. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/test/Makefile +59 -0
  2111. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/upload.py +1387 -0
  2112. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/scripts/upload_gtest.py +78 -0
  2113. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest-all.cc +48 -0
  2114. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest-death-test.cc +1342 -0
  2115. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest-filepath.cc +387 -0
  2116. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest-internal-inl.h +1183 -0
  2117. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest-port.cc +1259 -0
  2118. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest-printers.cc +373 -0
  2119. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest-test-part.cc +110 -0
  2120. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest-typed-test.cc +118 -0
  2121. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest.cc +5388 -0
  2122. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/src/gtest_main.cc +38 -0
  2123. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_ex_test.cc +93 -0
  2124. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_test.cc +1427 -0
  2125. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-filepath_test.cc +662 -0
  2126. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-linked_ptr_test.cc +154 -0
  2127. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-listener_test.cc +311 -0
  2128. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-message_test.cc +159 -0
  2129. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-options_test.cc +215 -0
  2130. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test2_test.cc +65 -0
  2131. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.cc +1055 -0
  2132. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.h +57 -0
  2133. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-port_test.cc +1304 -0
  2134. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-printers_test.cc +1635 -0
  2135. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-test-part_test.cc +208 -0
  2136. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-tuple_test.cc +320 -0
  2137. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test2_test.cc +45 -0
  2138. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.cc +380 -0
  2139. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.h +66 -0
  2140. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest-unittest-api_test.cc +341 -0
  2141. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_all_test.cc +47 -0
  2142. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest.py +212 -0
  2143. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest_.cc +88 -0
  2144. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test.py +237 -0
  2145. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test_.cc +311 -0
  2146. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test.py +130 -0
  2147. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test_.cc +71 -0
  2148. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test.py +117 -0
  2149. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test_.cc +126 -0
  2150. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_environment_test.cc +192 -0
  2151. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest.py +636 -0
  2152. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest_.cc +140 -0
  2153. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test.py +172 -0
  2154. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test_.cc +46 -0
  2155. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest.py +207 -0
  2156. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest_.cc +157 -0
  2157. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_main_unittest.cc +45 -0
  2158. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_no_test_unittest.cc +56 -0
  2159. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test.py +340 -0
  2160. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_.cc +1062 -0
  2161. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_golden_lin.txt +743 -0
  2162. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_pred_impl_unittest.cc +2427 -0
  2163. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_premature_exit_test.cc +127 -0
  2164. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_prod_test.cc +57 -0
  2165. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_repeat_test.cc +253 -0
  2166. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test.py +325 -0
  2167. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test_.cc +103 -0
  2168. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_sole_header_test.cc +57 -0
  2169. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_stress_test.cc +256 -0
  2170. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_test_utils.py +320 -0
  2171. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_ex_test.cc +92 -0
  2172. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test.py +171 -0
  2173. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test_.cc +72 -0
  2174. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test.py +70 -0
  2175. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test_.cc +43 -0
  2176. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_unittest.cc +7706 -0
  2177. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile1_test_.cc +49 -0
  2178. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile2_test_.cc +49 -0
  2179. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfiles_test.py +132 -0
  2180. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest.py +308 -0
  2181. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest_.cc +181 -0
  2182. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_test_utils.py +194 -0
  2183. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/production.cc +36 -0
  2184. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/test/production.h +55 -0
  2185. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Config/DebugProject.xcconfig +30 -0
  2186. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Config/FrameworkTarget.xcconfig +17 -0
  2187. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Config/General.xcconfig +41 -0
  2188. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Config/ReleaseProject.xcconfig +32 -0
  2189. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +18 -0
  2190. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Config/TestTarget.xcconfig +8 -0
  2191. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Resources/Info.plist +30 -0
  2192. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/Info.plist +28 -0
  2193. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj +457 -0
  2194. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/runtests.sh +62 -0
  2195. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.cc +63 -0
  2196. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.h +59 -0
  2197. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget_test.cc +68 -0
  2198. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/runtests.sh +65 -0
  2199. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/versiongenerate.py +100 -0
  2200. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/googletest/xcode/gtest.xcodeproj/project.pbxproj +1135 -0
  2201. data/vendor/simdjson/dependencies/rapidjson/thirdparty/gtest/travis.sh +15 -0
  2202. data/vendor/simdjson/dependencies/rapidjson/travis-doxygen.sh +121 -0
  2203. data/vendor/simdjson/dependencies/sajson/LICENSE.txt +7 -0
  2204. data/vendor/simdjson/dependencies/sajson/README.md +73 -0
  2205. data/vendor/simdjson/dependencies/sajson/SConscript +41 -0
  2206. data/vendor/simdjson/dependencies/sajson/SConstruct +95 -0
  2207. data/vendor/simdjson/dependencies/sajson/benchmark/benchmark.cpp +92 -0
  2208. data/vendor/simdjson/dependencies/sajson/doc/doxygen.config +2427 -0
  2209. data/vendor/simdjson/dependencies/sajson/example/main.cpp +127 -0
  2210. data/vendor/simdjson/dependencies/sajson/example/zero-allocation.cpp +28 -0
  2211. data/vendor/simdjson/dependencies/sajson/include/sajson.h +2493 -0
  2212. data/vendor/simdjson/dependencies/sajson/include/sajson_ostream.h +20 -0
  2213. data/vendor/simdjson/dependencies/sajson/s/bench +15 -0
  2214. data/vendor/simdjson/dependencies/sajson/s/build +4 -0
  2215. data/vendor/simdjson/dependencies/sajson/s/doxygen +4 -0
  2216. data/vendor/simdjson/dependencies/sajson/s/test +21 -0
  2217. data/vendor/simdjson/dependencies/sajson/sajson-fuzz/build.sh +4 -0
  2218. data/vendor/simdjson/dependencies/sajson/sajson-fuzz/json.dict +44 -0
  2219. data/vendor/simdjson/dependencies/sajson/sajson-fuzz/run-primary.sh +4 -0
  2220. data/vendor/simdjson/dependencies/sajson/sajson-fuzz/run.sh +3 -0
  2221. data/vendor/simdjson/dependencies/sajson/swift/sajson.xcodeproj/project.pbxproj +665 -0
  2222. data/vendor/simdjson/dependencies/sajson/swift/sajson.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  2223. data/vendor/simdjson/dependencies/sajson/swift/sajson.xcodeproj/xcshareddata/xcschemes/sajson-macOS.xcscheme +100 -0
  2224. data/vendor/simdjson/dependencies/sajson/swift/sajson/Info.plist +24 -0
  2225. data/vendor/simdjson/dependencies/sajson/swift/sajson/sajson-ffi.cpp +79 -0
  2226. data/vendor/simdjson/dependencies/sajson/swift/sajson/sajson-swift/sajson-ffi.h +35 -0
  2227. data/vendor/simdjson/dependencies/sajson/swift/sajson/sajson.swift +409 -0
  2228. data/vendor/simdjson/dependencies/sajson/swift/sajson/sajson_swift.h +3 -0
  2229. data/vendor/simdjson/dependencies/sajson/swift/sajsonTests/Info.plist +22 -0
  2230. data/vendor/simdjson/dependencies/sajson/swift/sajsonTests/sajsonTests.swift +122 -0
  2231. data/vendor/simdjson/dependencies/sajson/tests/test.cpp +1049 -0
  2232. data/vendor/simdjson/dependencies/sajson/tests/test_no_stl.cpp +2 -0
  2233. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/COPYING +20 -0
  2234. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/Makefile +96 -0
  2235. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/README +68 -0
  2236. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/TestUnitTest++.vsnet2003.vcproj +174 -0
  2237. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/TestUnitTest++.vsnet2005.vcproj +256 -0
  2238. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/UnitTest++.vsnet2003.sln +30 -0
  2239. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/UnitTest++.vsnet2003.vcproj +226 -0
  2240. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/UnitTest++.vsnet2005.sln +29 -0
  2241. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/UnitTest++.vsnet2005.vcproj +318 -0
  2242. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/docs/UnitTest++.html +260 -0
  2243. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/AssertException.cpp +34 -0
  2244. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/AssertException.h +28 -0
  2245. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/CheckMacros.h +122 -0
  2246. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Checks.cpp +50 -0
  2247. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Checks.h +158 -0
  2248. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Config.h +31 -0
  2249. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/CurrentTest.cpp +18 -0
  2250. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/CurrentTest.h +17 -0
  2251. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/DeferredTestReporter.cpp +29 -0
  2252. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/DeferredTestReporter.h +28 -0
  2253. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/DeferredTestResult.cpp +25 -0
  2254. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/DeferredTestResult.h +29 -0
  2255. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/ExecuteTest.h +46 -0
  2256. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/MemoryOutStream.cpp +149 -0
  2257. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/MemoryOutStream.h +67 -0
  2258. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Posix/SignalTranslator.cpp +46 -0
  2259. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Posix/SignalTranslator.h +42 -0
  2260. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Posix/TimeHelpers.cpp +33 -0
  2261. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Posix/TimeHelpers.h +28 -0
  2262. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/ReportAssert.cpp +10 -0
  2263. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/ReportAssert.h +10 -0
  2264. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Test.cpp +41 -0
  2265. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Test.h +34 -0
  2266. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestDetails.cpp +22 -0
  2267. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestDetails.h +24 -0
  2268. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestList.cpp +39 -0
  2269. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestList.h +32 -0
  2270. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestMacros.h +113 -0
  2271. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestReporter.cpp +10 -0
  2272. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestReporter.h +20 -0
  2273. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestReporterStdout.cpp +41 -0
  2274. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestReporterStdout.h +19 -0
  2275. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestResults.cpp +60 -0
  2276. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestResults.h +36 -0
  2277. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestRunner.cpp +76 -0
  2278. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestRunner.h +61 -0
  2279. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TestSuite.h +14 -0
  2280. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TimeConstraint.cpp +29 -0
  2281. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TimeConstraint.h +33 -0
  2282. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/TimeHelpers.h +7 -0
  2283. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/UnitTest++.h +18 -0
  2284. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Win32/TimeHelpers.cpp +50 -0
  2285. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/Win32/TimeHelpers.h +48 -0
  2286. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/XmlTestReporter.cpp +127 -0
  2287. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/XmlTestReporter.h +34 -0
  2288. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/Main.cpp +8 -0
  2289. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/RecordingReporter.h +98 -0
  2290. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/ScopedCurrentTest.h +37 -0
  2291. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestAssertHandler.cpp +44 -0
  2292. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestCheckMacros.cpp +801 -0
  2293. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestChecks.cpp +293 -0
  2294. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestCurrentTest.cpp +38 -0
  2295. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestDeferredTestReporter.cpp +117 -0
  2296. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestMemoryOutStream.cpp +151 -0
  2297. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestTest.cpp +129 -0
  2298. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestTestList.cpp +50 -0
  2299. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestTestMacros.cpp +212 -0
  2300. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestTestResults.cpp +111 -0
  2301. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestTestRunner.cpp +307 -0
  2302. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestTestSuite.cpp +12 -0
  2303. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestTimeConstraint.cpp +69 -0
  2304. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestTimeConstraintMacro.cpp +35 -0
  2305. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestUnitTest++.cpp +156 -0
  2306. data/vendor/simdjson/dependencies/sajson/third-party/UnitTest++/src/tests/TestXmlTestReporter.cpp +183 -0
  2307. data/vendor/simdjson/dependencies/sajson/tools/genpow10.js +39 -0
  2308. data/vendor/simdjson/dependencies/ujson4c/3rdparty/ultrajson.h +310 -0
  2309. data/vendor/simdjson/dependencies/ujson4c/3rdparty/ultrajsondec.c +891 -0
  2310. data/vendor/simdjson/dependencies/ujson4c/LICENSE.txt +31 -0
  2311. data/vendor/simdjson/dependencies/ujson4c/README.rst +43 -0
  2312. data/vendor/simdjson/dependencies/ujson4c/src/ujdecode.c +836 -0
  2313. data/vendor/simdjson/dependencies/ujson4c/src/ujdecode.h +261 -0
  2314. data/vendor/simdjson/dependencies/ujson4c/tests/benchmark.c +225 -0
  2315. data/vendor/simdjson/dependencies/ujson4c/tests/tests.c +102 -0
  2316. data/vendor/simdjson/doc/Multiline_JSON_Parse_Competition.png +0 -0
  2317. data/vendor/simdjson/doc/basics.md +574 -0
  2318. data/vendor/simdjson/doc/basics_doxygen.md +556 -0
  2319. data/vendor/simdjson/doc/gbps.png +0 -0
  2320. data/vendor/simdjson/doc/growing.png +0 -0
  2321. data/vendor/simdjson/doc/implementation-selection.md +83 -0
  2322. data/vendor/simdjson/doc/parse_many.md +160 -0
  2323. data/vendor/simdjson/doc/performance.md +172 -0
  2324. data/vendor/simdjson/{tape.md → doc/tape.md} +40 -38
  2325. data/vendor/simdjson/examples/CMakeLists.txt +1 -0
  2326. data/vendor/simdjson/examples/quickstart/CMakeLists.txt +60 -0
  2327. data/vendor/simdjson/examples/quickstart/Makefile +32 -0
  2328. data/vendor/simdjson/examples/quickstart/quickstart.cpp +7 -0
  2329. data/vendor/simdjson/examples/quickstart/quickstart_noexceptions.cpp +16 -0
  2330. data/vendor/simdjson/extra/dumpbits.h +19 -0
  2331. data/vendor/simdjson/fuzz/CMakeLists.txt +63 -0
  2332. data/vendor/simdjson/fuzz/Fuzzing.md +86 -0
  2333. data/vendor/simdjson/fuzz/NullBuffer.h +21 -0
  2334. data/vendor/simdjson/fuzz/build_corpus.sh +18 -0
  2335. data/vendor/simdjson/fuzz/build_fuzzer_variants.sh +174 -0
  2336. data/vendor/simdjson/fuzz/build_like_ossfuzz.sh +22 -0
  2337. data/vendor/simdjson/fuzz/fuzz_dump.cpp +60 -0
  2338. data/vendor/simdjson/fuzz/fuzz_dump_raw_tape.cpp +18 -0
  2339. data/vendor/simdjson/fuzz/fuzz_minify.cpp +19 -0
  2340. data/vendor/simdjson/fuzz/fuzz_parser.cpp +10 -0
  2341. data/vendor/simdjson/fuzz/fuzz_print_json.cpp +18 -0
  2342. data/vendor/simdjson/fuzz/main.cpp +26 -0
  2343. data/vendor/simdjson/fuzz/measure_coverage.sh +34 -0
  2344. data/vendor/simdjson/fuzz/ossfuzz.sh +44 -0
  2345. data/vendor/simdjson/images/logotiny.png +0 -0
  2346. data/vendor/simdjson/include/CMakeLists.txt +13 -0
  2347. data/vendor/simdjson/include/simdjson.h +47 -0
  2348. data/vendor/simdjson/include/simdjson/common_defs.h +177 -71
  2349. data/vendor/simdjson/include/simdjson/compiler_check.h +35 -0
  2350. data/vendor/simdjson/include/simdjson/dom/array.h +158 -0
  2351. data/vendor/simdjson/include/simdjson/dom/document.h +78 -0
  2352. data/vendor/simdjson/include/simdjson/dom/document_stream.h +261 -0
  2353. data/vendor/simdjson/include/simdjson/dom/element.h +545 -0
  2354. data/vendor/simdjson/include/simdjson/dom/jsonparser.h +117 -0
  2355. data/vendor/simdjson/include/simdjson/dom/object.h +264 -0
  2356. data/vendor/simdjson/include/simdjson/dom/parsedjson.h +17 -0
  2357. data/vendor/simdjson/include/simdjson/dom/parsedjson_iterator.h +270 -0
  2358. data/vendor/simdjson/include/simdjson/dom/parser.h +434 -0
  2359. data/vendor/simdjson/include/simdjson/error.h +252 -0
  2360. data/vendor/simdjson/include/simdjson/implementation.h +244 -0
  2361. data/vendor/simdjson/include/simdjson/inline/array.h +153 -0
  2362. data/vendor/simdjson/include/simdjson/inline/document.h +141 -0
  2363. data/vendor/simdjson/include/simdjson/inline/document_stream.h +255 -0
  2364. data/vendor/simdjson/include/simdjson/inline/element.h +535 -0
  2365. data/vendor/simdjson/include/simdjson/inline/error.h +155 -0
  2366. data/vendor/simdjson/include/simdjson/inline/object.h +255 -0
  2367. data/vendor/simdjson/include/simdjson/inline/padded_string.h +150 -0
  2368. data/vendor/simdjson/include/simdjson/inline/parsedjson_iterator.h +486 -0
  2369. data/vendor/simdjson/include/simdjson/inline/parser.h +206 -0
  2370. data/vendor/simdjson/include/simdjson/inline/tape_ref.h +105 -0
  2371. data/vendor/simdjson/include/simdjson/internal/dom_parser_implementation.h +181 -0
  2372. data/vendor/simdjson/include/simdjson/internal/jsonformatutils.h +65 -0
  2373. data/vendor/simdjson/include/simdjson/internal/tape_ref.h +51 -0
  2374. data/vendor/simdjson/include/simdjson/internal/tape_type.h +28 -0
  2375. data/vendor/simdjson/include/simdjson/jsonioutil.h +10 -22
  2376. data/vendor/simdjson/include/simdjson/minify.h +75 -0
  2377. data/vendor/simdjson/include/simdjson/nonstd/string_view.hpp +1529 -0
  2378. data/vendor/simdjson/include/simdjson/padded_string.h +144 -58
  2379. data/vendor/simdjson/include/simdjson/portability.h +162 -93
  2380. data/vendor/simdjson/include/simdjson/simdjson.h +9 -43
  2381. data/vendor/simdjson/include/simdjson/simdjson_version.h +20 -7
  2382. data/vendor/simdjson/jsonchecker/CMakeLists.txt +3 -0
  2383. data/vendor/simdjson/jsonexamples/CMakeLists.txt +16 -0
  2384. data/vendor/simdjson/jsonexamples/generated/CMakeLists.txt +18 -0
  2385. data/vendor/simdjson/jsonexamples/generated/genfeaturejson.rb +117 -0
  2386. data/vendor/simdjson/jsonexamples/generated/genfeaturejsonseed.rb +49 -0
  2387. data/vendor/simdjson/jsonexamples/generated/miss-templates/128.txt +10000 -0
  2388. data/vendor/simdjson/jsonexamples/generated/miss-templates/64.txt +10000 -0
  2389. data/vendor/simdjson/jsonexamples/small/jsoniter_scala/README.md +25 -1
  2390. data/vendor/simdjson/scripts/ruby/kostya_large.rb +32 -0
  2391. data/vendor/simdjson/scripts/shootout.sh +32 -0
  2392. data/vendor/simdjson/singleheader/CMakeLists.txt +151 -0
  2393. data/vendor/simdjson/singleheader/README.md +2 -1
  2394. data/vendor/simdjson/singleheader/amalgamate.sh +196 -0
  2395. data/vendor/simdjson/singleheader/amalgamate_demo.cpp +46 -0
  2396. data/vendor/simdjson/singleheader/simdjson.cpp +14045 -1541
  2397. data/vendor/simdjson/singleheader/simdjson.h +7250 -39226
  2398. data/vendor/simdjson/src/CMakeLists.txt +91 -50
  2399. data/vendor/simdjson/src/arm64/bitmanipulation.h +73 -0
  2400. data/vendor/simdjson/src/arm64/bitmask.h +43 -0
  2401. data/vendor/simdjson/src/arm64/dom_parser_implementation.cpp +137 -0
  2402. data/vendor/simdjson/src/arm64/dom_parser_implementation.h +15 -0
  2403. data/vendor/simdjson/src/arm64/implementation.cpp +25 -0
  2404. data/vendor/simdjson/src/arm64/implementation.h +27 -0
  2405. data/vendor/simdjson/src/arm64/intrinsics.h +10 -0
  2406. data/vendor/simdjson/src/arm64/numberparsing.h +39 -0
  2407. data/vendor/simdjson/src/arm64/simd.h +522 -0
  2408. data/vendor/simdjson/src/arm64/stringparsing.h +53 -0
  2409. data/vendor/simdjson/src/error.cpp +34 -0
  2410. data/vendor/simdjson/src/fallback/bitmanipulation.h +77 -0
  2411. data/vendor/simdjson/src/fallback/dom_parser_implementation.cpp +335 -0
  2412. data/vendor/simdjson/src/fallback/dom_parser_implementation.h +15 -0
  2413. data/vendor/simdjson/src/fallback/implementation.cpp +25 -0
  2414. data/vendor/simdjson/src/fallback/implementation.h +32 -0
  2415. data/vendor/simdjson/src/fallback/numberparsing.h +35 -0
  2416. data/vendor/simdjson/src/fallback/stringparsing.h +35 -0
  2417. data/vendor/simdjson/src/generic/dom_parser_implementation.h +59 -0
  2418. data/vendor/simdjson/src/generic/stage1/allocate.h +17 -0
  2419. data/vendor/simdjson/src/generic/stage1/buf_block_reader.h +83 -0
  2420. data/vendor/simdjson/src/generic/stage1/find_next_document_index.h +86 -0
  2421. data/vendor/simdjson/src/generic/stage1/json_minifier.h +77 -0
  2422. data/vendor/simdjson/src/generic/stage1/json_scanner.h +104 -0
  2423. data/vendor/simdjson/src/generic/stage1/json_string_scanner.h +139 -0
  2424. data/vendor/simdjson/src/generic/stage1/json_structural_indexer.h +198 -0
  2425. data/vendor/simdjson/src/generic/stage1/utf8_fastvalidate_algorithm.h +178 -0
  2426. data/vendor/simdjson/src/generic/stage1/utf8_lookup2_algorithm.h +218 -0
  2427. data/vendor/simdjson/src/generic/stage1/utf8_lookup3_algorithm.h +230 -0
  2428. data/vendor/simdjson/src/generic/stage1/utf8_lookup_algorithm.h +299 -0
  2429. data/vendor/simdjson/src/generic/stage1/utf8_range_algorithm.h +180 -0
  2430. data/vendor/simdjson/src/generic/stage1/utf8_validator.h +26 -0
  2431. data/vendor/simdjson/src/generic/stage1/utf8_zwegner_algorithm.h +360 -0
  2432. data/vendor/simdjson/src/generic/stage2/allocate.h +18 -0
  2433. data/vendor/simdjson/src/generic/stage2/atomparsing.h +51 -0
  2434. data/vendor/simdjson/src/generic/stage2/logger.h +64 -0
  2435. data/vendor/simdjson/src/generic/stage2/numberparsing.h +572 -0
  2436. data/vendor/simdjson/src/generic/stage2/streaming_structural_parser.h +168 -0
  2437. data/vendor/simdjson/{include/simdjson → src/generic/stage2}/stringparsing.h +54 -36
  2438. data/vendor/simdjson/src/generic/stage2/structural_iterator.h +70 -0
  2439. data/vendor/simdjson/src/generic/stage2/structural_parser.h +474 -0
  2440. data/vendor/simdjson/src/generic/stage2/tape_writer.h +95 -0
  2441. data/vendor/simdjson/src/haswell/bitmanipulation.h +80 -0
  2442. data/vendor/simdjson/src/haswell/bitmask.h +30 -0
  2443. data/vendor/simdjson/src/haswell/dom_parser_implementation.cpp +127 -0
  2444. data/vendor/simdjson/src/haswell/dom_parser_implementation.h +15 -0
  2445. data/vendor/simdjson/src/haswell/implementation.cpp +25 -0
  2446. data/vendor/simdjson/src/haswell/implementation.h +29 -0
  2447. data/vendor/simdjson/src/haswell/intrinsics.h +54 -0
  2448. data/vendor/simdjson/src/haswell/numberparsing.h +49 -0
  2449. data/vendor/simdjson/src/haswell/simd.h +377 -0
  2450. data/vendor/simdjson/src/haswell/stringparsing.h +50 -0
  2451. data/vendor/simdjson/src/implementation.cpp +155 -0
  2452. data/vendor/simdjson/{include/simdjson → src}/isadetection.h +26 -11
  2453. data/vendor/simdjson/src/jsoncharutils.h +1336 -0
  2454. data/vendor/simdjson/src/simdjson.cpp +30 -28
  2455. data/vendor/simdjson/src/simdprune_tables.h +136 -0
  2456. data/vendor/simdjson/src/westmere/bitmanipulation.h +89 -0
  2457. data/vendor/simdjson/src/westmere/bitmask.h +29 -0
  2458. data/vendor/simdjson/src/westmere/dom_parser_implementation.cpp +128 -0
  2459. data/vendor/simdjson/src/westmere/dom_parser_implementation.h +15 -0
  2460. data/vendor/simdjson/src/westmere/implementation.cpp +25 -0
  2461. data/vendor/simdjson/src/westmere/implementation.h +28 -0
  2462. data/vendor/simdjson/src/westmere/intrinsics.h +27 -0
  2463. data/vendor/simdjson/src/westmere/numberparsing.h +50 -0
  2464. data/vendor/simdjson/src/westmere/simd.h +362 -0
  2465. data/vendor/simdjson/src/westmere/stringparsing.h +52 -0
  2466. data/vendor/simdjson/tests/CMakeLists.txt +182 -11
  2467. data/vendor/simdjson/tests/allparserscheckfile.cpp +24 -28
  2468. data/vendor/simdjson/tests/basictests.cpp +1963 -54
  2469. data/vendor/simdjson/tests/cast_tester.h +271 -0
  2470. data/vendor/simdjson/tests/checkimplementation.cpp +23 -0
  2471. data/vendor/simdjson/tests/compilation_failure_tests/CMakeLists.txt +25 -0
  2472. data/vendor/simdjson/tests/compilation_failure_tests/dangling_parser_load.cpp +15 -0
  2473. data/vendor/simdjson/tests/compilation_failure_tests/dangling_parser_parse_padstring.cpp +16 -0
  2474. data/vendor/simdjson/tests/compilation_failure_tests/dangling_parser_parse_stdstring.cpp +16 -0
  2475. data/vendor/simdjson/tests/compilation_failure_tests/dangling_parser_parse_uchar.cpp +17 -0
  2476. data/vendor/simdjson/tests/compilation_failure_tests/dangling_parser_parse_uint8.cpp +17 -0
  2477. data/vendor/simdjson/tests/compilation_failure_tests/example_compiletest.cpp +20 -0
  2478. data/vendor/simdjson/tests/errortests.cpp +160 -0
  2479. data/vendor/simdjson/tests/extracting_values_example.cpp +12 -0
  2480. data/vendor/simdjson/tests/integer_tests.cpp +95 -0
  2481. data/vendor/simdjson/{scripts → tests}/issue150.sh +1 -2
  2482. data/vendor/simdjson/tests/jsoncheck.cpp +37 -29
  2483. data/vendor/simdjson/tests/numberparsingcheck.cpp +35 -20
  2484. data/vendor/simdjson/tests/parse_many_test.cpp +146 -0
  2485. data/vendor/simdjson/tests/pointercheck.cpp +81 -33
  2486. data/vendor/simdjson/tests/readme_examples.cpp +298 -0
  2487. data/vendor/simdjson/tests/readme_examples_noexceptions.cpp +197 -0
  2488. data/vendor/simdjson/tests/singleheadertest.cpp +8 -12
  2489. data/vendor/simdjson/tests/staticchecks.cpp +29 -0
  2490. data/vendor/simdjson/tests/stringparsingcheck.cpp +29 -30
  2491. data/vendor/simdjson/tests/test_macros.h +55 -0
  2492. data/vendor/simdjson/tests/testjson2json.sh +39 -0
  2493. data/vendor/simdjson/tests/unicode_tests.cpp +246 -0
  2494. data/vendor/simdjson/tools/CMakeLists.txt +9 -3
  2495. data/vendor/simdjson/tools/json2json.cpp +56 -95
  2496. data/vendor/simdjson/tools/jsonpointer.cpp +16 -64
  2497. data/vendor/simdjson/tools/jsonstats.cpp +225 -85
  2498. data/vendor/simdjson/tools/minify.cpp +70 -12
  2499. data/vendor/simdjson/tools/release.py +92 -20
  2500. data/vendor/simdjson/windows/CMakeLists.txt +6 -0
  2501. data/vendor/simdjson/windows/dirent_portable.h +6 -1039
  2502. data/vendor/simdjson/windows/getopt.h +658 -0
  2503. data/vendor/simdjson/windows/toni_ronnko_dirent.h +1075 -0
  2504. data/vendor/simdjson/windows/unistd.h +3 -0
  2505. metadata +2544 -47
  2506. data/vendor/simdjson/Makefile +0 -203
  2507. data/vendor/simdjson/Notes.md +0 -85
  2508. data/vendor/simdjson/amalgamation.sh +0 -158
  2509. data/vendor/simdjson/include/simdjson/jsoncharutils.h +0 -301
  2510. data/vendor/simdjson/include/simdjson/jsonformatutils.h +0 -202
  2511. data/vendor/simdjson/include/simdjson/jsonminifier.h +0 -30
  2512. data/vendor/simdjson/include/simdjson/jsonparser.h +0 -250
  2513. data/vendor/simdjson/include/simdjson/numberparsing.h +0 -587
  2514. data/vendor/simdjson/include/simdjson/parsedjson.h +0 -544
  2515. data/vendor/simdjson/include/simdjson/simdprune_tables.h +0 -35074
  2516. data/vendor/simdjson/include/simdjson/simdutf8check_arm64.h +0 -180
  2517. data/vendor/simdjson/include/simdjson/simdutf8check_haswell.h +0 -198
  2518. data/vendor/simdjson/include/simdjson/simdutf8check_westmere.h +0 -169
  2519. data/vendor/simdjson/include/simdjson/stage1_find_marks.h +0 -121
  2520. data/vendor/simdjson/include/simdjson/stage1_find_marks_arm64.h +0 -210
  2521. data/vendor/simdjson/include/simdjson/stage1_find_marks_flatten.h +0 -93
  2522. data/vendor/simdjson/include/simdjson/stage1_find_marks_flatten_haswell.h +0 -95
  2523. data/vendor/simdjson/include/simdjson/stage1_find_marks_haswell.h +0 -210
  2524. data/vendor/simdjson/include/simdjson/stage1_find_marks_macros.h +0 -239
  2525. data/vendor/simdjson/include/simdjson/stage1_find_marks_westmere.h +0 -194
  2526. data/vendor/simdjson/include/simdjson/stage2_build_tape.h +0 -85
  2527. data/vendor/simdjson/include/simdjson/stringparsing_arm64.h +0 -56
  2528. data/vendor/simdjson/include/simdjson/stringparsing_haswell.h +0 -43
  2529. data/vendor/simdjson/include/simdjson/stringparsing_macros.h +0 -88
  2530. data/vendor/simdjson/include/simdjson/stringparsing_westmere.h +0 -41
  2531. data/vendor/simdjson/scripts/testjson2json.sh +0 -99
  2532. data/vendor/simdjson/singleheader/amalgamation_demo.cpp +0 -20
  2533. data/vendor/simdjson/src/jsonioutil.cpp +0 -35
  2534. data/vendor/simdjson/src/jsonminifier.cpp +0 -285
  2535. data/vendor/simdjson/src/jsonparser.cpp +0 -91
  2536. data/vendor/simdjson/src/parsedjson.cpp +0 -323
  2537. data/vendor/simdjson/src/parsedjsoniterator.cpp +0 -272
  2538. data/vendor/simdjson/src/stage1_find_marks.cpp +0 -41
  2539. data/vendor/simdjson/src/stage2_build_tape.cpp +0 -567
  2540. data/vendor/simdjson/tools/cmake/FindCTargets.cmake +0 -15
  2541. data/vendor/simdjson/tools/cmake/FindOptions.cmake +0 -52
@@ -0,0 +1,2216 @@
1
+ // Tencent is pleased to support the open source community by making RapidJSON available.
2
+ //
3
+ // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
4
+ //
5
+ // Licensed under the MIT License (the "License"); you may not use this file except
6
+ // in compliance with the License. You may obtain a copy of the License at
7
+ //
8
+ // http://opensource.org/licenses/MIT
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software distributed
11
+ // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
12
+ // CONDITIONS OF ANY KIND, either express or implied. See the License for the
13
+ // specific language governing permissions and limitations under the License.
14
+
15
+ #ifndef RAPIDJSON_READER_H_
16
+ #define RAPIDJSON_READER_H_
17
+
18
+ /*! \file reader.h */
19
+
20
+ #include "allocators.h"
21
+ #include "stream.h"
22
+ #include "encodedstream.h"
23
+ #include "internal/meta.h"
24
+ #include "internal/stack.h"
25
+ #include "internal/strtod.h"
26
+ #include <limits>
27
+
28
+ #if defined(RAPIDJSON_SIMD) && defined(_MSC_VER)
29
+ #include <intrin.h>
30
+ #pragma intrinsic(_BitScanForward)
31
+ #endif
32
+ #ifdef RAPIDJSON_SSE42
33
+ #include <nmmintrin.h>
34
+ #elif defined(RAPIDJSON_SSE2)
35
+ #include <emmintrin.h>
36
+ #elif defined(RAPIDJSON_NEON)
37
+ #include <arm_neon.h>
38
+ #endif
39
+
40
+ #ifdef __clang__
41
+ RAPIDJSON_DIAG_PUSH
42
+ RAPIDJSON_DIAG_OFF(old-style-cast)
43
+ RAPIDJSON_DIAG_OFF(padded)
44
+ RAPIDJSON_DIAG_OFF(switch-enum)
45
+ #elif defined(_MSC_VER)
46
+ RAPIDJSON_DIAG_PUSH
47
+ RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant
48
+ RAPIDJSON_DIAG_OFF(4702) // unreachable code
49
+ #endif
50
+
51
+ #ifdef __GNUC__
52
+ RAPIDJSON_DIAG_PUSH
53
+ RAPIDJSON_DIAG_OFF(effc++)
54
+ #endif
55
+
56
+ //!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN
57
+ #define RAPIDJSON_NOTHING /* deliberately empty */
58
+ #ifndef RAPIDJSON_PARSE_ERROR_EARLY_RETURN
59
+ #define RAPIDJSON_PARSE_ERROR_EARLY_RETURN(value) \
60
+ RAPIDJSON_MULTILINEMACRO_BEGIN \
61
+ if (RAPIDJSON_UNLIKELY(HasParseError())) { return value; } \
62
+ RAPIDJSON_MULTILINEMACRO_END
63
+ #endif
64
+ #define RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID \
65
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(RAPIDJSON_NOTHING)
66
+ //!@endcond
67
+
68
+ /*! \def RAPIDJSON_PARSE_ERROR_NORETURN
69
+ \ingroup RAPIDJSON_ERRORS
70
+ \brief Macro to indicate a parse error.
71
+ \param parseErrorCode \ref rapidjson::ParseErrorCode of the error
72
+ \param offset position of the error in JSON input (\c size_t)
73
+
74
+ This macros can be used as a customization point for the internal
75
+ error handling mechanism of RapidJSON.
76
+
77
+ A common usage model is to throw an exception instead of requiring the
78
+ caller to explicitly check the \ref rapidjson::GenericReader::Parse's
79
+ return value:
80
+
81
+ \code
82
+ #define RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode,offset) \
83
+ throw ParseException(parseErrorCode, #parseErrorCode, offset)
84
+
85
+ #include <stdexcept> // std::runtime_error
86
+ #include "rapidjson/error/error.h" // rapidjson::ParseResult
87
+
88
+ struct ParseException : std::runtime_error, rapidjson::ParseResult {
89
+ ParseException(rapidjson::ParseErrorCode code, const char* msg, size_t offset)
90
+ : std::runtime_error(msg), ParseResult(code, offset) {}
91
+ };
92
+
93
+ #include "rapidjson/reader.h"
94
+ \endcode
95
+
96
+ \see RAPIDJSON_PARSE_ERROR, rapidjson::GenericReader::Parse
97
+ */
98
+ #ifndef RAPIDJSON_PARSE_ERROR_NORETURN
99
+ #define RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset) \
100
+ RAPIDJSON_MULTILINEMACRO_BEGIN \
101
+ RAPIDJSON_ASSERT(!HasParseError()); /* Error can only be assigned once */ \
102
+ SetParseError(parseErrorCode, offset); \
103
+ RAPIDJSON_MULTILINEMACRO_END
104
+ #endif
105
+
106
+ /*! \def RAPIDJSON_PARSE_ERROR
107
+ \ingroup RAPIDJSON_ERRORS
108
+ \brief (Internal) macro to indicate and handle a parse error.
109
+ \param parseErrorCode \ref rapidjson::ParseErrorCode of the error
110
+ \param offset position of the error in JSON input (\c size_t)
111
+
112
+ Invokes RAPIDJSON_PARSE_ERROR_NORETURN and stops the parsing.
113
+
114
+ \see RAPIDJSON_PARSE_ERROR_NORETURN
115
+ \hideinitializer
116
+ */
117
+ #ifndef RAPIDJSON_PARSE_ERROR
118
+ #define RAPIDJSON_PARSE_ERROR(parseErrorCode, offset) \
119
+ RAPIDJSON_MULTILINEMACRO_BEGIN \
120
+ RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset); \
121
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; \
122
+ RAPIDJSON_MULTILINEMACRO_END
123
+ #endif
124
+
125
+ #include "error/error.h" // ParseErrorCode, ParseResult
126
+
127
+ RAPIDJSON_NAMESPACE_BEGIN
128
+
129
+ ///////////////////////////////////////////////////////////////////////////////
130
+ // ParseFlag
131
+
132
+ /*! \def RAPIDJSON_PARSE_DEFAULT_FLAGS
133
+ \ingroup RAPIDJSON_CONFIG
134
+ \brief User-defined kParseDefaultFlags definition.
135
+
136
+ User can define this as any \c ParseFlag combinations.
137
+ */
138
+ #ifndef RAPIDJSON_PARSE_DEFAULT_FLAGS
139
+ #define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseNoFlags
140
+ #endif
141
+
142
+ //! Combination of parseFlags
143
+ /*! \see Reader::Parse, Document::Parse, Document::ParseInsitu, Document::ParseStream
144
+ */
145
+ enum ParseFlag {
146
+ kParseNoFlags = 0, //!< No flags are set.
147
+ kParseInsituFlag = 1, //!< In-situ(destructive) parsing.
148
+ kParseValidateEncodingFlag = 2, //!< Validate encoding of JSON strings.
149
+ kParseIterativeFlag = 4, //!< Iterative(constant complexity in terms of function call stack size) parsing.
150
+ kParseStopWhenDoneFlag = 8, //!< After parsing a complete JSON root from stream, stop further processing the rest of stream. When this flag is used, parser will not generate kParseErrorDocumentRootNotSingular error.
151
+ kParseFullPrecisionFlag = 16, //!< Parse number in full precision (but slower).
152
+ kParseCommentsFlag = 32, //!< Allow one-line (//) and multi-line (/**/) comments.
153
+ kParseNumbersAsStringsFlag = 64, //!< Parse all numbers (ints/doubles) as strings.
154
+ kParseTrailingCommasFlag = 128, //!< Allow trailing commas at the end of objects and arrays.
155
+ kParseNanAndInfFlag = 256, //!< Allow parsing NaN, Inf, Infinity, -Inf and -Infinity as doubles.
156
+ kParseDefaultFlags = RAPIDJSON_PARSE_DEFAULT_FLAGS //!< Default parse flags. Can be customized by defining RAPIDJSON_PARSE_DEFAULT_FLAGS
157
+ };
158
+
159
+ ///////////////////////////////////////////////////////////////////////////////
160
+ // Handler
161
+
162
+ /*! \class rapidjson::Handler
163
+ \brief Concept for receiving events from GenericReader upon parsing.
164
+ The functions return true if no error occurs. If they return false,
165
+ the event publisher should terminate the process.
166
+ \code
167
+ concept Handler {
168
+ typename Ch;
169
+
170
+ bool Null();
171
+ bool Bool(bool b);
172
+ bool Int(int i);
173
+ bool Uint(unsigned i);
174
+ bool Int64(int64_t i);
175
+ bool Uint64(uint64_t i);
176
+ bool Double(double d);
177
+ /// enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length)
178
+ bool RawNumber(const Ch* str, SizeType length, bool copy);
179
+ bool String(const Ch* str, SizeType length, bool copy);
180
+ bool StartObject();
181
+ bool Key(const Ch* str, SizeType length, bool copy);
182
+ bool EndObject(SizeType memberCount);
183
+ bool StartArray();
184
+ bool EndArray(SizeType elementCount);
185
+ };
186
+ \endcode
187
+ */
188
+ ///////////////////////////////////////////////////////////////////////////////
189
+ // BaseReaderHandler
190
+
191
+ //! Default implementation of Handler.
192
+ /*! This can be used as base class of any reader handler.
193
+ \note implements Handler concept
194
+ */
195
+ template<typename Encoding = UTF8<>, typename Derived = void>
196
+ struct BaseReaderHandler {
197
+ typedef typename Encoding::Ch Ch;
198
+
199
+ typedef typename internal::SelectIf<internal::IsSame<Derived, void>, BaseReaderHandler, Derived>::Type Override;
200
+
201
+ bool Default() { return true; }
202
+ bool Null() { return static_cast<Override&>(*this).Default(); }
203
+ bool Bool(bool) { return static_cast<Override&>(*this).Default(); }
204
+ bool Int(int) { return static_cast<Override&>(*this).Default(); }
205
+ bool Uint(unsigned) { return static_cast<Override&>(*this).Default(); }
206
+ bool Int64(int64_t) { return static_cast<Override&>(*this).Default(); }
207
+ bool Uint64(uint64_t) { return static_cast<Override&>(*this).Default(); }
208
+ bool Double(double) { return static_cast<Override&>(*this).Default(); }
209
+ /// enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length)
210
+ bool RawNumber(const Ch* str, SizeType len, bool copy) { return static_cast<Override&>(*this).String(str, len, copy); }
211
+ bool String(const Ch*, SizeType, bool) { return static_cast<Override&>(*this).Default(); }
212
+ bool StartObject() { return static_cast<Override&>(*this).Default(); }
213
+ bool Key(const Ch* str, SizeType len, bool copy) { return static_cast<Override&>(*this).String(str, len, copy); }
214
+ bool EndObject(SizeType) { return static_cast<Override&>(*this).Default(); }
215
+ bool StartArray() { return static_cast<Override&>(*this).Default(); }
216
+ bool EndArray(SizeType) { return static_cast<Override&>(*this).Default(); }
217
+ };
218
+
219
+ ///////////////////////////////////////////////////////////////////////////////
220
+ // StreamLocalCopy
221
+
222
+ namespace internal {
223
+
224
+ template<typename Stream, int = StreamTraits<Stream>::copyOptimization>
225
+ class StreamLocalCopy;
226
+
227
+ //! Do copy optimization.
228
+ template<typename Stream>
229
+ class StreamLocalCopy<Stream, 1> {
230
+ public:
231
+ StreamLocalCopy(Stream& original) : s(original), original_(original) {}
232
+ ~StreamLocalCopy() { original_ = s; }
233
+
234
+ Stream s;
235
+
236
+ private:
237
+ StreamLocalCopy& operator=(const StreamLocalCopy&) /* = delete */;
238
+
239
+ Stream& original_;
240
+ };
241
+
242
+ //! Keep reference.
243
+ template<typename Stream>
244
+ class StreamLocalCopy<Stream, 0> {
245
+ public:
246
+ StreamLocalCopy(Stream& original) : s(original) {}
247
+
248
+ Stream& s;
249
+
250
+ private:
251
+ StreamLocalCopy& operator=(const StreamLocalCopy&) /* = delete */;
252
+ };
253
+
254
+ } // namespace internal
255
+
256
+ ///////////////////////////////////////////////////////////////////////////////
257
+ // SkipWhitespace
258
+
259
+ //! Skip the JSON white spaces in a stream.
260
+ /*! \param is A input stream for skipping white spaces.
261
+ \note This function has SSE2/SSE4.2 specialization.
262
+ */
263
+ template<typename InputStream>
264
+ void SkipWhitespace(InputStream& is) {
265
+ internal::StreamLocalCopy<InputStream> copy(is);
266
+ InputStream& s(copy.s);
267
+
268
+ typename InputStream::Ch c;
269
+ while ((c = s.Peek()) == ' ' || c == '\n' || c == '\r' || c == '\t')
270
+ s.Take();
271
+ }
272
+
273
+ inline const char* SkipWhitespace(const char* p, const char* end) {
274
+ while (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t'))
275
+ ++p;
276
+ return p;
277
+ }
278
+
279
+ #ifdef RAPIDJSON_SSE42
280
+ //! Skip whitespace with SSE 4.2 pcmpistrm instruction, testing 16 8-byte characters at once.
281
+ inline const char *SkipWhitespace_SIMD(const char* p) {
282
+ // Fast return for single non-whitespace
283
+ if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')
284
+ ++p;
285
+ else
286
+ return p;
287
+
288
+ // 16-byte align to the next boundary
289
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
290
+ while (p != nextAligned)
291
+ if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')
292
+ ++p;
293
+ else
294
+ return p;
295
+
296
+ // The rest of string using SIMD
297
+ static const char whitespace[16] = " \n\r\t";
298
+ const __m128i w = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespace[0]));
299
+
300
+ for (;; p += 16) {
301
+ const __m128i s = _mm_load_si128(reinterpret_cast<const __m128i *>(p));
302
+ const int r = _mm_cmpistri(w, s, _SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_LEAST_SIGNIFICANT | _SIDD_NEGATIVE_POLARITY);
303
+ if (r != 16) // some of characters is non-whitespace
304
+ return p + r;
305
+ }
306
+ }
307
+
308
+ inline const char *SkipWhitespace_SIMD(const char* p, const char* end) {
309
+ // Fast return for single non-whitespace
310
+ if (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t'))
311
+ ++p;
312
+ else
313
+ return p;
314
+
315
+ // The middle of string using SIMD
316
+ static const char whitespace[16] = " \n\r\t";
317
+ const __m128i w = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespace[0]));
318
+
319
+ for (; p <= end - 16; p += 16) {
320
+ const __m128i s = _mm_loadu_si128(reinterpret_cast<const __m128i *>(p));
321
+ const int r = _mm_cmpistri(w, s, _SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_LEAST_SIGNIFICANT | _SIDD_NEGATIVE_POLARITY);
322
+ if (r != 16) // some of characters is non-whitespace
323
+ return p + r;
324
+ }
325
+
326
+ return SkipWhitespace(p, end);
327
+ }
328
+
329
+ #elif defined(RAPIDJSON_SSE2)
330
+
331
+ //! Skip whitespace with SSE2 instructions, testing 16 8-byte characters at once.
332
+ inline const char *SkipWhitespace_SIMD(const char* p) {
333
+ // Fast return for single non-whitespace
334
+ if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')
335
+ ++p;
336
+ else
337
+ return p;
338
+
339
+ // 16-byte align to the next boundary
340
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
341
+ while (p != nextAligned)
342
+ if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')
343
+ ++p;
344
+ else
345
+ return p;
346
+
347
+ // The rest of string
348
+ #define C16(c) { c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c }
349
+ static const char whitespaces[4][16] = { C16(' '), C16('\n'), C16('\r'), C16('\t') };
350
+ #undef C16
351
+
352
+ const __m128i w0 = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespaces[0][0]));
353
+ const __m128i w1 = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespaces[1][0]));
354
+ const __m128i w2 = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespaces[2][0]));
355
+ const __m128i w3 = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespaces[3][0]));
356
+
357
+ for (;; p += 16) {
358
+ const __m128i s = _mm_load_si128(reinterpret_cast<const __m128i *>(p));
359
+ __m128i x = _mm_cmpeq_epi8(s, w0);
360
+ x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w1));
361
+ x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w2));
362
+ x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w3));
363
+ unsigned short r = static_cast<unsigned short>(~_mm_movemask_epi8(x));
364
+ if (r != 0) { // some of characters may be non-whitespace
365
+ #ifdef _MSC_VER // Find the index of first non-whitespace
366
+ unsigned long offset;
367
+ _BitScanForward(&offset, r);
368
+ return p + offset;
369
+ #else
370
+ return p + __builtin_ffs(r) - 1;
371
+ #endif
372
+ }
373
+ }
374
+ }
375
+
376
+ inline const char *SkipWhitespace_SIMD(const char* p, const char* end) {
377
+ // Fast return for single non-whitespace
378
+ if (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t'))
379
+ ++p;
380
+ else
381
+ return p;
382
+
383
+ // The rest of string
384
+ #define C16(c) { c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c }
385
+ static const char whitespaces[4][16] = { C16(' '), C16('\n'), C16('\r'), C16('\t') };
386
+ #undef C16
387
+
388
+ const __m128i w0 = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespaces[0][0]));
389
+ const __m128i w1 = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespaces[1][0]));
390
+ const __m128i w2 = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespaces[2][0]));
391
+ const __m128i w3 = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&whitespaces[3][0]));
392
+
393
+ for (; p <= end - 16; p += 16) {
394
+ const __m128i s = _mm_loadu_si128(reinterpret_cast<const __m128i *>(p));
395
+ __m128i x = _mm_cmpeq_epi8(s, w0);
396
+ x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w1));
397
+ x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w2));
398
+ x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w3));
399
+ unsigned short r = static_cast<unsigned short>(~_mm_movemask_epi8(x));
400
+ if (r != 0) { // some of characters may be non-whitespace
401
+ #ifdef _MSC_VER // Find the index of first non-whitespace
402
+ unsigned long offset;
403
+ _BitScanForward(&offset, r);
404
+ return p + offset;
405
+ #else
406
+ return p + __builtin_ffs(r) - 1;
407
+ #endif
408
+ }
409
+ }
410
+
411
+ return SkipWhitespace(p, end);
412
+ }
413
+
414
+ #elif defined(RAPIDJSON_NEON)
415
+
416
+ //! Skip whitespace with ARM Neon instructions, testing 16 8-byte characters at once.
417
+ inline const char *SkipWhitespace_SIMD(const char* p) {
418
+ // Fast return for single non-whitespace
419
+ if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')
420
+ ++p;
421
+ else
422
+ return p;
423
+
424
+ // 16-byte align to the next boundary
425
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
426
+ while (p != nextAligned)
427
+ if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')
428
+ ++p;
429
+ else
430
+ return p;
431
+
432
+ const uint8x16_t w0 = vmovq_n_u8(' ');
433
+ const uint8x16_t w1 = vmovq_n_u8('\n');
434
+ const uint8x16_t w2 = vmovq_n_u8('\r');
435
+ const uint8x16_t w3 = vmovq_n_u8('\t');
436
+
437
+ for (;; p += 16) {
438
+ const uint8x16_t s = vld1q_u8(reinterpret_cast<const uint8_t *>(p));
439
+ uint8x16_t x = vceqq_u8(s, w0);
440
+ x = vorrq_u8(x, vceqq_u8(s, w1));
441
+ x = vorrq_u8(x, vceqq_u8(s, w2));
442
+ x = vorrq_u8(x, vceqq_u8(s, w3));
443
+
444
+ x = vmvnq_u8(x); // Negate
445
+ x = vrev64q_u8(x); // Rev in 64
446
+ uint64_t low = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 0); // extract
447
+ uint64_t high = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 1); // extract
448
+
449
+ if (low == 0) {
450
+ if (high != 0) {
451
+ int lz =__builtin_clzll(high);;
452
+ return p + 8 + (lz >> 3);
453
+ }
454
+ } else {
455
+ int lz = __builtin_clzll(low);;
456
+ return p + (lz >> 3);
457
+ }
458
+ }
459
+ }
460
+
461
+ inline const char *SkipWhitespace_SIMD(const char* p, const char* end) {
462
+ // Fast return for single non-whitespace
463
+ if (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t'))
464
+ ++p;
465
+ else
466
+ return p;
467
+
468
+ const uint8x16_t w0 = vmovq_n_u8(' ');
469
+ const uint8x16_t w1 = vmovq_n_u8('\n');
470
+ const uint8x16_t w2 = vmovq_n_u8('\r');
471
+ const uint8x16_t w3 = vmovq_n_u8('\t');
472
+
473
+ for (; p <= end - 16; p += 16) {
474
+ const uint8x16_t s = vld1q_u8(reinterpret_cast<const uint8_t *>(p));
475
+ uint8x16_t x = vceqq_u8(s, w0);
476
+ x = vorrq_u8(x, vceqq_u8(s, w1));
477
+ x = vorrq_u8(x, vceqq_u8(s, w2));
478
+ x = vorrq_u8(x, vceqq_u8(s, w3));
479
+
480
+ x = vmvnq_u8(x); // Negate
481
+ x = vrev64q_u8(x); // Rev in 64
482
+ uint64_t low = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 0); // extract
483
+ uint64_t high = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 1); // extract
484
+
485
+ if (low == 0) {
486
+ if (high != 0) {
487
+ int lz = __builtin_clzll(high);
488
+ return p + 8 + (lz >> 3);
489
+ }
490
+ } else {
491
+ int lz = __builtin_clzll(low);
492
+ return p + (lz >> 3);
493
+ }
494
+ }
495
+
496
+ return SkipWhitespace(p, end);
497
+ }
498
+
499
+ #endif // RAPIDJSON_NEON
500
+
501
+ #ifdef RAPIDJSON_SIMD
502
+ //! Template function specialization for InsituStringStream
503
+ template<> inline void SkipWhitespace(InsituStringStream& is) {
504
+ is.src_ = const_cast<char*>(SkipWhitespace_SIMD(is.src_));
505
+ }
506
+
507
+ //! Template function specialization for StringStream
508
+ template<> inline void SkipWhitespace(StringStream& is) {
509
+ is.src_ = SkipWhitespace_SIMD(is.src_);
510
+ }
511
+
512
+ template<> inline void SkipWhitespace(EncodedInputStream<UTF8<>, MemoryStream>& is) {
513
+ is.is_.src_ = SkipWhitespace_SIMD(is.is_.src_, is.is_.end_);
514
+ }
515
+ #endif // RAPIDJSON_SIMD
516
+
517
+ ///////////////////////////////////////////////////////////////////////////////
518
+ // GenericReader
519
+
520
+ //! SAX-style JSON parser. Use \ref Reader for UTF8 encoding and default allocator.
521
+ /*! GenericReader parses JSON text from a stream, and send events synchronously to an
522
+ object implementing Handler concept.
523
+
524
+ It needs to allocate a stack for storing a single decoded string during
525
+ non-destructive parsing.
526
+
527
+ For in-situ parsing, the decoded string is directly written to the source
528
+ text string, no temporary buffer is required.
529
+
530
+ A GenericReader object can be reused for parsing multiple JSON text.
531
+
532
+ \tparam SourceEncoding Encoding of the input stream.
533
+ \tparam TargetEncoding Encoding of the parse output.
534
+ \tparam StackAllocator Allocator type for stack.
535
+ */
536
+ template <typename SourceEncoding, typename TargetEncoding, typename StackAllocator = CrtAllocator>
537
+ class GenericReader {
538
+ public:
539
+ typedef typename SourceEncoding::Ch Ch; //!< SourceEncoding character type
540
+
541
+ //! Constructor.
542
+ /*! \param stackAllocator Optional allocator for allocating stack memory. (Only use for non-destructive parsing)
543
+ \param stackCapacity stack capacity in bytes for storing a single decoded string. (Only use for non-destructive parsing)
544
+ */
545
+ GenericReader(StackAllocator* stackAllocator = 0, size_t stackCapacity = kDefaultStackCapacity) :
546
+ stack_(stackAllocator, stackCapacity), parseResult_(), state_(IterativeParsingStartState) {}
547
+
548
+ //! Parse JSON text.
549
+ /*! \tparam parseFlags Combination of \ref ParseFlag.
550
+ \tparam InputStream Type of input stream, implementing Stream concept.
551
+ \tparam Handler Type of handler, implementing Handler concept.
552
+ \param is Input stream to be parsed.
553
+ \param handler The handler to receive events.
554
+ \return Whether the parsing is successful.
555
+ */
556
+ template <unsigned parseFlags, typename InputStream, typename Handler>
557
+ ParseResult Parse(InputStream& is, Handler& handler) {
558
+ if (parseFlags & kParseIterativeFlag)
559
+ return IterativeParse<parseFlags>(is, handler);
560
+
561
+ parseResult_.Clear();
562
+
563
+ ClearStackOnExit scope(*this);
564
+
565
+ SkipWhitespaceAndComments<parseFlags>(is);
566
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_);
567
+
568
+ if (RAPIDJSON_UNLIKELY(is.Peek() == '\0')) {
569
+ RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorDocumentEmpty, is.Tell());
570
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_);
571
+ }
572
+ else {
573
+ ParseValue<parseFlags>(is, handler);
574
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_);
575
+
576
+ if (!(parseFlags & kParseStopWhenDoneFlag)) {
577
+ SkipWhitespaceAndComments<parseFlags>(is);
578
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_);
579
+
580
+ if (RAPIDJSON_UNLIKELY(is.Peek() != '\0')) {
581
+ RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorDocumentRootNotSingular, is.Tell());
582
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_);
583
+ }
584
+ }
585
+ }
586
+
587
+ return parseResult_;
588
+ }
589
+
590
+ //! Parse JSON text (with \ref kParseDefaultFlags)
591
+ /*! \tparam InputStream Type of input stream, implementing Stream concept
592
+ \tparam Handler Type of handler, implementing Handler concept.
593
+ \param is Input stream to be parsed.
594
+ \param handler The handler to receive events.
595
+ \return Whether the parsing is successful.
596
+ */
597
+ template <typename InputStream, typename Handler>
598
+ ParseResult Parse(InputStream& is, Handler& handler) {
599
+ return Parse<kParseDefaultFlags>(is, handler);
600
+ }
601
+
602
+ //! Initialize JSON text token-by-token parsing
603
+ /*!
604
+ */
605
+ void IterativeParseInit() {
606
+ parseResult_.Clear();
607
+ state_ = IterativeParsingStartState;
608
+ }
609
+
610
+ //! Parse one token from JSON text
611
+ /*! \tparam InputStream Type of input stream, implementing Stream concept
612
+ \tparam Handler Type of handler, implementing Handler concept.
613
+ \param is Input stream to be parsed.
614
+ \param handler The handler to receive events.
615
+ \return Whether the parsing is successful.
616
+ */
617
+ template <unsigned parseFlags, typename InputStream, typename Handler>
618
+ bool IterativeParseNext(InputStream& is, Handler& handler) {
619
+ while (RAPIDJSON_LIKELY(is.Peek() != '\0')) {
620
+ SkipWhitespaceAndComments<parseFlags>(is);
621
+
622
+ Token t = Tokenize(is.Peek());
623
+ IterativeParsingState n = Predict(state_, t);
624
+ IterativeParsingState d = Transit<parseFlags>(state_, t, n, is, handler);
625
+
626
+ // If we've finished or hit an error...
627
+ if (RAPIDJSON_UNLIKELY(IsIterativeParsingCompleteState(d))) {
628
+ // Report errors.
629
+ if (d == IterativeParsingErrorState) {
630
+ HandleError(state_, is);
631
+ return false;
632
+ }
633
+
634
+ // Transition to the finish state.
635
+ RAPIDJSON_ASSERT(d == IterativeParsingFinishState);
636
+ state_ = d;
637
+
638
+ // If StopWhenDone is not set...
639
+ if (!(parseFlags & kParseStopWhenDoneFlag)) {
640
+ // ... and extra non-whitespace data is found...
641
+ SkipWhitespaceAndComments<parseFlags>(is);
642
+ if (is.Peek() != '\0') {
643
+ // ... this is considered an error.
644
+ HandleError(state_, is);
645
+ return false;
646
+ }
647
+ }
648
+
649
+ // Success! We are done!
650
+ return true;
651
+ }
652
+
653
+ // Transition to the new state.
654
+ state_ = d;
655
+
656
+ // If we parsed anything other than a delimiter, we invoked the handler, so we can return true now.
657
+ if (!IsIterativeParsingDelimiterState(n))
658
+ return true;
659
+ }
660
+
661
+ // We reached the end of file.
662
+ stack_.Clear();
663
+
664
+ if (state_ != IterativeParsingFinishState) {
665
+ HandleError(state_, is);
666
+ return false;
667
+ }
668
+
669
+ return true;
670
+ }
671
+
672
+ //! Check if token-by-token parsing JSON text is complete
673
+ /*! \return Whether the JSON has been fully decoded.
674
+ */
675
+ RAPIDJSON_FORCEINLINE bool IterativeParseComplete() {
676
+ return IsIterativeParsingCompleteState(state_);
677
+ }
678
+
679
+ //! Whether a parse error has occurred in the last parsing.
680
+ bool HasParseError() const { return parseResult_.IsError(); }
681
+
682
+ //! Get the \ref ParseErrorCode of last parsing.
683
+ ParseErrorCode GetParseErrorCode() const { return parseResult_.Code(); }
684
+
685
+ //! Get the position of last parsing error in input, 0 otherwise.
686
+ size_t GetErrorOffset() const { return parseResult_.Offset(); }
687
+
688
+ protected:
689
+ void SetParseError(ParseErrorCode code, size_t offset) { parseResult_.Set(code, offset); }
690
+
691
+ private:
692
+ // Prohibit copy constructor & assignment operator.
693
+ GenericReader(const GenericReader&);
694
+ GenericReader& operator=(const GenericReader&);
695
+
696
+ void ClearStack() { stack_.Clear(); }
697
+
698
+ // clear stack on any exit from ParseStream, e.g. due to exception
699
+ struct ClearStackOnExit {
700
+ explicit ClearStackOnExit(GenericReader& r) : r_(r) {}
701
+ ~ClearStackOnExit() { r_.ClearStack(); }
702
+ private:
703
+ GenericReader& r_;
704
+ ClearStackOnExit(const ClearStackOnExit&);
705
+ ClearStackOnExit& operator=(const ClearStackOnExit&);
706
+ };
707
+
708
+ template<unsigned parseFlags, typename InputStream>
709
+ void SkipWhitespaceAndComments(InputStream& is) {
710
+ SkipWhitespace(is);
711
+
712
+ if (parseFlags & kParseCommentsFlag) {
713
+ while (RAPIDJSON_UNLIKELY(Consume(is, '/'))) {
714
+ if (Consume(is, '*')) {
715
+ while (true) {
716
+ if (RAPIDJSON_UNLIKELY(is.Peek() == '\0'))
717
+ RAPIDJSON_PARSE_ERROR(kParseErrorUnspecificSyntaxError, is.Tell());
718
+ else if (Consume(is, '*')) {
719
+ if (Consume(is, '/'))
720
+ break;
721
+ }
722
+ else
723
+ is.Take();
724
+ }
725
+ }
726
+ else if (RAPIDJSON_LIKELY(Consume(is, '/')))
727
+ while (is.Peek() != '\0' && is.Take() != '\n') {}
728
+ else
729
+ RAPIDJSON_PARSE_ERROR(kParseErrorUnspecificSyntaxError, is.Tell());
730
+
731
+ SkipWhitespace(is);
732
+ }
733
+ }
734
+ }
735
+
736
+ // Parse object: { string : value, ... }
737
+ template<unsigned parseFlags, typename InputStream, typename Handler>
738
+ void ParseObject(InputStream& is, Handler& handler) {
739
+ RAPIDJSON_ASSERT(is.Peek() == '{');
740
+ is.Take(); // Skip '{'
741
+
742
+ if (RAPIDJSON_UNLIKELY(!handler.StartObject()))
743
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
744
+
745
+ SkipWhitespaceAndComments<parseFlags>(is);
746
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
747
+
748
+ if (Consume(is, '}')) {
749
+ if (RAPIDJSON_UNLIKELY(!handler.EndObject(0))) // empty object
750
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
751
+ return;
752
+ }
753
+
754
+ for (SizeType memberCount = 0;;) {
755
+ if (RAPIDJSON_UNLIKELY(is.Peek() != '"'))
756
+ RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell());
757
+
758
+ ParseString<parseFlags>(is, handler, true);
759
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
760
+
761
+ SkipWhitespaceAndComments<parseFlags>(is);
762
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
763
+
764
+ if (RAPIDJSON_UNLIKELY(!Consume(is, ':')))
765
+ RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell());
766
+
767
+ SkipWhitespaceAndComments<parseFlags>(is);
768
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
769
+
770
+ ParseValue<parseFlags>(is, handler);
771
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
772
+
773
+ SkipWhitespaceAndComments<parseFlags>(is);
774
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
775
+
776
+ ++memberCount;
777
+
778
+ switch (is.Peek()) {
779
+ case ',':
780
+ is.Take();
781
+ SkipWhitespaceAndComments<parseFlags>(is);
782
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
783
+ break;
784
+ case '}':
785
+ is.Take();
786
+ if (RAPIDJSON_UNLIKELY(!handler.EndObject(memberCount)))
787
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
788
+ return;
789
+ default:
790
+ RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissCommaOrCurlyBracket, is.Tell()); break; // This useless break is only for making warning and coverage happy
791
+ }
792
+
793
+ if (parseFlags & kParseTrailingCommasFlag) {
794
+ if (is.Peek() == '}') {
795
+ if (RAPIDJSON_UNLIKELY(!handler.EndObject(memberCount)))
796
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
797
+ is.Take();
798
+ return;
799
+ }
800
+ }
801
+ }
802
+ }
803
+
804
+ // Parse array: [ value, ... ]
805
+ template<unsigned parseFlags, typename InputStream, typename Handler>
806
+ void ParseArray(InputStream& is, Handler& handler) {
807
+ RAPIDJSON_ASSERT(is.Peek() == '[');
808
+ is.Take(); // Skip '['
809
+
810
+ if (RAPIDJSON_UNLIKELY(!handler.StartArray()))
811
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
812
+
813
+ SkipWhitespaceAndComments<parseFlags>(is);
814
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
815
+
816
+ if (Consume(is, ']')) {
817
+ if (RAPIDJSON_UNLIKELY(!handler.EndArray(0))) // empty array
818
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
819
+ return;
820
+ }
821
+
822
+ for (SizeType elementCount = 0;;) {
823
+ ParseValue<parseFlags>(is, handler);
824
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
825
+
826
+ ++elementCount;
827
+ SkipWhitespaceAndComments<parseFlags>(is);
828
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
829
+
830
+ if (Consume(is, ',')) {
831
+ SkipWhitespaceAndComments<parseFlags>(is);
832
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
833
+ }
834
+ else if (Consume(is, ']')) {
835
+ if (RAPIDJSON_UNLIKELY(!handler.EndArray(elementCount)))
836
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
837
+ return;
838
+ }
839
+ else
840
+ RAPIDJSON_PARSE_ERROR(kParseErrorArrayMissCommaOrSquareBracket, is.Tell());
841
+
842
+ if (parseFlags & kParseTrailingCommasFlag) {
843
+ if (is.Peek() == ']') {
844
+ if (RAPIDJSON_UNLIKELY(!handler.EndArray(elementCount)))
845
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
846
+ is.Take();
847
+ return;
848
+ }
849
+ }
850
+ }
851
+ }
852
+
853
+ template<unsigned parseFlags, typename InputStream, typename Handler>
854
+ void ParseNull(InputStream& is, Handler& handler) {
855
+ RAPIDJSON_ASSERT(is.Peek() == 'n');
856
+ is.Take();
857
+
858
+ if (RAPIDJSON_LIKELY(Consume(is, 'u') && Consume(is, 'l') && Consume(is, 'l'))) {
859
+ if (RAPIDJSON_UNLIKELY(!handler.Null()))
860
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
861
+ }
862
+ else
863
+ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell());
864
+ }
865
+
866
+ template<unsigned parseFlags, typename InputStream, typename Handler>
867
+ void ParseTrue(InputStream& is, Handler& handler) {
868
+ RAPIDJSON_ASSERT(is.Peek() == 't');
869
+ is.Take();
870
+
871
+ if (RAPIDJSON_LIKELY(Consume(is, 'r') && Consume(is, 'u') && Consume(is, 'e'))) {
872
+ if (RAPIDJSON_UNLIKELY(!handler.Bool(true)))
873
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
874
+ }
875
+ else
876
+ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell());
877
+ }
878
+
879
+ template<unsigned parseFlags, typename InputStream, typename Handler>
880
+ void ParseFalse(InputStream& is, Handler& handler) {
881
+ RAPIDJSON_ASSERT(is.Peek() == 'f');
882
+ is.Take();
883
+
884
+ if (RAPIDJSON_LIKELY(Consume(is, 'a') && Consume(is, 'l') && Consume(is, 's') && Consume(is, 'e'))) {
885
+ if (RAPIDJSON_UNLIKELY(!handler.Bool(false)))
886
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
887
+ }
888
+ else
889
+ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell());
890
+ }
891
+
892
+ template<typename InputStream>
893
+ RAPIDJSON_FORCEINLINE static bool Consume(InputStream& is, typename InputStream::Ch expect) {
894
+ if (RAPIDJSON_LIKELY(is.Peek() == expect)) {
895
+ is.Take();
896
+ return true;
897
+ }
898
+ else
899
+ return false;
900
+ }
901
+
902
+ // Helper function to parse four hexadecimal digits in \uXXXX in ParseString().
903
+ template<typename InputStream>
904
+ unsigned ParseHex4(InputStream& is, size_t escapeOffset) {
905
+ unsigned codepoint = 0;
906
+ for (int i = 0; i < 4; i++) {
907
+ Ch c = is.Peek();
908
+ codepoint <<= 4;
909
+ codepoint += static_cast<unsigned>(c);
910
+ if (c >= '0' && c <= '9')
911
+ codepoint -= '0';
912
+ else if (c >= 'A' && c <= 'F')
913
+ codepoint -= 'A' - 10;
914
+ else if (c >= 'a' && c <= 'f')
915
+ codepoint -= 'a' - 10;
916
+ else {
917
+ RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorStringUnicodeEscapeInvalidHex, escapeOffset);
918
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(0);
919
+ }
920
+ is.Take();
921
+ }
922
+ return codepoint;
923
+ }
924
+
925
+ template <typename CharType>
926
+ class StackStream {
927
+ public:
928
+ typedef CharType Ch;
929
+
930
+ StackStream(internal::Stack<StackAllocator>& stack) : stack_(stack), length_(0) {}
931
+ RAPIDJSON_FORCEINLINE void Put(Ch c) {
932
+ *stack_.template Push<Ch>() = c;
933
+ ++length_;
934
+ }
935
+
936
+ RAPIDJSON_FORCEINLINE void* Push(SizeType count) {
937
+ length_ += count;
938
+ return stack_.template Push<Ch>(count);
939
+ }
940
+
941
+ size_t Length() const { return length_; }
942
+
943
+ Ch* Pop() {
944
+ return stack_.template Pop<Ch>(length_);
945
+ }
946
+
947
+ private:
948
+ StackStream(const StackStream&);
949
+ StackStream& operator=(const StackStream&);
950
+
951
+ internal::Stack<StackAllocator>& stack_;
952
+ SizeType length_;
953
+ };
954
+
955
+ // Parse string and generate String event. Different code paths for kParseInsituFlag.
956
+ template<unsigned parseFlags, typename InputStream, typename Handler>
957
+ void ParseString(InputStream& is, Handler& handler, bool isKey = false) {
958
+ internal::StreamLocalCopy<InputStream> copy(is);
959
+ InputStream& s(copy.s);
960
+
961
+ RAPIDJSON_ASSERT(s.Peek() == '\"');
962
+ s.Take(); // Skip '\"'
963
+
964
+ bool success = false;
965
+ if (parseFlags & kParseInsituFlag) {
966
+ typename InputStream::Ch *head = s.PutBegin();
967
+ ParseStringToStream<parseFlags, SourceEncoding, SourceEncoding>(s, s);
968
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
969
+ size_t length = s.PutEnd(head) - 1;
970
+ RAPIDJSON_ASSERT(length <= 0xFFFFFFFF);
971
+ const typename TargetEncoding::Ch* const str = reinterpret_cast<typename TargetEncoding::Ch*>(head);
972
+ success = (isKey ? handler.Key(str, SizeType(length), false) : handler.String(str, SizeType(length), false));
973
+ }
974
+ else {
975
+ StackStream<typename TargetEncoding::Ch> stackStream(stack_);
976
+ ParseStringToStream<parseFlags, SourceEncoding, TargetEncoding>(s, stackStream);
977
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
978
+ SizeType length = static_cast<SizeType>(stackStream.Length()) - 1;
979
+ const typename TargetEncoding::Ch* const str = stackStream.Pop();
980
+ success = (isKey ? handler.Key(str, length, true) : handler.String(str, length, true));
981
+ }
982
+ if (RAPIDJSON_UNLIKELY(!success))
983
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, s.Tell());
984
+ }
985
+
986
+ // Parse string to an output is
987
+ // This function handles the prefix/suffix double quotes, escaping, and optional encoding validation.
988
+ template<unsigned parseFlags, typename SEncoding, typename TEncoding, typename InputStream, typename OutputStream>
989
+ RAPIDJSON_FORCEINLINE void ParseStringToStream(InputStream& is, OutputStream& os) {
990
+ //!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN
991
+ #define Z16 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
992
+ static const char escape[256] = {
993
+ Z16, Z16, 0, 0,'\"', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'/',
994
+ Z16, Z16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'\\', 0, 0, 0,
995
+ 0, 0,'\b', 0, 0, 0,'\f', 0, 0, 0, 0, 0, 0, 0,'\n', 0,
996
+ 0, 0,'\r', 0,'\t', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
997
+ Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16
998
+ };
999
+ #undef Z16
1000
+ //!@endcond
1001
+
1002
+ for (;;) {
1003
+ // Scan and copy string before "\\\"" or < 0x20. This is an optional optimzation.
1004
+ if (!(parseFlags & kParseValidateEncodingFlag))
1005
+ ScanCopyUnescapedString(is, os);
1006
+
1007
+ Ch c = is.Peek();
1008
+ if (RAPIDJSON_UNLIKELY(c == '\\')) { // Escape
1009
+ size_t escapeOffset = is.Tell(); // For invalid escaping, report the initial '\\' as error offset
1010
+ is.Take();
1011
+ Ch e = is.Peek();
1012
+ if ((sizeof(Ch) == 1 || unsigned(e) < 256) && RAPIDJSON_LIKELY(escape[static_cast<unsigned char>(e)])) {
1013
+ is.Take();
1014
+ os.Put(static_cast<typename TEncoding::Ch>(escape[static_cast<unsigned char>(e)]));
1015
+ }
1016
+ else if (RAPIDJSON_LIKELY(e == 'u')) { // Unicode
1017
+ is.Take();
1018
+ unsigned codepoint = ParseHex4(is, escapeOffset);
1019
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
1020
+ if (RAPIDJSON_UNLIKELY(codepoint >= 0xD800 && codepoint <= 0xDBFF)) {
1021
+ // Handle UTF-16 surrogate pair
1022
+ if (RAPIDJSON_UNLIKELY(!Consume(is, '\\') || !Consume(is, 'u')))
1023
+ RAPIDJSON_PARSE_ERROR(kParseErrorStringUnicodeSurrogateInvalid, escapeOffset);
1024
+ unsigned codepoint2 = ParseHex4(is, escapeOffset);
1025
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
1026
+ if (RAPIDJSON_UNLIKELY(codepoint2 < 0xDC00 || codepoint2 > 0xDFFF))
1027
+ RAPIDJSON_PARSE_ERROR(kParseErrorStringUnicodeSurrogateInvalid, escapeOffset);
1028
+ codepoint = (((codepoint - 0xD800) << 10) | (codepoint2 - 0xDC00)) + 0x10000;
1029
+ }
1030
+ TEncoding::Encode(os, codepoint);
1031
+ }
1032
+ else
1033
+ RAPIDJSON_PARSE_ERROR(kParseErrorStringEscapeInvalid, escapeOffset);
1034
+ }
1035
+ else if (RAPIDJSON_UNLIKELY(c == '"')) { // Closing double quote
1036
+ is.Take();
1037
+ os.Put('\0'); // null-terminate the string
1038
+ return;
1039
+ }
1040
+ else if (RAPIDJSON_UNLIKELY(static_cast<unsigned>(c) < 0x20)) { // RFC 4627: unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
1041
+ if (c == '\0')
1042
+ RAPIDJSON_PARSE_ERROR(kParseErrorStringMissQuotationMark, is.Tell());
1043
+ else
1044
+ RAPIDJSON_PARSE_ERROR(kParseErrorStringInvalidEncoding, is.Tell());
1045
+ }
1046
+ else {
1047
+ size_t offset = is.Tell();
1048
+ if (RAPIDJSON_UNLIKELY((parseFlags & kParseValidateEncodingFlag ?
1049
+ !Transcoder<SEncoding, TEncoding>::Validate(is, os) :
1050
+ !Transcoder<SEncoding, TEncoding>::Transcode(is, os))))
1051
+ RAPIDJSON_PARSE_ERROR(kParseErrorStringInvalidEncoding, offset);
1052
+ }
1053
+ }
1054
+ }
1055
+
1056
+ template<typename InputStream, typename OutputStream>
1057
+ static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(InputStream&, OutputStream&) {
1058
+ // Do nothing for generic version
1059
+ }
1060
+
1061
+ #if defined(RAPIDJSON_SSE2) || defined(RAPIDJSON_SSE42)
1062
+ // StringStream -> StackStream<char>
1063
+ static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(StringStream& is, StackStream<char>& os) {
1064
+ const char* p = is.src_;
1065
+
1066
+ // Scan one by one until alignment (unaligned load may cross page boundary and cause crash)
1067
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
1068
+ while (p != nextAligned)
1069
+ if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast<unsigned>(*p) < 0x20)) {
1070
+ is.src_ = p;
1071
+ return;
1072
+ }
1073
+ else
1074
+ os.Put(*p++);
1075
+
1076
+ // The rest of string using SIMD
1077
+ static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' };
1078
+ static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' };
1079
+ static const char space[16] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F };
1080
+ const __m128i dq = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&dquote[0]));
1081
+ const __m128i bs = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&bslash[0]));
1082
+ const __m128i sp = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&space[0]));
1083
+
1084
+ for (;; p += 16) {
1085
+ const __m128i s = _mm_load_si128(reinterpret_cast<const __m128i *>(p));
1086
+ const __m128i t1 = _mm_cmpeq_epi8(s, dq);
1087
+ const __m128i t2 = _mm_cmpeq_epi8(s, bs);
1088
+ const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x1F) == 0x1F
1089
+ const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3);
1090
+ unsigned short r = static_cast<unsigned short>(_mm_movemask_epi8(x));
1091
+ if (RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped
1092
+ SizeType length;
1093
+ #ifdef _MSC_VER // Find the index of first escaped
1094
+ unsigned long offset;
1095
+ _BitScanForward(&offset, r);
1096
+ length = offset;
1097
+ #else
1098
+ length = static_cast<SizeType>(__builtin_ffs(r) - 1);
1099
+ #endif
1100
+ if (length != 0) {
1101
+ char* q = reinterpret_cast<char*>(os.Push(length));
1102
+ for (size_t i = 0; i < length; i++)
1103
+ q[i] = p[i];
1104
+
1105
+ p += length;
1106
+ }
1107
+ break;
1108
+ }
1109
+ _mm_storeu_si128(reinterpret_cast<__m128i *>(os.Push(16)), s);
1110
+ }
1111
+
1112
+ is.src_ = p;
1113
+ }
1114
+
1115
+ // InsituStringStream -> InsituStringStream
1116
+ static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(InsituStringStream& is, InsituStringStream& os) {
1117
+ RAPIDJSON_ASSERT(&is == &os);
1118
+ (void)os;
1119
+
1120
+ if (is.src_ == is.dst_) {
1121
+ SkipUnescapedString(is);
1122
+ return;
1123
+ }
1124
+
1125
+ char* p = is.src_;
1126
+ char *q = is.dst_;
1127
+
1128
+ // Scan one by one until alignment (unaligned load may cross page boundary and cause crash)
1129
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
1130
+ while (p != nextAligned)
1131
+ if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast<unsigned>(*p) < 0x20)) {
1132
+ is.src_ = p;
1133
+ is.dst_ = q;
1134
+ return;
1135
+ }
1136
+ else
1137
+ *q++ = *p++;
1138
+
1139
+ // The rest of string using SIMD
1140
+ static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' };
1141
+ static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' };
1142
+ static const char space[16] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F };
1143
+ const __m128i dq = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&dquote[0]));
1144
+ const __m128i bs = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&bslash[0]));
1145
+ const __m128i sp = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&space[0]));
1146
+
1147
+ for (;; p += 16, q += 16) {
1148
+ const __m128i s = _mm_load_si128(reinterpret_cast<const __m128i *>(p));
1149
+ const __m128i t1 = _mm_cmpeq_epi8(s, dq);
1150
+ const __m128i t2 = _mm_cmpeq_epi8(s, bs);
1151
+ const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x1F) == 0x1F
1152
+ const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3);
1153
+ unsigned short r = static_cast<unsigned short>(_mm_movemask_epi8(x));
1154
+ if (RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped
1155
+ size_t length;
1156
+ #ifdef _MSC_VER // Find the index of first escaped
1157
+ unsigned long offset;
1158
+ _BitScanForward(&offset, r);
1159
+ length = offset;
1160
+ #else
1161
+ length = static_cast<size_t>(__builtin_ffs(r) - 1);
1162
+ #endif
1163
+ for (const char* pend = p + length; p != pend; )
1164
+ *q++ = *p++;
1165
+ break;
1166
+ }
1167
+ _mm_storeu_si128(reinterpret_cast<__m128i *>(q), s);
1168
+ }
1169
+
1170
+ is.src_ = p;
1171
+ is.dst_ = q;
1172
+ }
1173
+
1174
+ // When read/write pointers are the same for insitu stream, just skip unescaped characters
1175
+ static RAPIDJSON_FORCEINLINE void SkipUnescapedString(InsituStringStream& is) {
1176
+ RAPIDJSON_ASSERT(is.src_ == is.dst_);
1177
+ char* p = is.src_;
1178
+
1179
+ // Scan one by one until alignment (unaligned load may cross page boundary and cause crash)
1180
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
1181
+ for (; p != nextAligned; p++)
1182
+ if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast<unsigned>(*p) < 0x20)) {
1183
+ is.src_ = is.dst_ = p;
1184
+ return;
1185
+ }
1186
+
1187
+ // The rest of string using SIMD
1188
+ static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' };
1189
+ static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' };
1190
+ static const char space[16] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F };
1191
+ const __m128i dq = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&dquote[0]));
1192
+ const __m128i bs = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&bslash[0]));
1193
+ const __m128i sp = _mm_loadu_si128(reinterpret_cast<const __m128i *>(&space[0]));
1194
+
1195
+ for (;; p += 16) {
1196
+ const __m128i s = _mm_load_si128(reinterpret_cast<const __m128i *>(p));
1197
+ const __m128i t1 = _mm_cmpeq_epi8(s, dq);
1198
+ const __m128i t2 = _mm_cmpeq_epi8(s, bs);
1199
+ const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x1F) == 0x1F
1200
+ const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3);
1201
+ unsigned short r = static_cast<unsigned short>(_mm_movemask_epi8(x));
1202
+ if (RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped
1203
+ size_t length;
1204
+ #ifdef _MSC_VER // Find the index of first escaped
1205
+ unsigned long offset;
1206
+ _BitScanForward(&offset, r);
1207
+ length = offset;
1208
+ #else
1209
+ length = static_cast<size_t>(__builtin_ffs(r) - 1);
1210
+ #endif
1211
+ p += length;
1212
+ break;
1213
+ }
1214
+ }
1215
+
1216
+ is.src_ = is.dst_ = p;
1217
+ }
1218
+ #elif defined(RAPIDJSON_NEON)
1219
+ // StringStream -> StackStream<char>
1220
+ static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(StringStream& is, StackStream<char>& os) {
1221
+ const char* p = is.src_;
1222
+
1223
+ // Scan one by one until alignment (unaligned load may cross page boundary and cause crash)
1224
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
1225
+ while (p != nextAligned)
1226
+ if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast<unsigned>(*p) < 0x20)) {
1227
+ is.src_ = p;
1228
+ return;
1229
+ }
1230
+ else
1231
+ os.Put(*p++);
1232
+
1233
+ // The rest of string using SIMD
1234
+ const uint8x16_t s0 = vmovq_n_u8('"');
1235
+ const uint8x16_t s1 = vmovq_n_u8('\\');
1236
+ const uint8x16_t s2 = vmovq_n_u8('\b');
1237
+ const uint8x16_t s3 = vmovq_n_u8(32);
1238
+
1239
+ for (;; p += 16) {
1240
+ const uint8x16_t s = vld1q_u8(reinterpret_cast<const uint8_t *>(p));
1241
+ uint8x16_t x = vceqq_u8(s, s0);
1242
+ x = vorrq_u8(x, vceqq_u8(s, s1));
1243
+ x = vorrq_u8(x, vceqq_u8(s, s2));
1244
+ x = vorrq_u8(x, vcltq_u8(s, s3));
1245
+
1246
+ x = vrev64q_u8(x); // Rev in 64
1247
+ uint64_t low = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 0); // extract
1248
+ uint64_t high = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 1); // extract
1249
+
1250
+ SizeType length = 0;
1251
+ bool escaped = false;
1252
+ if (low == 0) {
1253
+ if (high != 0) {
1254
+ unsigned lz = (unsigned)__builtin_clzll(high);;
1255
+ length = 8 + (lz >> 3);
1256
+ escaped = true;
1257
+ }
1258
+ } else {
1259
+ unsigned lz = (unsigned)__builtin_clzll(low);;
1260
+ length = lz >> 3;
1261
+ escaped = true;
1262
+ }
1263
+ if (RAPIDJSON_UNLIKELY(escaped)) { // some of characters is escaped
1264
+ if (length != 0) {
1265
+ char* q = reinterpret_cast<char*>(os.Push(length));
1266
+ for (size_t i = 0; i < length; i++)
1267
+ q[i] = p[i];
1268
+
1269
+ p += length;
1270
+ }
1271
+ break;
1272
+ }
1273
+ vst1q_u8(reinterpret_cast<uint8_t *>(os.Push(16)), s);
1274
+ }
1275
+
1276
+ is.src_ = p;
1277
+ }
1278
+
1279
+ // InsituStringStream -> InsituStringStream
1280
+ static RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(InsituStringStream& is, InsituStringStream& os) {
1281
+ RAPIDJSON_ASSERT(&is == &os);
1282
+ (void)os;
1283
+
1284
+ if (is.src_ == is.dst_) {
1285
+ SkipUnescapedString(is);
1286
+ return;
1287
+ }
1288
+
1289
+ char* p = is.src_;
1290
+ char *q = is.dst_;
1291
+
1292
+ // Scan one by one until alignment (unaligned load may cross page boundary and cause crash)
1293
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
1294
+ while (p != nextAligned)
1295
+ if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast<unsigned>(*p) < 0x20)) {
1296
+ is.src_ = p;
1297
+ is.dst_ = q;
1298
+ return;
1299
+ }
1300
+ else
1301
+ *q++ = *p++;
1302
+
1303
+ // The rest of string using SIMD
1304
+ const uint8x16_t s0 = vmovq_n_u8('"');
1305
+ const uint8x16_t s1 = vmovq_n_u8('\\');
1306
+ const uint8x16_t s2 = vmovq_n_u8('\b');
1307
+ const uint8x16_t s3 = vmovq_n_u8(32);
1308
+
1309
+ for (;; p += 16, q += 16) {
1310
+ const uint8x16_t s = vld1q_u8(reinterpret_cast<uint8_t *>(p));
1311
+ uint8x16_t x = vceqq_u8(s, s0);
1312
+ x = vorrq_u8(x, vceqq_u8(s, s1));
1313
+ x = vorrq_u8(x, vceqq_u8(s, s2));
1314
+ x = vorrq_u8(x, vcltq_u8(s, s3));
1315
+
1316
+ x = vrev64q_u8(x); // Rev in 64
1317
+ uint64_t low = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 0); // extract
1318
+ uint64_t high = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 1); // extract
1319
+
1320
+ SizeType length = 0;
1321
+ bool escaped = false;
1322
+ if (low == 0) {
1323
+ if (high != 0) {
1324
+ unsigned lz = (unsigned)__builtin_clzll(high);
1325
+ length = 8 + (lz >> 3);
1326
+ escaped = true;
1327
+ }
1328
+ } else {
1329
+ unsigned lz = (unsigned)__builtin_clzll(low);
1330
+ length = lz >> 3;
1331
+ escaped = true;
1332
+ }
1333
+ if (RAPIDJSON_UNLIKELY(escaped)) { // some of characters is escaped
1334
+ for (const char* pend = p + length; p != pend; ) {
1335
+ *q++ = *p++;
1336
+ }
1337
+ break;
1338
+ }
1339
+ vst1q_u8(reinterpret_cast<uint8_t *>(q), s);
1340
+ }
1341
+
1342
+ is.src_ = p;
1343
+ is.dst_ = q;
1344
+ }
1345
+
1346
+ // When read/write pointers are the same for insitu stream, just skip unescaped characters
1347
+ static RAPIDJSON_FORCEINLINE void SkipUnescapedString(InsituStringStream& is) {
1348
+ RAPIDJSON_ASSERT(is.src_ == is.dst_);
1349
+ char* p = is.src_;
1350
+
1351
+ // Scan one by one until alignment (unaligned load may cross page boundary and cause crash)
1352
+ const char* nextAligned = reinterpret_cast<const char*>((reinterpret_cast<size_t>(p) + 15) & static_cast<size_t>(~15));
1353
+ for (; p != nextAligned; p++)
1354
+ if (RAPIDJSON_UNLIKELY(*p == '\"') || RAPIDJSON_UNLIKELY(*p == '\\') || RAPIDJSON_UNLIKELY(static_cast<unsigned>(*p) < 0x20)) {
1355
+ is.src_ = is.dst_ = p;
1356
+ return;
1357
+ }
1358
+
1359
+ // The rest of string using SIMD
1360
+ const uint8x16_t s0 = vmovq_n_u8('"');
1361
+ const uint8x16_t s1 = vmovq_n_u8('\\');
1362
+ const uint8x16_t s2 = vmovq_n_u8('\b');
1363
+ const uint8x16_t s3 = vmovq_n_u8(32);
1364
+
1365
+ for (;; p += 16) {
1366
+ const uint8x16_t s = vld1q_u8(reinterpret_cast<uint8_t *>(p));
1367
+ uint8x16_t x = vceqq_u8(s, s0);
1368
+ x = vorrq_u8(x, vceqq_u8(s, s1));
1369
+ x = vorrq_u8(x, vceqq_u8(s, s2));
1370
+ x = vorrq_u8(x, vcltq_u8(s, s3));
1371
+
1372
+ x = vrev64q_u8(x); // Rev in 64
1373
+ uint64_t low = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 0); // extract
1374
+ uint64_t high = vgetq_lane_u64(reinterpret_cast<uint64x2_t>(x), 1); // extract
1375
+
1376
+ if (low == 0) {
1377
+ if (high != 0) {
1378
+ int lz = __builtin_clzll(high);
1379
+ p += 8 + (lz >> 3);
1380
+ break;
1381
+ }
1382
+ } else {
1383
+ int lz = __builtin_clzll(low);
1384
+ p += lz >> 3;
1385
+ break;
1386
+ }
1387
+ }
1388
+
1389
+ is.src_ = is.dst_ = p;
1390
+ }
1391
+ #endif // RAPIDJSON_NEON
1392
+
1393
+ template<typename InputStream, bool backup, bool pushOnTake>
1394
+ class NumberStream;
1395
+
1396
+ template<typename InputStream>
1397
+ class NumberStream<InputStream, false, false> {
1398
+ public:
1399
+ typedef typename InputStream::Ch Ch;
1400
+
1401
+ NumberStream(GenericReader& reader, InputStream& s) : is(s) { (void)reader; }
1402
+
1403
+ RAPIDJSON_FORCEINLINE Ch Peek() const { return is.Peek(); }
1404
+ RAPIDJSON_FORCEINLINE Ch TakePush() { return is.Take(); }
1405
+ RAPIDJSON_FORCEINLINE Ch Take() { return is.Take(); }
1406
+ RAPIDJSON_FORCEINLINE void Push(char) {}
1407
+
1408
+ size_t Tell() { return is.Tell(); }
1409
+ size_t Length() { return 0; }
1410
+ const char* Pop() { return 0; }
1411
+
1412
+ protected:
1413
+ NumberStream& operator=(const NumberStream&);
1414
+
1415
+ InputStream& is;
1416
+ };
1417
+
1418
+ template<typename InputStream>
1419
+ class NumberStream<InputStream, true, false> : public NumberStream<InputStream, false, false> {
1420
+ typedef NumberStream<InputStream, false, false> Base;
1421
+ public:
1422
+ NumberStream(GenericReader& reader, InputStream& is) : Base(reader, is), stackStream(reader.stack_) {}
1423
+
1424
+ RAPIDJSON_FORCEINLINE Ch TakePush() {
1425
+ stackStream.Put(static_cast<char>(Base::is.Peek()));
1426
+ return Base::is.Take();
1427
+ }
1428
+
1429
+ RAPIDJSON_FORCEINLINE void Push(char c) {
1430
+ stackStream.Put(c);
1431
+ }
1432
+
1433
+ size_t Length() { return stackStream.Length(); }
1434
+
1435
+ const char* Pop() {
1436
+ stackStream.Put('\0');
1437
+ return stackStream.Pop();
1438
+ }
1439
+
1440
+ private:
1441
+ StackStream<char> stackStream;
1442
+ };
1443
+
1444
+ template<typename InputStream>
1445
+ class NumberStream<InputStream, true, true> : public NumberStream<InputStream, true, false> {
1446
+ typedef NumberStream<InputStream, true, false> Base;
1447
+ public:
1448
+ NumberStream(GenericReader& reader, InputStream& is) : Base(reader, is) {}
1449
+
1450
+ RAPIDJSON_FORCEINLINE Ch Take() { return Base::TakePush(); }
1451
+ };
1452
+
1453
+ template<unsigned parseFlags, typename InputStream, typename Handler>
1454
+ void ParseNumber(InputStream& is, Handler& handler) {
1455
+ internal::StreamLocalCopy<InputStream> copy(is);
1456
+ NumberStream<InputStream,
1457
+ ((parseFlags & kParseNumbersAsStringsFlag) != 0) ?
1458
+ ((parseFlags & kParseInsituFlag) == 0) :
1459
+ ((parseFlags & kParseFullPrecisionFlag) != 0),
1460
+ (parseFlags & kParseNumbersAsStringsFlag) != 0 &&
1461
+ (parseFlags & kParseInsituFlag) == 0> s(*this, copy.s);
1462
+
1463
+ size_t startOffset = s.Tell();
1464
+ double d = 0.0;
1465
+ bool useNanOrInf = false;
1466
+
1467
+ // Parse minus
1468
+ bool minus = Consume(s, '-');
1469
+
1470
+ // Parse int: zero / ( digit1-9 *DIGIT )
1471
+ unsigned i = 0;
1472
+ uint64_t i64 = 0;
1473
+ bool use64bit = false;
1474
+ int significandDigit = 0;
1475
+ if (RAPIDJSON_UNLIKELY(s.Peek() == '0')) {
1476
+ i = 0;
1477
+ s.TakePush();
1478
+ }
1479
+ else if (RAPIDJSON_LIKELY(s.Peek() >= '1' && s.Peek() <= '9')) {
1480
+ i = static_cast<unsigned>(s.TakePush() - '0');
1481
+
1482
+ if (minus)
1483
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1484
+ if (RAPIDJSON_UNLIKELY(i >= 214748364)) { // 2^31 = 2147483648
1485
+ if (RAPIDJSON_LIKELY(i != 214748364 || s.Peek() > '8')) {
1486
+ i64 = i;
1487
+ use64bit = true;
1488
+ break;
1489
+ }
1490
+ }
1491
+ i = i * 10 + static_cast<unsigned>(s.TakePush() - '0');
1492
+ significandDigit++;
1493
+ }
1494
+ else
1495
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1496
+ if (RAPIDJSON_UNLIKELY(i >= 429496729)) { // 2^32 - 1 = 4294967295
1497
+ if (RAPIDJSON_LIKELY(i != 429496729 || s.Peek() > '5')) {
1498
+ i64 = i;
1499
+ use64bit = true;
1500
+ break;
1501
+ }
1502
+ }
1503
+ i = i * 10 + static_cast<unsigned>(s.TakePush() - '0');
1504
+ significandDigit++;
1505
+ }
1506
+ }
1507
+ // Parse NaN or Infinity here
1508
+ else if ((parseFlags & kParseNanAndInfFlag) && RAPIDJSON_LIKELY((s.Peek() == 'I' || s.Peek() == 'N'))) {
1509
+ if (Consume(s, 'N')) {
1510
+ if (Consume(s, 'a') && Consume(s, 'N')) {
1511
+ d = std::numeric_limits<double>::quiet_NaN();
1512
+ useNanOrInf = true;
1513
+ }
1514
+ }
1515
+ else if (RAPIDJSON_LIKELY(Consume(s, 'I'))) {
1516
+ if (Consume(s, 'n') && Consume(s, 'f')) {
1517
+ d = (minus ? -std::numeric_limits<double>::infinity() : std::numeric_limits<double>::infinity());
1518
+ useNanOrInf = true;
1519
+
1520
+ if (RAPIDJSON_UNLIKELY(s.Peek() == 'i' && !(Consume(s, 'i') && Consume(s, 'n')
1521
+ && Consume(s, 'i') && Consume(s, 't') && Consume(s, 'y')))) {
1522
+ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell());
1523
+ }
1524
+ }
1525
+ }
1526
+
1527
+ if (RAPIDJSON_UNLIKELY(!useNanOrInf)) {
1528
+ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell());
1529
+ }
1530
+ }
1531
+ else
1532
+ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell());
1533
+
1534
+ // Parse 64bit int
1535
+ bool useDouble = false;
1536
+ if (use64bit) {
1537
+ if (minus)
1538
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1539
+ if (RAPIDJSON_UNLIKELY(i64 >= RAPIDJSON_UINT64_C2(0x0CCCCCCC, 0xCCCCCCCC))) // 2^63 = 9223372036854775808
1540
+ if (RAPIDJSON_LIKELY(i64 != RAPIDJSON_UINT64_C2(0x0CCCCCCC, 0xCCCCCCCC) || s.Peek() > '8')) {
1541
+ d = static_cast<double>(i64);
1542
+ useDouble = true;
1543
+ break;
1544
+ }
1545
+ i64 = i64 * 10 + static_cast<unsigned>(s.TakePush() - '0');
1546
+ significandDigit++;
1547
+ }
1548
+ else
1549
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1550
+ if (RAPIDJSON_UNLIKELY(i64 >= RAPIDJSON_UINT64_C2(0x19999999, 0x99999999))) // 2^64 - 1 = 18446744073709551615
1551
+ if (RAPIDJSON_LIKELY(i64 != RAPIDJSON_UINT64_C2(0x19999999, 0x99999999) || s.Peek() > '5')) {
1552
+ d = static_cast<double>(i64);
1553
+ useDouble = true;
1554
+ break;
1555
+ }
1556
+ i64 = i64 * 10 + static_cast<unsigned>(s.TakePush() - '0');
1557
+ significandDigit++;
1558
+ }
1559
+ }
1560
+
1561
+ // Force double for big integer
1562
+ if (useDouble) {
1563
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1564
+ if (RAPIDJSON_UNLIKELY(d >= 1.7976931348623157e307)) // DBL_MAX / 10.0
1565
+ RAPIDJSON_PARSE_ERROR(kParseErrorNumberTooBig, startOffset);
1566
+ d = d * 10 + (s.TakePush() - '0');
1567
+ }
1568
+ }
1569
+
1570
+ // Parse frac = decimal-point 1*DIGIT
1571
+ int expFrac = 0;
1572
+ size_t decimalPosition;
1573
+ if (Consume(s, '.')) {
1574
+ decimalPosition = s.Length();
1575
+
1576
+ if (RAPIDJSON_UNLIKELY(!(s.Peek() >= '0' && s.Peek() <= '9')))
1577
+ RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissFraction, s.Tell());
1578
+
1579
+ if (!useDouble) {
1580
+ #if RAPIDJSON_64BIT
1581
+ // Use i64 to store significand in 64-bit architecture
1582
+ if (!use64bit)
1583
+ i64 = i;
1584
+
1585
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1586
+ if (i64 > RAPIDJSON_UINT64_C2(0x1FFFFF, 0xFFFFFFFF)) // 2^53 - 1 for fast path
1587
+ break;
1588
+ else {
1589
+ i64 = i64 * 10 + static_cast<unsigned>(s.TakePush() - '0');
1590
+ --expFrac;
1591
+ if (i64 != 0)
1592
+ significandDigit++;
1593
+ }
1594
+ }
1595
+
1596
+ d = static_cast<double>(i64);
1597
+ #else
1598
+ // Use double to store significand in 32-bit architecture
1599
+ d = static_cast<double>(use64bit ? i64 : i);
1600
+ #endif
1601
+ useDouble = true;
1602
+ }
1603
+
1604
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1605
+ if (significandDigit < 17) {
1606
+ d = d * 10.0 + (s.TakePush() - '0');
1607
+ --expFrac;
1608
+ if (RAPIDJSON_LIKELY(d > 0.0))
1609
+ significandDigit++;
1610
+ }
1611
+ else
1612
+ s.TakePush();
1613
+ }
1614
+ }
1615
+ else
1616
+ decimalPosition = s.Length(); // decimal position at the end of integer.
1617
+
1618
+ // Parse exp = e [ minus / plus ] 1*DIGIT
1619
+ int exp = 0;
1620
+ if (Consume(s, 'e') || Consume(s, 'E')) {
1621
+ if (!useDouble) {
1622
+ d = static_cast<double>(use64bit ? i64 : i);
1623
+ useDouble = true;
1624
+ }
1625
+
1626
+ bool expMinus = false;
1627
+ if (Consume(s, '+'))
1628
+ ;
1629
+ else if (Consume(s, '-'))
1630
+ expMinus = true;
1631
+
1632
+ if (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1633
+ exp = static_cast<int>(s.Take() - '0');
1634
+ if (expMinus) {
1635
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1636
+ exp = exp * 10 + static_cast<int>(s.Take() - '0');
1637
+ if (exp >= 214748364) { // Issue #313: prevent overflow exponent
1638
+ while (RAPIDJSON_UNLIKELY(s.Peek() >= '0' && s.Peek() <= '9')) // Consume the rest of exponent
1639
+ s.Take();
1640
+ }
1641
+ }
1642
+ }
1643
+ else { // positive exp
1644
+ int maxExp = 308 - expFrac;
1645
+ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) {
1646
+ exp = exp * 10 + static_cast<int>(s.Take() - '0');
1647
+ if (RAPIDJSON_UNLIKELY(exp > maxExp))
1648
+ RAPIDJSON_PARSE_ERROR(kParseErrorNumberTooBig, startOffset);
1649
+ }
1650
+ }
1651
+ }
1652
+ else
1653
+ RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissExponent, s.Tell());
1654
+
1655
+ if (expMinus)
1656
+ exp = -exp;
1657
+ }
1658
+
1659
+ // Finish parsing, call event according to the type of number.
1660
+ bool cont = true;
1661
+
1662
+ if (parseFlags & kParseNumbersAsStringsFlag) {
1663
+ if (parseFlags & kParseInsituFlag) {
1664
+ s.Pop(); // Pop stack no matter if it will be used or not.
1665
+ typename InputStream::Ch* head = is.PutBegin();
1666
+ const size_t length = s.Tell() - startOffset;
1667
+ RAPIDJSON_ASSERT(length <= 0xFFFFFFFF);
1668
+ // unable to insert the \0 character here, it will erase the comma after this number
1669
+ const typename TargetEncoding::Ch* const str = reinterpret_cast<typename TargetEncoding::Ch*>(head);
1670
+ cont = handler.RawNumber(str, SizeType(length), false);
1671
+ }
1672
+ else {
1673
+ SizeType numCharsToCopy = static_cast<SizeType>(s.Length());
1674
+ StringStream srcStream(s.Pop());
1675
+ StackStream<typename TargetEncoding::Ch> dstStream(stack_);
1676
+ while (numCharsToCopy--) {
1677
+ Transcoder<UTF8<>, TargetEncoding>::Transcode(srcStream, dstStream);
1678
+ }
1679
+ dstStream.Put('\0');
1680
+ const typename TargetEncoding::Ch* str = dstStream.Pop();
1681
+ const SizeType length = static_cast<SizeType>(dstStream.Length()) - 1;
1682
+ cont = handler.RawNumber(str, SizeType(length), true);
1683
+ }
1684
+ }
1685
+ else {
1686
+ size_t length = s.Length();
1687
+ const char* decimal = s.Pop(); // Pop stack no matter if it will be used or not.
1688
+
1689
+ if (useDouble) {
1690
+ int p = exp + expFrac;
1691
+ if (parseFlags & kParseFullPrecisionFlag)
1692
+ d = internal::StrtodFullPrecision(d, p, decimal, length, decimalPosition, exp);
1693
+ else
1694
+ d = internal::StrtodNormalPrecision(d, p);
1695
+
1696
+ cont = handler.Double(minus ? -d : d);
1697
+ }
1698
+ else if (useNanOrInf) {
1699
+ cont = handler.Double(d);
1700
+ }
1701
+ else {
1702
+ if (use64bit) {
1703
+ if (minus)
1704
+ cont = handler.Int64(static_cast<int64_t>(~i64 + 1));
1705
+ else
1706
+ cont = handler.Uint64(i64);
1707
+ }
1708
+ else {
1709
+ if (minus)
1710
+ cont = handler.Int(static_cast<int32_t>(~i + 1));
1711
+ else
1712
+ cont = handler.Uint(i);
1713
+ }
1714
+ }
1715
+ }
1716
+ if (RAPIDJSON_UNLIKELY(!cont))
1717
+ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, startOffset);
1718
+ }
1719
+
1720
+ // Parse any JSON value
1721
+ template<unsigned parseFlags, typename InputStream, typename Handler>
1722
+ void ParseValue(InputStream& is, Handler& handler) {
1723
+ switch (is.Peek()) {
1724
+ case 'n': ParseNull <parseFlags>(is, handler); break;
1725
+ case 't': ParseTrue <parseFlags>(is, handler); break;
1726
+ case 'f': ParseFalse <parseFlags>(is, handler); break;
1727
+ case '"': ParseString<parseFlags>(is, handler); break;
1728
+ case '{': ParseObject<parseFlags>(is, handler); break;
1729
+ case '[': ParseArray <parseFlags>(is, handler); break;
1730
+ default :
1731
+ ParseNumber<parseFlags>(is, handler);
1732
+ break;
1733
+
1734
+ }
1735
+ }
1736
+
1737
+ // Iterative Parsing
1738
+
1739
+ // States
1740
+ enum IterativeParsingState {
1741
+ IterativeParsingFinishState = 0, // sink states at top
1742
+ IterativeParsingErrorState, // sink states at top
1743
+ IterativeParsingStartState,
1744
+
1745
+ // Object states
1746
+ IterativeParsingObjectInitialState,
1747
+ IterativeParsingMemberKeyState,
1748
+ IterativeParsingMemberValueState,
1749
+ IterativeParsingObjectFinishState,
1750
+
1751
+ // Array states
1752
+ IterativeParsingArrayInitialState,
1753
+ IterativeParsingElementState,
1754
+ IterativeParsingArrayFinishState,
1755
+
1756
+ // Single value state
1757
+ IterativeParsingValueState,
1758
+
1759
+ // Delimiter states (at bottom)
1760
+ IterativeParsingElementDelimiterState,
1761
+ IterativeParsingMemberDelimiterState,
1762
+ IterativeParsingKeyValueDelimiterState,
1763
+
1764
+ cIterativeParsingStateCount
1765
+ };
1766
+
1767
+ // Tokens
1768
+ enum Token {
1769
+ LeftBracketToken = 0,
1770
+ RightBracketToken,
1771
+
1772
+ LeftCurlyBracketToken,
1773
+ RightCurlyBracketToken,
1774
+
1775
+ CommaToken,
1776
+ ColonToken,
1777
+
1778
+ StringToken,
1779
+ FalseToken,
1780
+ TrueToken,
1781
+ NullToken,
1782
+ NumberToken,
1783
+
1784
+ kTokenCount
1785
+ };
1786
+
1787
+ RAPIDJSON_FORCEINLINE Token Tokenize(Ch c) {
1788
+
1789
+ //!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN
1790
+ #define N NumberToken
1791
+ #define N16 N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
1792
+ // Maps from ASCII to Token
1793
+ static const unsigned char tokenMap[256] = {
1794
+ N16, // 00~0F
1795
+ N16, // 10~1F
1796
+ N, N, StringToken, N, N, N, N, N, N, N, N, N, CommaToken, N, N, N, // 20~2F
1797
+ N, N, N, N, N, N, N, N, N, N, ColonToken, N, N, N, N, N, // 30~3F
1798
+ N16, // 40~4F
1799
+ N, N, N, N, N, N, N, N, N, N, N, LeftBracketToken, N, RightBracketToken, N, N, // 50~5F
1800
+ N, N, N, N, N, N, FalseToken, N, N, N, N, N, N, N, NullToken, N, // 60~6F
1801
+ N, N, N, N, TrueToken, N, N, N, N, N, N, LeftCurlyBracketToken, N, RightCurlyBracketToken, N, N, // 70~7F
1802
+ N16, N16, N16, N16, N16, N16, N16, N16 // 80~FF
1803
+ };
1804
+ #undef N
1805
+ #undef N16
1806
+ //!@endcond
1807
+
1808
+ if (sizeof(Ch) == 1 || static_cast<unsigned>(c) < 256)
1809
+ return static_cast<Token>(tokenMap[static_cast<unsigned char>(c)]);
1810
+ else
1811
+ return NumberToken;
1812
+ }
1813
+
1814
+ RAPIDJSON_FORCEINLINE IterativeParsingState Predict(IterativeParsingState state, Token token) {
1815
+ // current state x one lookahead token -> new state
1816
+ static const char G[cIterativeParsingStateCount][kTokenCount] = {
1817
+ // Finish(sink state)
1818
+ {
1819
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1820
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1821
+ IterativeParsingErrorState
1822
+ },
1823
+ // Error(sink state)
1824
+ {
1825
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1826
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1827
+ IterativeParsingErrorState
1828
+ },
1829
+ // Start
1830
+ {
1831
+ IterativeParsingArrayInitialState, // Left bracket
1832
+ IterativeParsingErrorState, // Right bracket
1833
+ IterativeParsingObjectInitialState, // Left curly bracket
1834
+ IterativeParsingErrorState, // Right curly bracket
1835
+ IterativeParsingErrorState, // Comma
1836
+ IterativeParsingErrorState, // Colon
1837
+ IterativeParsingValueState, // String
1838
+ IterativeParsingValueState, // False
1839
+ IterativeParsingValueState, // True
1840
+ IterativeParsingValueState, // Null
1841
+ IterativeParsingValueState // Number
1842
+ },
1843
+ // ObjectInitial
1844
+ {
1845
+ IterativeParsingErrorState, // Left bracket
1846
+ IterativeParsingErrorState, // Right bracket
1847
+ IterativeParsingErrorState, // Left curly bracket
1848
+ IterativeParsingObjectFinishState, // Right curly bracket
1849
+ IterativeParsingErrorState, // Comma
1850
+ IterativeParsingErrorState, // Colon
1851
+ IterativeParsingMemberKeyState, // String
1852
+ IterativeParsingErrorState, // False
1853
+ IterativeParsingErrorState, // True
1854
+ IterativeParsingErrorState, // Null
1855
+ IterativeParsingErrorState // Number
1856
+ },
1857
+ // MemberKey
1858
+ {
1859
+ IterativeParsingErrorState, // Left bracket
1860
+ IterativeParsingErrorState, // Right bracket
1861
+ IterativeParsingErrorState, // Left curly bracket
1862
+ IterativeParsingErrorState, // Right curly bracket
1863
+ IterativeParsingErrorState, // Comma
1864
+ IterativeParsingKeyValueDelimiterState, // Colon
1865
+ IterativeParsingErrorState, // String
1866
+ IterativeParsingErrorState, // False
1867
+ IterativeParsingErrorState, // True
1868
+ IterativeParsingErrorState, // Null
1869
+ IterativeParsingErrorState // Number
1870
+ },
1871
+ // MemberValue
1872
+ {
1873
+ IterativeParsingErrorState, // Left bracket
1874
+ IterativeParsingErrorState, // Right bracket
1875
+ IterativeParsingErrorState, // Left curly bracket
1876
+ IterativeParsingObjectFinishState, // Right curly bracket
1877
+ IterativeParsingMemberDelimiterState, // Comma
1878
+ IterativeParsingErrorState, // Colon
1879
+ IterativeParsingErrorState, // String
1880
+ IterativeParsingErrorState, // False
1881
+ IterativeParsingErrorState, // True
1882
+ IterativeParsingErrorState, // Null
1883
+ IterativeParsingErrorState // Number
1884
+ },
1885
+ // ObjectFinish(sink state)
1886
+ {
1887
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1888
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1889
+ IterativeParsingErrorState
1890
+ },
1891
+ // ArrayInitial
1892
+ {
1893
+ IterativeParsingArrayInitialState, // Left bracket(push Element state)
1894
+ IterativeParsingArrayFinishState, // Right bracket
1895
+ IterativeParsingObjectInitialState, // Left curly bracket(push Element state)
1896
+ IterativeParsingErrorState, // Right curly bracket
1897
+ IterativeParsingErrorState, // Comma
1898
+ IterativeParsingErrorState, // Colon
1899
+ IterativeParsingElementState, // String
1900
+ IterativeParsingElementState, // False
1901
+ IterativeParsingElementState, // True
1902
+ IterativeParsingElementState, // Null
1903
+ IterativeParsingElementState // Number
1904
+ },
1905
+ // Element
1906
+ {
1907
+ IterativeParsingErrorState, // Left bracket
1908
+ IterativeParsingArrayFinishState, // Right bracket
1909
+ IterativeParsingErrorState, // Left curly bracket
1910
+ IterativeParsingErrorState, // Right curly bracket
1911
+ IterativeParsingElementDelimiterState, // Comma
1912
+ IterativeParsingErrorState, // Colon
1913
+ IterativeParsingErrorState, // String
1914
+ IterativeParsingErrorState, // False
1915
+ IterativeParsingErrorState, // True
1916
+ IterativeParsingErrorState, // Null
1917
+ IterativeParsingErrorState // Number
1918
+ },
1919
+ // ArrayFinish(sink state)
1920
+ {
1921
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1922
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1923
+ IterativeParsingErrorState
1924
+ },
1925
+ // Single Value (sink state)
1926
+ {
1927
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1928
+ IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState,
1929
+ IterativeParsingErrorState
1930
+ },
1931
+ // ElementDelimiter
1932
+ {
1933
+ IterativeParsingArrayInitialState, // Left bracket(push Element state)
1934
+ IterativeParsingArrayFinishState, // Right bracket
1935
+ IterativeParsingObjectInitialState, // Left curly bracket(push Element state)
1936
+ IterativeParsingErrorState, // Right curly bracket
1937
+ IterativeParsingErrorState, // Comma
1938
+ IterativeParsingErrorState, // Colon
1939
+ IterativeParsingElementState, // String
1940
+ IterativeParsingElementState, // False
1941
+ IterativeParsingElementState, // True
1942
+ IterativeParsingElementState, // Null
1943
+ IterativeParsingElementState // Number
1944
+ },
1945
+ // MemberDelimiter
1946
+ {
1947
+ IterativeParsingErrorState, // Left bracket
1948
+ IterativeParsingErrorState, // Right bracket
1949
+ IterativeParsingErrorState, // Left curly bracket
1950
+ IterativeParsingObjectFinishState, // Right curly bracket
1951
+ IterativeParsingErrorState, // Comma
1952
+ IterativeParsingErrorState, // Colon
1953
+ IterativeParsingMemberKeyState, // String
1954
+ IterativeParsingErrorState, // False
1955
+ IterativeParsingErrorState, // True
1956
+ IterativeParsingErrorState, // Null
1957
+ IterativeParsingErrorState // Number
1958
+ },
1959
+ // KeyValueDelimiter
1960
+ {
1961
+ IterativeParsingArrayInitialState, // Left bracket(push MemberValue state)
1962
+ IterativeParsingErrorState, // Right bracket
1963
+ IterativeParsingObjectInitialState, // Left curly bracket(push MemberValue state)
1964
+ IterativeParsingErrorState, // Right curly bracket
1965
+ IterativeParsingErrorState, // Comma
1966
+ IterativeParsingErrorState, // Colon
1967
+ IterativeParsingMemberValueState, // String
1968
+ IterativeParsingMemberValueState, // False
1969
+ IterativeParsingMemberValueState, // True
1970
+ IterativeParsingMemberValueState, // Null
1971
+ IterativeParsingMemberValueState // Number
1972
+ },
1973
+ }; // End of G
1974
+
1975
+ return static_cast<IterativeParsingState>(G[state][token]);
1976
+ }
1977
+
1978
+ // Make an advance in the token stream and state based on the candidate destination state which was returned by Transit().
1979
+ // May return a new state on state pop.
1980
+ template <unsigned parseFlags, typename InputStream, typename Handler>
1981
+ RAPIDJSON_FORCEINLINE IterativeParsingState Transit(IterativeParsingState src, Token token, IterativeParsingState dst, InputStream& is, Handler& handler) {
1982
+ (void)token;
1983
+
1984
+ switch (dst) {
1985
+ case IterativeParsingErrorState:
1986
+ return dst;
1987
+
1988
+ case IterativeParsingObjectInitialState:
1989
+ case IterativeParsingArrayInitialState:
1990
+ {
1991
+ // Push the state(Element or MemeberValue) if we are nested in another array or value of member.
1992
+ // In this way we can get the correct state on ObjectFinish or ArrayFinish by frame pop.
1993
+ IterativeParsingState n = src;
1994
+ if (src == IterativeParsingArrayInitialState || src == IterativeParsingElementDelimiterState)
1995
+ n = IterativeParsingElementState;
1996
+ else if (src == IterativeParsingKeyValueDelimiterState)
1997
+ n = IterativeParsingMemberValueState;
1998
+ // Push current state.
1999
+ *stack_.template Push<SizeType>(1) = n;
2000
+ // Initialize and push the member/element count.
2001
+ *stack_.template Push<SizeType>(1) = 0;
2002
+ // Call handler
2003
+ bool hr = (dst == IterativeParsingObjectInitialState) ? handler.StartObject() : handler.StartArray();
2004
+ // On handler short circuits the parsing.
2005
+ if (!hr) {
2006
+ RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell());
2007
+ return IterativeParsingErrorState;
2008
+ }
2009
+ else {
2010
+ is.Take();
2011
+ return dst;
2012
+ }
2013
+ }
2014
+
2015
+ case IterativeParsingMemberKeyState:
2016
+ ParseString<parseFlags>(is, handler, true);
2017
+ if (HasParseError())
2018
+ return IterativeParsingErrorState;
2019
+ else
2020
+ return dst;
2021
+
2022
+ case IterativeParsingKeyValueDelimiterState:
2023
+ RAPIDJSON_ASSERT(token == ColonToken);
2024
+ is.Take();
2025
+ return dst;
2026
+
2027
+ case IterativeParsingMemberValueState:
2028
+ // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state.
2029
+ ParseValue<parseFlags>(is, handler);
2030
+ if (HasParseError()) {
2031
+ return IterativeParsingErrorState;
2032
+ }
2033
+ return dst;
2034
+
2035
+ case IterativeParsingElementState:
2036
+ // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state.
2037
+ ParseValue<parseFlags>(is, handler);
2038
+ if (HasParseError()) {
2039
+ return IterativeParsingErrorState;
2040
+ }
2041
+ return dst;
2042
+
2043
+ case IterativeParsingMemberDelimiterState:
2044
+ case IterativeParsingElementDelimiterState:
2045
+ is.Take();
2046
+ // Update member/element count.
2047
+ *stack_.template Top<SizeType>() = *stack_.template Top<SizeType>() + 1;
2048
+ return dst;
2049
+
2050
+ case IterativeParsingObjectFinishState:
2051
+ {
2052
+ // Transit from delimiter is only allowed when trailing commas are enabled
2053
+ if (!(parseFlags & kParseTrailingCommasFlag) && src == IterativeParsingMemberDelimiterState) {
2054
+ RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorObjectMissName, is.Tell());
2055
+ return IterativeParsingErrorState;
2056
+ }
2057
+ // Get member count.
2058
+ SizeType c = *stack_.template Pop<SizeType>(1);
2059
+ // If the object is not empty, count the last member.
2060
+ if (src == IterativeParsingMemberValueState)
2061
+ ++c;
2062
+ // Restore the state.
2063
+ IterativeParsingState n = static_cast<IterativeParsingState>(*stack_.template Pop<SizeType>(1));
2064
+ // Transit to Finish state if this is the topmost scope.
2065
+ if (n == IterativeParsingStartState)
2066
+ n = IterativeParsingFinishState;
2067
+ // Call handler
2068
+ bool hr = handler.EndObject(c);
2069
+ // On handler short circuits the parsing.
2070
+ if (!hr) {
2071
+ RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell());
2072
+ return IterativeParsingErrorState;
2073
+ }
2074
+ else {
2075
+ is.Take();
2076
+ return n;
2077
+ }
2078
+ }
2079
+
2080
+ case IterativeParsingArrayFinishState:
2081
+ {
2082
+ // Transit from delimiter is only allowed when trailing commas are enabled
2083
+ if (!(parseFlags & kParseTrailingCommasFlag) && src == IterativeParsingElementDelimiterState) {
2084
+ RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorValueInvalid, is.Tell());
2085
+ return IterativeParsingErrorState;
2086
+ }
2087
+ // Get element count.
2088
+ SizeType c = *stack_.template Pop<SizeType>(1);
2089
+ // If the array is not empty, count the last element.
2090
+ if (src == IterativeParsingElementState)
2091
+ ++c;
2092
+ // Restore the state.
2093
+ IterativeParsingState n = static_cast<IterativeParsingState>(*stack_.template Pop<SizeType>(1));
2094
+ // Transit to Finish state if this is the topmost scope.
2095
+ if (n == IterativeParsingStartState)
2096
+ n = IterativeParsingFinishState;
2097
+ // Call handler
2098
+ bool hr = handler.EndArray(c);
2099
+ // On handler short circuits the parsing.
2100
+ if (!hr) {
2101
+ RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell());
2102
+ return IterativeParsingErrorState;
2103
+ }
2104
+ else {
2105
+ is.Take();
2106
+ return n;
2107
+ }
2108
+ }
2109
+
2110
+ default:
2111
+ // This branch is for IterativeParsingValueState actually.
2112
+ // Use `default:` rather than
2113
+ // `case IterativeParsingValueState:` is for code coverage.
2114
+
2115
+ // The IterativeParsingStartState is not enumerated in this switch-case.
2116
+ // It is impossible for that case. And it can be caught by following assertion.
2117
+
2118
+ // The IterativeParsingFinishState is not enumerated in this switch-case either.
2119
+ // It is a "derivative" state which cannot triggered from Predict() directly.
2120
+ // Therefore it cannot happen here. And it can be caught by following assertion.
2121
+ RAPIDJSON_ASSERT(dst == IterativeParsingValueState);
2122
+
2123
+ // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state.
2124
+ ParseValue<parseFlags>(is, handler);
2125
+ if (HasParseError()) {
2126
+ return IterativeParsingErrorState;
2127
+ }
2128
+ return IterativeParsingFinishState;
2129
+ }
2130
+ }
2131
+
2132
+ template <typename InputStream>
2133
+ void HandleError(IterativeParsingState src, InputStream& is) {
2134
+ if (HasParseError()) {
2135
+ // Error flag has been set.
2136
+ return;
2137
+ }
2138
+
2139
+ switch (src) {
2140
+ case IterativeParsingStartState: RAPIDJSON_PARSE_ERROR(kParseErrorDocumentEmpty, is.Tell()); return;
2141
+ case IterativeParsingFinishState: RAPIDJSON_PARSE_ERROR(kParseErrorDocumentRootNotSingular, is.Tell()); return;
2142
+ case IterativeParsingObjectInitialState:
2143
+ case IterativeParsingMemberDelimiterState: RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell()); return;
2144
+ case IterativeParsingMemberKeyState: RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell()); return;
2145
+ case IterativeParsingMemberValueState: RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissCommaOrCurlyBracket, is.Tell()); return;
2146
+ case IterativeParsingKeyValueDelimiterState:
2147
+ case IterativeParsingArrayInitialState:
2148
+ case IterativeParsingElementDelimiterState: RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); return;
2149
+ default: RAPIDJSON_ASSERT(src == IterativeParsingElementState); RAPIDJSON_PARSE_ERROR(kParseErrorArrayMissCommaOrSquareBracket, is.Tell()); return;
2150
+ }
2151
+ }
2152
+
2153
+ RAPIDJSON_FORCEINLINE bool IsIterativeParsingDelimiterState(IterativeParsingState s) {
2154
+ return s >= IterativeParsingElementDelimiterState;
2155
+ }
2156
+
2157
+ RAPIDJSON_FORCEINLINE bool IsIterativeParsingCompleteState(IterativeParsingState s) {
2158
+ return s <= IterativeParsingErrorState;
2159
+ }
2160
+
2161
+ template <unsigned parseFlags, typename InputStream, typename Handler>
2162
+ ParseResult IterativeParse(InputStream& is, Handler& handler) {
2163
+ parseResult_.Clear();
2164
+ ClearStackOnExit scope(*this);
2165
+ IterativeParsingState state = IterativeParsingStartState;
2166
+
2167
+ SkipWhitespaceAndComments<parseFlags>(is);
2168
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_);
2169
+ while (is.Peek() != '\0') {
2170
+ Token t = Tokenize(is.Peek());
2171
+ IterativeParsingState n = Predict(state, t);
2172
+ IterativeParsingState d = Transit<parseFlags>(state, t, n, is, handler);
2173
+
2174
+ if (d == IterativeParsingErrorState) {
2175
+ HandleError(state, is);
2176
+ break;
2177
+ }
2178
+
2179
+ state = d;
2180
+
2181
+ // Do not further consume streams if a root JSON has been parsed.
2182
+ if ((parseFlags & kParseStopWhenDoneFlag) && state == IterativeParsingFinishState)
2183
+ break;
2184
+
2185
+ SkipWhitespaceAndComments<parseFlags>(is);
2186
+ RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_);
2187
+ }
2188
+
2189
+ // Handle the end of file.
2190
+ if (state != IterativeParsingFinishState)
2191
+ HandleError(state, is);
2192
+
2193
+ return parseResult_;
2194
+ }
2195
+
2196
+ static const size_t kDefaultStackCapacity = 256; //!< Default stack capacity in bytes for storing a single decoded string.
2197
+ internal::Stack<StackAllocator> stack_; //!< A stack for storing decoded string temporarily during non-destructive parsing.
2198
+ ParseResult parseResult_;
2199
+ IterativeParsingState state_;
2200
+ }; // class GenericReader
2201
+
2202
+ //! Reader with UTF8 encoding and default allocator.
2203
+ typedef GenericReader<UTF8<>, UTF8<> > Reader;
2204
+
2205
+ RAPIDJSON_NAMESPACE_END
2206
+
2207
+ #if defined(__clang__) || defined(_MSC_VER)
2208
+ RAPIDJSON_DIAG_POP
2209
+ #endif
2210
+
2211
+
2212
+ #ifdef __GNUC__
2213
+ RAPIDJSON_DIAG_POP
2214
+ #endif
2215
+
2216
+ #endif // RAPIDJSON_READER_H_