couchbase 3.0.1-universal-darwin-19 → 3.0.2-universal-darwin-19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1318) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +73 -4
  3. data/ext/extconf.rb +0 -95
  4. data/lib/couchbase.rb +1 -0
  5. data/lib/couchbase/analytics_options.rb +1 -71
  6. data/lib/couchbase/binary_collection.rb +60 -22
  7. data/lib/couchbase/binary_collection_options.rb +0 -76
  8. data/lib/couchbase/bucket.rb +40 -36
  9. data/lib/couchbase/cluster.rb +89 -156
  10. data/lib/couchbase/collection.rb +290 -72
  11. data/lib/couchbase/collection_options.rb +30 -243
  12. data/lib/couchbase/datastructures/couchbase_list.rb +5 -16
  13. data/lib/couchbase/datastructures/couchbase_map.rb +5 -16
  14. data/lib/couchbase/datastructures/couchbase_queue.rb +5 -16
  15. data/lib/couchbase/datastructures/couchbase_set.rb +5 -16
  16. data/lib/couchbase/diagnostics.rb +181 -0
  17. data/lib/couchbase/json_transcoder.rb +1 -1
  18. data/lib/couchbase/libcouchbase.bundle +0 -0
  19. data/lib/couchbase/{common_options.rb → logger.rb} +24 -11
  20. data/lib/couchbase/management/query_index_manager.rb +1 -1
  21. data/lib/couchbase/management/user_manager.rb +3 -0
  22. data/lib/couchbase/options.rb +2094 -0
  23. data/lib/couchbase/query_options.rb +1 -144
  24. data/lib/couchbase/scope.rb +8 -25
  25. data/lib/couchbase/search_options.rb +0 -93
  26. data/lib/couchbase/version.rb +20 -1
  27. data/lib/couchbase/view_options.rb +1 -91
  28. metadata +8 -1296
  29. data/ext/CMakeLists.txt +0 -127
  30. data/ext/LICENSE.txt +0 -202
  31. data/ext/build_config.hxx.in +0 -20
  32. data/ext/build_version.hxx.in +0 -27
  33. data/ext/cmake/Backtrace.cmake +0 -35
  34. data/ext/cmake/BuildTracing.cmake +0 -6
  35. data/ext/cmake/Cache.cmake +0 -29
  36. data/ext/cmake/CompilerWarnings.cmake +0 -78
  37. data/ext/cmake/PreventInSourceBuilds.cmake +0 -18
  38. data/ext/cmake/Sanitizers.cmake +0 -66
  39. data/ext/cmake/StandardProjectSettings.cmake +0 -40
  40. data/ext/cmake/StaticAnalyzers.cmake +0 -37
  41. data/ext/cmake/Testing.cmake +0 -52
  42. data/ext/cmake/ThirdPartyDependencies.cmake +0 -20
  43. data/ext/cmake/VersionInfo.cmake +0 -37
  44. data/ext/couchbase/bucket.hxx +0 -338
  45. data/ext/couchbase/capabilities.hxx +0 -117
  46. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  47. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  48. data/ext/couchbase/cbsasl/client.cc +0 -48
  49. data/ext/couchbase/cbsasl/client.h +0 -127
  50. data/ext/couchbase/cbsasl/context.cc +0 -33
  51. data/ext/couchbase/cbsasl/context.h +0 -52
  52. data/ext/couchbase/cbsasl/error.h +0 -72
  53. data/ext/couchbase/cbsasl/mechanism.cc +0 -48
  54. data/ext/couchbase/cbsasl/mechanism.h +0 -55
  55. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  56. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  57. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -390
  58. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  59. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  60. data/ext/couchbase/cbsasl/scram-sha/stringutils.h +0 -48
  61. data/ext/couchbase/cluster.hxx +0 -267
  62. data/ext/couchbase/cluster_options.hxx +0 -54
  63. data/ext/couchbase/collections_manifest.hxx +0 -88
  64. data/ext/couchbase/configuration.hxx +0 -650
  65. data/ext/couchbase/couchbase.cxx +0 -6431
  66. data/ext/couchbase/diagnostics.hxx +0 -251
  67. data/ext/couchbase/document_id.hxx +0 -40
  68. data/ext/couchbase/error_map.hxx +0 -261
  69. data/ext/couchbase/errors.hxx +0 -706
  70. data/ext/couchbase/io/dns_client.hxx +0 -217
  71. data/ext/couchbase/io/dns_codec.hxx +0 -207
  72. data/ext/couchbase/io/dns_config.hxx +0 -116
  73. data/ext/couchbase/io/dns_message.hxx +0 -555
  74. data/ext/couchbase/io/http_command.hxx +0 -95
  75. data/ext/couchbase/io/http_context.hxx +0 -37
  76. data/ext/couchbase/io/http_message.hxx +0 -47
  77. data/ext/couchbase/io/http_parser.hxx +0 -176
  78. data/ext/couchbase/io/http_session.hxx +0 -442
  79. data/ext/couchbase/io/http_session_manager.hxx +0 -182
  80. data/ext/couchbase/io/mcbp_command.hxx +0 -246
  81. data/ext/couchbase/io/mcbp_message.hxx +0 -63
  82. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  83. data/ext/couchbase/io/mcbp_session.hxx +0 -1283
  84. data/ext/couchbase/io/query_cache.hxx +0 -61
  85. data/ext/couchbase/io/retry_action.hxx +0 -30
  86. data/ext/couchbase/io/retry_context.hxx +0 -38
  87. data/ext/couchbase/io/retry_orchestrator.hxx +0 -112
  88. data/ext/couchbase/io/retry_reason.hxx +0 -235
  89. data/ext/couchbase/io/retry_strategy.hxx +0 -156
  90. data/ext/couchbase/io/streams.hxx +0 -216
  91. data/ext/couchbase/mutation_token.hxx +0 -38
  92. data/ext/couchbase/operations.hxx +0 -104
  93. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -117
  94. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -103
  95. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -107
  96. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -104
  97. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -104
  98. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -91
  99. data/ext/couchbase/operations/analytics_index_create.hxx +0 -128
  100. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -110
  101. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -106
  102. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -102
  103. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -101
  104. data/ext/couchbase/operations/bucket_create.hxx +0 -147
  105. data/ext/couchbase/operations/bucket_drop.hxx +0 -68
  106. data/ext/couchbase/operations/bucket_flush.hxx +0 -68
  107. data/ext/couchbase/operations/bucket_get.hxx +0 -72
  108. data/ext/couchbase/operations/bucket_get_all.hxx +0 -65
  109. data/ext/couchbase/operations/bucket_settings.hxx +0 -150
  110. data/ext/couchbase/operations/bucket_update.hxx +0 -124
  111. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -63
  112. data/ext/couchbase/operations/collection_create.hxx +0 -95
  113. data/ext/couchbase/operations/collection_drop.hxx +0 -85
  114. data/ext/couchbase/operations/collections_manifest_get.hxx +0 -70
  115. data/ext/couchbase/operations/design_document.hxx +0 -59
  116. data/ext/couchbase/operations/document_analytics.hxx +0 -293
  117. data/ext/couchbase/operations/document_decrement.hxx +0 -87
  118. data/ext/couchbase/operations/document_exists.hxx +0 -84
  119. data/ext/couchbase/operations/document_get.hxx +0 -69
  120. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -71
  121. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -71
  122. data/ext/couchbase/operations/document_get_projected.hxx +0 -249
  123. data/ext/couchbase/operations/document_increment.hxx +0 -89
  124. data/ext/couchbase/operations/document_insert.hxx +0 -81
  125. data/ext/couchbase/operations/document_lookup_in.hxx +0 -111
  126. data/ext/couchbase/operations/document_mutate_in.hxx +0 -145
  127. data/ext/couchbase/operations/document_query.hxx +0 -422
  128. data/ext/couchbase/operations/document_remove.hxx +0 -74
  129. data/ext/couchbase/operations/document_replace.hxx +0 -83
  130. data/ext/couchbase/operations/document_search.hxx +0 -370
  131. data/ext/couchbase/operations/document_touch.hxx +0 -67
  132. data/ext/couchbase/operations/document_unlock.hxx +0 -67
  133. data/ext/couchbase/operations/document_upsert.hxx +0 -81
  134. data/ext/couchbase/operations/document_view.hxx +0 -228
  135. data/ext/couchbase/operations/group_drop.hxx +0 -71
  136. data/ext/couchbase/operations/group_get.hxx +0 -75
  137. data/ext/couchbase/operations/group_get_all.hxx +0 -70
  138. data/ext/couchbase/operations/group_upsert.hxx +0 -118
  139. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -86
  140. data/ext/couchbase/operations/query_index_create.hxx +0 -145
  141. data/ext/couchbase/operations/query_index_drop.hxx +0 -119
  142. data/ext/couchbase/operations/query_index_get_all.hxx +0 -117
  143. data/ext/couchbase/operations/rbac.hxx +0 -276
  144. data/ext/couchbase/operations/role_get_all.hxx +0 -70
  145. data/ext/couchbase/operations/scope_create.hxx +0 -88
  146. data/ext/couchbase/operations/scope_drop.hxx +0 -82
  147. data/ext/couchbase/operations/scope_get_all.hxx +0 -76
  148. data/ext/couchbase/operations/search_get_stats.hxx +0 -59
  149. data/ext/couchbase/operations/search_index.hxx +0 -79
  150. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -92
  151. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -80
  152. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -80
  153. data/ext/couchbase/operations/search_index_control_query.hxx +0 -80
  154. data/ext/couchbase/operations/search_index_drop.hxx +0 -77
  155. data/ext/couchbase/operations/search_index_get.hxx +0 -80
  156. data/ext/couchbase/operations/search_index_get_all.hxx +0 -82
  157. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -89
  158. data/ext/couchbase/operations/search_index_get_stats.hxx +0 -81
  159. data/ext/couchbase/operations/search_index_upsert.hxx +0 -106
  160. data/ext/couchbase/operations/user_drop.hxx +0 -72
  161. data/ext/couchbase/operations/user_get.hxx +0 -76
  162. data/ext/couchbase/operations/user_get_all.hxx +0 -71
  163. data/ext/couchbase/operations/user_upsert.hxx +0 -125
  164. data/ext/couchbase/operations/view_index_drop.hxx +0 -67
  165. data/ext/couchbase/operations/view_index_get.hxx +0 -90
  166. data/ext/couchbase/operations/view_index_get_all.hxx +0 -125
  167. data/ext/couchbase/operations/view_index_upsert.hxx +0 -87
  168. data/ext/couchbase/origin.hxx +0 -178
  169. data/ext/couchbase/platform/backtrace.c +0 -189
  170. data/ext/couchbase/platform/backtrace.h +0 -54
  171. data/ext/couchbase/platform/base64.cc +0 -234
  172. data/ext/couchbase/platform/base64.h +0 -47
  173. data/ext/couchbase/platform/random.cc +0 -119
  174. data/ext/couchbase/platform/random.h +0 -39
  175. data/ext/couchbase/platform/string_hex.cc +0 -99
  176. data/ext/couchbase/platform/string_hex.h +0 -50
  177. data/ext/couchbase/platform/terminate_handler.cc +0 -123
  178. data/ext/couchbase/platform/terminate_handler.h +0 -36
  179. data/ext/couchbase/platform/uuid.cc +0 -96
  180. data/ext/couchbase/platform/uuid.h +0 -56
  181. data/ext/couchbase/protocol/client_opcode.hxx +0 -264
  182. data/ext/couchbase/protocol/client_request.hxx +0 -160
  183. data/ext/couchbase/protocol/client_response.hxx +0 -218
  184. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -79
  185. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -187
  186. data/ext/couchbase/protocol/cmd_exists.hxx +0 -171
  187. data/ext/couchbase/protocol/cmd_get.hxx +0 -122
  188. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -142
  189. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -142
  190. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -126
  191. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -117
  192. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -99
  193. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -126
  194. data/ext/couchbase/protocol/cmd_hello.hxx +0 -156
  195. data/ext/couchbase/protocol/cmd_increment.hxx +0 -187
  196. data/ext/couchbase/protocol/cmd_info.hxx +0 -25
  197. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  198. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -219
  199. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -365
  200. data/ext/couchbase/protocol/cmd_remove.hxx +0 -134
  201. data/ext/couchbase/protocol/cmd_replace.hxx +0 -172
  202. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -106
  203. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -100
  204. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -104
  205. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -85
  206. data/ext/couchbase/protocol/cmd_touch.hxx +0 -102
  207. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -95
  208. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -172
  209. data/ext/couchbase/protocol/datatype.hxx +0 -48
  210. data/ext/couchbase/protocol/durability_level.hxx +0 -67
  211. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  212. data/ext/couchbase/protocol/hello_feature.hxx +0 -255
  213. data/ext/couchbase/protocol/magic.hxx +0 -83
  214. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  215. data/ext/couchbase/protocol/server_request.hxx +0 -122
  216. data/ext/couchbase/protocol/status.hxx +0 -343
  217. data/ext/couchbase/protocol/unsigned_leb128.h +0 -195
  218. data/ext/couchbase/service_type.hxx +0 -60
  219. data/ext/couchbase/timeout_defaults.hxx +0 -41
  220. data/ext/couchbase/utils/byteswap.hxx +0 -33
  221. data/ext/couchbase/utils/connection_string.hxx +0 -379
  222. data/ext/couchbase/utils/crc32.hxx +0 -48
  223. data/ext/couchbase/utils/url_codec.hxx +0 -225
  224. data/ext/couchbase/version.hxx +0 -24
  225. data/ext/test/test_helper.hxx +0 -141
  226. data/ext/test/test_helper_native.hxx +0 -59
  227. data/ext/test/test_helper_ruby.hxx +0 -72
  228. data/ext/test/test_native_diagnostics.cxx +0 -385
  229. data/ext/test/test_native_trivial_crud.cxx +0 -83
  230. data/ext/test/test_ruby_trivial_crud.cxx +0 -35
  231. data/ext/test/test_ruby_trivial_query.cxx +0 -34
  232. data/ext/third_party/asio/asio/include/asio.hpp +0 -182
  233. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +0 -71
  234. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -125
  235. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -166
  236. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -582
  237. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -133
  238. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1215
  239. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  240. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  241. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1206
  242. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -761
  243. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  244. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  245. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  246. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2501
  247. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  248. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  249. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1053
  250. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  251. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  252. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -811
  253. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -575
  254. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2496
  255. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  256. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  257. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  258. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  259. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  260. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  261. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  262. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -471
  263. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  264. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  265. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  266. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  267. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  268. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -130
  269. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -112
  270. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  271. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  272. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  273. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -64
  274. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  275. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -934
  276. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +0 -107
  277. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  278. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -650
  279. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  280. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +0 -88
  281. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  282. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  283. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  284. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -88
  285. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  286. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -120
  287. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  288. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1822
  289. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  290. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  291. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  292. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  293. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -295
  294. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  295. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -139
  296. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -148
  297. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -148
  298. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  299. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  300. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  301. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  302. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -203
  303. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  304. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  305. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  306. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  307. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  308. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  309. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  310. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  311. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  312. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  313. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -284
  314. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  315. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -80
  316. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -264
  317. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  318. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -438
  319. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  320. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  321. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -608
  322. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  323. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  324. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  325. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  326. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  327. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -396
  328. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  329. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  330. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  331. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  332. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  333. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  334. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  335. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  336. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  337. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -149
  338. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  339. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  340. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -654
  341. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  342. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  343. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  344. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  345. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -668
  346. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3962
  347. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  348. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -385
  349. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  350. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -117
  351. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -178
  352. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  353. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  354. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  355. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  356. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  357. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  358. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -603
  359. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  360. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  361. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  362. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  363. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  364. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  365. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  366. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  367. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  368. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  369. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  370. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  371. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -175
  372. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  373. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  374. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  375. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  376. data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +0 -26
  377. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  378. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  379. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -73
  380. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  381. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  382. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  383. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -106
  384. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  385. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  386. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  387. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  388. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  389. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  390. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  391. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  392. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  393. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  394. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  395. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  396. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  397. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  398. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  399. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -175
  400. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  401. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  402. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  403. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  404. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  405. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  406. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  407. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  408. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -416
  409. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -98
  410. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -237
  411. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -242
  412. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -123
  413. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -159
  414. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -164
  415. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -145
  416. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -162
  417. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -156
  418. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -528
  419. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -541
  420. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -98
  421. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  422. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  423. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -67
  424. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  425. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  426. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  427. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -140
  428. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  429. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -150
  430. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  431. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  432. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -232
  433. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  434. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  435. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  436. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  437. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  438. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  439. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  440. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  441. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -90
  442. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  443. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  444. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  445. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  446. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -383
  447. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  448. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  449. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  450. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  451. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +0 -45
  452. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  453. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -188
  454. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  455. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  456. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  457. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  458. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  459. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -166
  460. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -145
  461. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  462. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  463. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  464. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  465. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -183
  466. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  467. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  468. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  469. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  470. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  471. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  472. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  473. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  474. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  475. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -148
  476. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -294
  477. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -90
  478. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  479. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -164
  480. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  481. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  482. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  483. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -117
  484. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  485. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -110
  486. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -342
  487. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -127
  488. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  489. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -96
  490. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -171
  491. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  492. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -312
  493. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -135
  494. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -124
  495. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -133
  496. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -125
  497. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -118
  498. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  499. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  500. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  501. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -128
  502. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  503. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  504. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  505. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  506. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  507. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  508. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  509. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  510. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  511. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -125
  512. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  513. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -98
  514. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -119
  515. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -110
  516. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  517. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  518. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  519. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  520. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  521. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -148
  522. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -327
  523. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -121
  524. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  525. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  526. data/ext/third_party/asio/asio/include/asio/execution.hpp +0 -48
  527. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +0 -249
  528. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +0 -2264
  529. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +0 -47
  530. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +0 -1351
  531. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +0 -1064
  532. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +0 -390
  533. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +0 -1018
  534. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +0 -486
  535. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +0 -185
  536. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +0 -201
  537. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +0 -152
  538. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +0 -105
  539. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +0 -128
  540. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +0 -261
  541. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +0 -233
  542. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +0 -90
  543. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +0 -264
  544. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +0 -238
  545. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +0 -40
  546. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +0 -36
  547. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +0 -71
  548. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +0 -917
  549. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +0 -178
  550. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +0 -94
  551. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +0 -721
  552. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +0 -327
  553. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +0 -280
  554. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +0 -48
  555. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +0 -720
  556. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +0 -290
  557. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +0 -86
  558. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +0 -311
  559. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +0 -253
  560. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +0 -253
  561. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +0 -486
  562. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +0 -250
  563. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +0 -450
  564. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  565. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -347
  566. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -287
  567. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  568. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  569. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  570. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  571. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  572. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  573. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  574. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -104
  575. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  576. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -111
  577. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  578. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -436
  579. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -527
  580. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -507
  581. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -298
  582. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -635
  583. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -916
  584. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -248
  585. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  586. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -243
  587. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  588. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  589. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  590. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  591. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -301
  592. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -43
  593. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -61
  594. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -440
  595. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  596. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +0 -49
  597. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -248
  598. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1202
  599. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -744
  600. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3335
  601. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -390
  602. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  603. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  604. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -526
  605. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -85
  606. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  607. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -92
  608. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -186
  609. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -350
  610. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -141
  611. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -279
  612. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -1028
  613. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1104
  614. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -666
  615. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -1530
  616. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -376
  617. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  618. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  619. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  620. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  621. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  622. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  623. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  624. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  625. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  626. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  627. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  628. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  629. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  630. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  631. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  632. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  633. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  634. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  635. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  636. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  637. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  638. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  639. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  640. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  641. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  642. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  643. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  644. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  645. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  646. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  647. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  648. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  649. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  650. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  651. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  652. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  653. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  654. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  655. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  656. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  657. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  658. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  659. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +0 -61
  660. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  661. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  662. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  663. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  664. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  665. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  666. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  667. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  668. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  669. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +0 -58
  670. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  671. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  672. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  673. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  674. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  675. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  676. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  677. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -126
  678. data/ext/third_party/asio/asio/include/asio/prefer.hpp +0 -656
  679. data/ext/third_party/asio/asio/include/asio/query.hpp +0 -296
  680. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  681. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  682. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  683. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  684. data/ext/third_party/asio/asio/include/asio/require.hpp +0 -524
  685. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +0 -310
  686. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  687. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  688. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  689. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  690. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -344
  691. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  692. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  693. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  694. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -119
  695. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -165
  696. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -67
  697. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -349
  698. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  699. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -415
  700. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  701. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  702. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  703. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -72
  704. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -69
  705. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -169
  706. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  707. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -76
  708. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  709. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  710. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  711. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  712. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  713. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  714. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  715. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  716. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  717. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -900
  718. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  719. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  720. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  721. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +0 -31
  722. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  723. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -537
  724. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  725. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -90
  726. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  727. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -662
  728. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  729. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  730. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  731. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -1111
  732. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  733. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +0 -114
  734. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +0 -114
  735. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +0 -112
  736. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +0 -112
  737. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +0 -100
  738. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +0 -108
  739. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +0 -108
  740. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +0 -108
  741. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +0 -108
  742. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +0 -108
  743. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +0 -108
  744. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +0 -108
  745. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +0 -108
  746. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +0 -108
  747. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +0 -108
  748. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +0 -108
  749. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +0 -108
  750. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +0 -108
  751. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +0 -108
  752. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +0 -108
  753. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +0 -112
  754. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +0 -112
  755. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +0 -234
  756. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +0 -234
  757. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +0 -108
  758. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +0 -108
  759. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +0 -108
  760. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +0 -123
  761. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +0 -123
  762. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +0 -112
  763. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +0 -112
  764. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  765. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -35
  766. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  767. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  768. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  769. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -262
  770. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  771. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  772. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  773. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -169
  774. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  775. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  776. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  777. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  778. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  779. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  780. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  781. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  782. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  783. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  784. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -145
  785. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  786. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  787. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  788. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  789. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  790. data/ext/third_party/gsl/CMakeLists.txt +0 -127
  791. data/ext/third_party/gsl/LICENSE +0 -21
  792. data/ext/third_party/gsl/ThirdPartyNotices.txt +0 -41
  793. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  794. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  795. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  796. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  797. data/ext/third_party/gsl/include/gsl/gsl_narrow +0 -52
  798. data/ext/third_party/gsl/include/gsl/gsl_util +0 -129
  799. data/ext/third_party/gsl/include/gsl/multi_span +0 -2263
  800. data/ext/third_party/gsl/include/gsl/pointers +0 -287
  801. data/ext/third_party/gsl/include/gsl/span +0 -816
  802. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  803. data/ext/third_party/gsl/include/gsl/string_span +0 -706
  804. data/ext/third_party/http_parser/LICENSE-MIT +0 -19
  805. data/ext/third_party/http_parser/http_parser.c +0 -2575
  806. data/ext/third_party/http_parser/http_parser.h +0 -449
  807. data/ext/third_party/json/CMakeLists.txt +0 -44
  808. data/ext/third_party/json/LICENSE +0 -21
  809. data/ext/third_party/json/LICENSE.double-conversion +0 -32
  810. data/ext/third_party/json/LICENSE.itoa +0 -19
  811. data/ext/third_party/json/LICENSE.ryu +0 -201
  812. data/ext/third_party/json/include/tao/json.hpp +0 -45
  813. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -942
  814. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  815. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  816. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  817. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  818. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  819. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -251
  820. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  821. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  822. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  823. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -104
  824. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  825. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -268
  826. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  827. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  828. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  829. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -129
  830. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -19
  831. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  832. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  833. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +0 -43
  834. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  835. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  836. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  837. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  838. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  839. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +0 -32
  840. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  841. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  842. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  843. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -418
  844. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  845. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  846. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  847. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  848. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  849. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  850. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  851. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  852. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  853. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  854. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  855. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  856. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -76
  857. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  858. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  859. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  860. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  861. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  862. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  863. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  864. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  865. data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +0 -59
  866. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  867. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -113
  868. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1874
  869. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  870. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -98
  871. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  872. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  873. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -97
  874. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  875. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  876. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  877. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  878. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  879. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  880. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  881. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  882. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  883. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  884. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -255
  885. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  886. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  887. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  888. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  889. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  890. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  891. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  892. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  893. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  894. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  895. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  896. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  897. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  898. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  899. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  900. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  901. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  902. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  903. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  904. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  905. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  906. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  907. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  908. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  909. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  910. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  911. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  912. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  913. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  914. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  915. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  916. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  917. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -176
  918. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  919. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  920. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -44
  921. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  922. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -49
  923. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -54
  924. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  925. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  926. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  927. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  928. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  929. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  930. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  931. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  932. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  933. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  934. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +0 -176
  935. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +0 -275
  936. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +0 -77
  937. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +0 -151
  938. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +0 -16
  939. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -272
  940. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -66
  941. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -196
  942. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -196
  943. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -103
  944. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -56
  945. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -431
  946. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +0 -62
  947. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +0 -206
  948. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +0 -106
  949. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +0 -54
  950. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +0 -33
  951. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +0 -45
  952. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +0 -32
  953. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +0 -54
  954. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +0 -43
  955. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +0 -77
  956. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +0 -52
  957. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  958. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  959. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -440
  960. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -105
  961. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +0 -75
  962. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +0 -53
  963. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -234
  964. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -69
  965. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +0 -117
  966. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -94
  967. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -43
  968. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +0 -193
  969. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +0 -118
  970. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  971. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +0 -227
  972. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +0 -62
  973. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +0 -62
  974. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +0 -63
  975. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +0 -36
  976. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  977. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  978. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +0 -49
  979. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +0 -49
  980. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -32
  981. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +0 -138
  982. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  983. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  984. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  985. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  986. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  987. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  988. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  989. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  990. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -54
  991. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -106
  992. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  993. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  994. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -51
  995. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  996. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  997. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -55
  998. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -32
  999. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  1000. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  1001. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  1002. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -43
  1003. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -54
  1004. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  1005. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  1006. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  1007. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  1008. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  1009. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +0 -16
  1010. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -54
  1011. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -34
  1012. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -54
  1013. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +0 -25
  1014. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -32
  1015. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -32
  1016. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -33
  1017. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +0 -32
  1018. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -134
  1019. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -213
  1020. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -117
  1021. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -21
  1022. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -21
  1023. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -40
  1024. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +0 -21
  1025. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  1026. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -54
  1027. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -47
  1028. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -21
  1029. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  1030. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  1031. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -39
  1032. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  1033. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -49
  1034. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  1035. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  1036. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  1037. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  1038. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -22
  1039. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  1040. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -80
  1041. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +0 -21
  1042. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -28
  1043. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -26
  1044. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -64
  1045. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -55
  1046. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -55
  1047. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  1048. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  1049. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  1050. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +0 -26
  1051. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  1052. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -89
  1053. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  1054. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -60
  1055. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -44
  1056. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -56
  1057. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -103
  1058. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -72
  1059. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -67
  1060. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  1061. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -81
  1062. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -61
  1063. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  1064. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  1065. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  1066. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -58
  1067. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -67
  1068. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -52
  1069. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  1070. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -59
  1071. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  1072. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +0 -32
  1073. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  1074. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -88
  1075. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -32
  1076. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -169
  1077. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -365
  1078. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  1079. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +0 -64
  1080. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  1081. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -19
  1082. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -51
  1083. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -114
  1084. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -83
  1085. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -54
  1086. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  1087. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  1088. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  1089. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -68
  1090. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -64
  1091. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  1092. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +0 -46
  1093. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  1094. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  1095. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +0 -66
  1096. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  1097. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  1098. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  1099. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  1100. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  1101. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  1102. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  1103. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  1104. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  1105. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +0 -14
  1106. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  1107. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  1108. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  1109. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  1110. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  1111. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -57
  1112. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  1113. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  1114. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  1115. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  1116. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  1117. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  1118. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  1119. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  1120. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  1121. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  1122. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -96
  1123. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  1124. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  1125. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  1126. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  1127. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  1128. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  1129. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  1130. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  1131. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  1132. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  1133. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  1134. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  1135. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  1136. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  1137. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  1138. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  1139. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  1140. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  1141. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  1142. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  1143. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -255
  1144. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  1145. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  1146. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -261
  1147. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  1148. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  1149. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  1150. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -19
  1151. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  1152. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  1153. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +0 -43
  1154. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  1155. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  1156. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  1157. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  1158. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  1159. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +0 -32
  1160. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  1161. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  1162. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  1163. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  1164. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -250
  1165. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  1166. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  1167. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  1168. data/ext/third_party/json/include/tao/json/operators.hpp +0 -490
  1169. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -302
  1170. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  1171. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  1172. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -131
  1173. data/ext/third_party/json/include/tao/json/span.hpp +0 -496
  1174. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  1175. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  1176. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  1177. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  1178. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  1179. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -19
  1180. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  1181. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  1182. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +0 -43
  1183. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  1184. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  1185. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  1186. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  1187. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  1188. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +0 -32
  1189. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  1190. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  1191. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  1192. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -415
  1193. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  1194. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  1195. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  1196. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  1197. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  1198. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  1199. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  1200. data/ext/third_party/snappy/COPYING +0 -54
  1201. data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +0 -33
  1202. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  1203. data/ext/third_party/snappy/snappy-c.cc +0 -90
  1204. data/ext/third_party/snappy/snappy-c.h +0 -138
  1205. data/ext/third_party/snappy/snappy-internal.h +0 -315
  1206. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  1207. data/ext/third_party/snappy/snappy-sinksource.h +0 -182
  1208. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  1209. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  1210. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  1211. data/ext/third_party/snappy/snappy.cc +0 -1774
  1212. data/ext/third_party/snappy/snappy.h +0 -209
  1213. data/ext/third_party/spdlog/CMakeLists.txt +0 -291
  1214. data/ext/third_party/spdlog/LICENSE +0 -26
  1215. data/ext/third_party/spdlog/cmake/ide.cmake +0 -18
  1216. data/ext/third_party/spdlog/cmake/pch.h.in +0 -258
  1217. data/ext/third_party/spdlog/cmake/spdlog.pc.in +0 -13
  1218. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  1219. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  1220. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  1221. data/ext/third_party/spdlog/cmake/version.rc.in +0 -42
  1222. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  1223. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  1224. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  1225. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +0 -44
  1226. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +0 -38
  1227. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -119
  1228. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -29
  1229. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  1230. data/ext/third_party/spdlog/include/spdlog/common.h +0 -245
  1231. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  1232. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  1233. data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +0 -141
  1234. data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +0 -32
  1235. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  1236. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  1237. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -116
  1238. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  1239. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  1240. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  1241. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  1242. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  1243. data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +0 -49
  1244. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  1245. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  1246. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  1247. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  1248. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -313
  1249. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -115
  1250. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  1251. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  1252. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -146
  1253. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  1254. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  1255. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  1256. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  1257. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +0 -27
  1258. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1123
  1259. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -566
  1260. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -665
  1261. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1882
  1262. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1453
  1263. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3729
  1264. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  1265. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +0 -450
  1266. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -167
  1267. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  1268. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -751
  1269. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -386
  1270. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +0 -20
  1271. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -27
  1272. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  1273. data/ext/third_party/spdlog/include/spdlog/formatter.h +0 -18
  1274. data/ext/third_party/spdlog/include/spdlog/fwd.h +0 -14
  1275. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -257
  1276. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -366
  1277. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1373
  1278. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  1279. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  1280. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  1281. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  1282. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  1283. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  1284. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  1285. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  1286. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  1287. data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +0 -97
  1288. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  1289. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  1290. data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +0 -44
  1291. data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +0 -50
  1292. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -74
  1293. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  1294. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  1295. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  1296. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  1297. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  1298. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  1299. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -123
  1300. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -87
  1301. data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +0 -109
  1302. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  1303. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  1304. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  1305. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -170
  1306. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  1307. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -125
  1308. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -295
  1309. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +0 -61
  1310. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  1311. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  1312. data/ext/third_party/spdlog/src/async.cpp +0 -13
  1313. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  1314. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  1315. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  1316. data/ext/third_party/spdlog/src/fmt.cpp +0 -63
  1317. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  1318. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
@@ -1,51 +0,0 @@
1
- // Copyright (c) 2017-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/json/
3
-
4
- #ifndef TAO_JSON_EVENTS_VALIDATE_KEYS_HPP
5
- #define TAO_JSON_EVENTS_VALIDATE_KEYS_HPP
6
-
7
- #include <stdexcept>
8
- #include <string>
9
- #include <string_view>
10
- #include <utility>
11
-
12
- #include "../external/pegtl.hpp"
13
-
14
- namespace tao::json::events
15
- {
16
- template< typename Consumer, typename Rule >
17
- struct validate_keys
18
- : Consumer
19
- {
20
- using Consumer::Consumer;
21
-
22
- void validate_key( const std::string_view v )
23
- {
24
- pegtl::memory_input< pegtl::tracking_mode::lazy > in( v.data(), v.size(), "validate_key" );
25
- if( !pegtl::parse< Rule >( in ) ) {
26
- throw std::runtime_error( "invalid key: " + std::string( v ) );
27
- }
28
- }
29
-
30
- void key( const std::string_view v )
31
- {
32
- validate_key( v );
33
- Consumer::key( v );
34
- }
35
-
36
- void key( const char* v )
37
- {
38
- validate_key( v );
39
- Consumer::key( v );
40
- }
41
-
42
- void key( std::string&& v )
43
- {
44
- validate_key( v );
45
- Consumer::key( std::move( v ) );
46
- }
47
- };
48
-
49
- } // namespace tao::json::events
50
-
51
- #endif
@@ -1,192 +0,0 @@
1
- // Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/json/
3
-
4
- #ifndef TAO_JSON_EVENTS_VIRTUAL_BASE_HPP
5
- #define TAO_JSON_EVENTS_VIRTUAL_BASE_HPP
6
-
7
- #include <cstddef>
8
- #include <cstdint>
9
- #include <string>
10
- #include <string_view>
11
- #include <vector>
12
-
13
- #include "../binary_view.hpp"
14
-
15
- namespace tao::json::events
16
- {
17
- // Events consumer interface with virtual functions.
18
-
19
- class virtual_base
20
- {
21
- public:
22
- void null()
23
- {
24
- v_null();
25
- }
26
-
27
- void boolean( const bool v )
28
- {
29
- v_boolean( v );
30
- }
31
-
32
- void number( const std::int64_t v )
33
- {
34
- v_number( v );
35
- }
36
-
37
- void number( const std::uint64_t v )
38
- {
39
- v_number( v );
40
- }
41
-
42
- void number( const double v )
43
- {
44
- v_number( v );
45
- }
46
-
47
- void string( const char* v )
48
- {
49
- v_string( v );
50
- }
51
-
52
- void string( std::string&& v )
53
- {
54
- v_string( std::move( v ) );
55
- }
56
-
57
- void string( const std::string& v )
58
- {
59
- v_string( v );
60
- }
61
-
62
- void string( const std::string_view v )
63
- {
64
- v_string( v );
65
- }
66
-
67
- void binary( std::vector< std::byte >&& v )
68
- {
69
- v_binary( std::move( v ) );
70
- }
71
-
72
- void binary( const std::vector< std::byte >& v )
73
- {
74
- v_binary( v );
75
- }
76
-
77
- void binary( const tao::binary_view v )
78
- {
79
- v_binary( v );
80
- }
81
-
82
- void begin_array()
83
- {
84
- v_begin_array();
85
- }
86
-
87
- void begin_array( const std::size_t v )
88
- {
89
- v_begin_array( v );
90
- }
91
-
92
- void element()
93
- {
94
- v_element();
95
- }
96
-
97
- void end_array()
98
- {
99
- v_end_array();
100
- }
101
-
102
- void end_array( const std::size_t v )
103
- {
104
- v_end_array( v );
105
- }
106
-
107
- void begin_object()
108
- {
109
- v_begin_object();
110
- }
111
-
112
- void begin_object( const std::size_t v )
113
- {
114
- v_begin_object( v );
115
- }
116
-
117
- void key( const char* v )
118
- {
119
- v_key( v );
120
- }
121
-
122
- void key( std::string&& v )
123
- {
124
- v_key( std::move( v ) );
125
- }
126
-
127
- void key( const std::string& v )
128
- {
129
- v_key( v );
130
- }
131
-
132
- void key( const std::string_view v )
133
- {
134
- v_key( v );
135
- }
136
-
137
- void member()
138
- {
139
- v_member();
140
- }
141
-
142
- void end_object()
143
- {
144
- v_end_object();
145
- }
146
-
147
- void end_object( const std::size_t v )
148
- {
149
- v_end_object( v );
150
- }
151
-
152
- virtual_base( virtual_base&& ) = delete;
153
- virtual_base( const virtual_base& ) = delete;
154
-
155
- void operator=( virtual_base&& ) = delete;
156
- void operator=( const virtual_base& ) = delete;
157
-
158
- protected:
159
- virtual_base() = default;
160
- ~virtual_base() = default;
161
-
162
- virtual void v_null() = 0;
163
- virtual void v_boolean( bool ) = 0;
164
- virtual void v_number( std::int64_t ) = 0;
165
- virtual void v_number( std::uint64_t ) = 0;
166
- virtual void v_number( double ) = 0;
167
- virtual void v_string( const char* ) = 0;
168
- virtual void v_string( std::string&& ) = 0;
169
- virtual void v_string( const std::string& ) = 0;
170
- virtual void v_string( std::string_view ) = 0;
171
- virtual void v_binary( std::vector< std::byte >&& ) = 0;
172
- virtual void v_binary( const std::vector< std::byte >& ) = 0;
173
- virtual void v_binary( tao::binary_view ) = 0;
174
- virtual void v_begin_array() = 0;
175
- virtual void v_begin_array( std::size_t ) = 0;
176
- virtual void v_element() = 0;
177
- virtual void v_end_array() = 0;
178
- virtual void v_end_array( std::size_t ) = 0;
179
- virtual void v_begin_object() = 0;
180
- virtual void v_begin_object( std::size_t ) = 0;
181
- virtual void v_key( const char* ) = 0;
182
- virtual void v_key( std::string&& ) = 0;
183
- virtual void v_key( const std::string& ) = 0;
184
- virtual void v_key( std::string_view ) = 0;
185
- virtual void v_member() = 0;
186
- virtual void v_end_object() = 0;
187
- virtual void v_end_object( std::size_t ) = 0;
188
- };
189
-
190
- } // namespace tao::json::events
191
-
192
- #endif
@@ -1,176 +0,0 @@
1
- // Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/json/
3
-
4
- #ifndef TAO_JSON_EVENTS_VIRTUAL_REF_HPP
5
- #define TAO_JSON_EVENTS_VIRTUAL_REF_HPP
6
-
7
- #include <cstddef>
8
- #include <utility>
9
-
10
- #include "virtual_base.hpp"
11
-
12
- #ifdef _MSC_VER
13
- #pragma warning( push )
14
- #pragma warning( disable : 4373 )
15
- #endif
16
-
17
- namespace tao::json::events
18
- {
19
- template< typename Consumer >
20
- class virtual_ref
21
- : public virtual_base
22
- {
23
- public:
24
- explicit virtual_ref( Consumer& r ) noexcept
25
- : m_r( r )
26
- {}
27
-
28
- virtual_ref( const virtual_ref& ) = delete;
29
- virtual_ref( virtual_ref&& ) = delete;
30
-
31
- virtual ~virtual_ref() = default;
32
-
33
- virtual_ref& operator=( const virtual_ref& ) = delete;
34
- virtual_ref& operator=( virtual_ref&& ) = delete;
35
-
36
- private:
37
- Consumer& m_r;
38
-
39
- void v_null() override
40
- {
41
- m_r.null();
42
- }
43
-
44
- void v_boolean( const bool v ) override
45
- {
46
- m_r.boolean( v );
47
- }
48
-
49
- void v_number( const std::int64_t v ) override
50
- {
51
- m_r.number( v );
52
- }
53
-
54
- void v_number( const std::uint64_t v ) override
55
- {
56
- m_r.number( v );
57
- }
58
-
59
- void v_number( const double v ) override
60
- {
61
- m_r.number( v );
62
- }
63
-
64
- void v_string( const char* v ) override
65
- {
66
- m_r.string( v );
67
- }
68
-
69
- void v_string( std::string&& v ) override
70
- {
71
- m_r.string( std::move( v ) );
72
- }
73
-
74
- void v_string( const std::string& v ) override
75
- {
76
- m_r.string( v );
77
- }
78
-
79
- void v_string( const std::string_view v ) override
80
- {
81
- m_r.string( v );
82
- }
83
-
84
- void v_binary( std::vector< std::byte >&& v ) override
85
- {
86
- m_r.binary( std::move( v ) );
87
- }
88
-
89
- void v_binary( const std::vector< std::byte >& v ) override
90
- {
91
- m_r.binary( v );
92
- }
93
-
94
- void v_binary( const tao::binary_view v ) override
95
- {
96
- m_r.binary( v );
97
- }
98
-
99
- void v_begin_array() override
100
- {
101
- m_r.begin_array();
102
- }
103
-
104
- void v_begin_array( const std::size_t v ) override
105
- {
106
- m_r.begin_array( v );
107
- }
108
-
109
- void v_element() override
110
- {
111
- m_r.element();
112
- }
113
-
114
- void v_end_array() override
115
- {
116
- m_r.end_array();
117
- }
118
-
119
- void v_end_array( const std::size_t v ) override
120
- {
121
- m_r.end_array( v );
122
- }
123
-
124
- void v_begin_object() override
125
- {
126
- m_r.begin_object();
127
- }
128
-
129
- void v_begin_object( const std::size_t v ) override
130
- {
131
- m_r.begin_object( v );
132
- }
133
-
134
- void v_key( const char* v ) override
135
- {
136
- m_r.key( v );
137
- }
138
-
139
- void v_key( std::string&& v ) override
140
- {
141
- m_r.key( std::move( v ) );
142
- }
143
-
144
- void v_key( const std::string& v ) override
145
- {
146
- m_r.key( v );
147
- }
148
-
149
- void v_key( const std::string_view v ) override
150
- {
151
- m_r.key( v );
152
- }
153
-
154
- void v_member() override
155
- {
156
- m_r.member();
157
- }
158
-
159
- void v_end_object() override
160
- {
161
- m_r.end_object();
162
- }
163
-
164
- void v_end_object( const std::size_t v ) override
165
- {
166
- m_r.end_object( v );
167
- }
168
- };
169
-
170
- } // namespace tao::json::events
171
-
172
- #ifdef _MSC_VER
173
- #pragma warning( pop )
174
- #endif
175
-
176
- #endif
@@ -1,1313 +0,0 @@
1
- // This header include/tao/json/external/double.hpp contains
2
- // modified portions of the double-conversion library from
3
- // https://www.github.com/google/double-conversion
4
- // which is licensed as follows:
5
-
6
- // Copyright 2006-2011 the V8 project authors. All rights reserved.
7
- // Redistribution and use in source and binary forms, with or without
8
- // modification, are permitted provided that the following conditions are
9
- // met:
10
- //
11
- // * Redistributions of source code must retain the above copyright
12
- // notice, this list of conditions and the following disclaimer.
13
- // * Redistributions in binary form must reproduce the above
14
- // copyright notice, this list of conditions and the following
15
- // disclaimer in the documentation and/or other materials provided
16
- // with the distribution.
17
- // * Neither the name of Google Inc. nor the names of its
18
- // contributors may be used to endorse or promote products derived
19
- // from this software without specific prior written permission.
20
- //
21
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
-
33
- #ifndef TAO_JSON_EXTERNAL_DOUBLE_HPP
34
- #define TAO_JSON_EXTERNAL_DOUBLE_HPP
35
-
36
- // clang-format off
37
-
38
- #include <limits.h>
39
-
40
- #include <algorithm>
41
- #include <cassert>
42
- #include <cmath>
43
- #include <cstdlib>
44
- #include <cstring>
45
-
46
- // Double operations detection based on target architecture.
47
- // Linux uses a 80bit wide floating point stack on x86. This induces double
48
- // rounding, which in turn leads to wrong results.
49
- // An easy way to test if the floating-point operations are correct is to
50
- // evaluate: 89255.0/1e22. If the floating-point stack is 64 bits wide then
51
- // the result is equal to 89255e-22.
52
- // The best way to test this, is to create a division-function and to compare
53
- // the output of the division with the expected result. (Inlining must be
54
- // disabled.)
55
- // On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
56
- #if defined(_M_X64) || defined(__x86_64__) || \
57
- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
58
- defined(__hppa__) || defined(__ia64__) || \
59
- defined(__mips__) || \
60
- defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
61
- defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
62
- defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
63
- defined(__SH4__) || defined(__alpha__) || \
64
- defined(_MIPS_ARCH_MIPS32R2) || \
65
- defined(__AARCH64EL__) || defined(__aarch64__)
66
- #define TAO_JSON_DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
67
- #elif defined(__mc68000__)
68
- #undef TAO_JSON_DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
69
- #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
70
- #if defined(_WIN32)
71
- // Windows uses a 64bit wide floating point stack.
72
- #define TAO_JSON_DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
73
- #else
74
- #undef TAO_JSON_DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
75
- #endif // _WIN32
76
- #else
77
- #error Target architecture was not detected as supported by Double-Conversion.
78
- #endif
79
-
80
- #if defined(__GNUC__)
81
- #define TAO_JSON_DOUBLE_CONVERSION_UNUSED __attribute__((unused))
82
- #else
83
- #define TAO_JSON_DOUBLE_CONVERSION_UNUSED
84
- #endif
85
-
86
- #if defined(_WIN32) && !defined(__MINGW32__)
87
-
88
- typedef signed char int8_t;
89
- typedef unsigned char uint8_t;
90
- typedef short int16_t;
91
- typedef unsigned short uint16_t;
92
- typedef int int32_t;
93
- typedef unsigned int uint32_t;
94
- typedef __int64 int64_t;
95
- typedef unsigned __int64 uint64_t;
96
-
97
- // intptr_t and friends are defined in crtdefs.h through stdio.h.
98
-
99
- #else
100
-
101
- #include <stdint.h>
102
-
103
- #endif
104
-
105
- typedef uint16_t uc16;
106
-
107
- #define TAO_JSON_UINT64_2PART_C(a, b) (((static_cast<uint64_t>(a) << 32) + 0x##b##u))
108
-
109
- #ifndef TAO_JSON_GDCV8_ARRAY_SIZE
110
- #define TAO_JSON_GDCV8_ARRAY_SIZE(a) \
111
- ((sizeof(a) / sizeof(*(a))) / \
112
- static_cast<size_t>(!(sizeof(a) % sizeof(*(a)))))
113
- #endif
114
-
115
- namespace tao::json::double_conversion
116
- {
117
- static const int kCharSize = sizeof( char );
118
-
119
- template <typename T>
120
- class Vector {
121
- public:
122
- Vector() : start_(nullptr), length_(0) {}
123
- Vector(T* data, int len) : start_(data), length_(len) {
124
- assert(len == 0 || (len > 0 && data != nullptr));
125
- }
126
-
127
- int length() const { return length_; }
128
-
129
- T& operator[](int index) const {
130
- assert(0 <= index && index < length_);
131
- return start_[index];
132
- }
133
-
134
- private:
135
- T* start_;
136
- int length_;
137
- };
138
-
139
- template <class Dest, class Source>
140
- inline Dest BitCast(const Source& source) {
141
- TAO_JSON_DOUBLE_CONVERSION_UNUSED
142
- typedef char VerifySizesAreEqual[sizeof(Dest) == sizeof(Source) ? 1 : -1];
143
-
144
- Dest dest;
145
- std::memmove(&dest, &source, sizeof(dest));
146
- return dest;
147
- }
148
-
149
- template <class Dest, class Source>
150
- inline Dest BitCast(Source* source) {
151
- return BitCast<Dest>(reinterpret_cast<uintptr_t>(source));
152
- }
153
-
154
- class Bignum
155
- {
156
- public:
157
- static const int kMaxSignificantBits = 3584;
158
-
159
- Bignum();
160
-
161
- void AssignUInt16(uint16_t value);
162
- void AssignUInt64(uint64_t value);
163
-
164
- void AssignDecimalString(Vector<const char> value);
165
-
166
- void AssignPowerUInt16(uint16_t base, int exponent);
167
-
168
- void AddUInt64(uint64_t operand);
169
- void AddBignum(const Bignum& other);
170
- void SubtractBignum(const Bignum& other);
171
-
172
- void Square();
173
- void ShiftLeft(int shift_amount);
174
- void MultiplyByUInt32(uint32_t factor);
175
- void MultiplyByUInt64(uint64_t factor);
176
- void MultiplyByPowerOfTen(int exponent);
177
-
178
- static int Compare(const Bignum& a, const Bignum& b);
179
- static bool LessEqual(const Bignum& a, const Bignum& b) {
180
- return Compare(a, b) <= 0;
181
- }
182
-
183
- private:
184
- typedef uint32_t Chunk;
185
- typedef uint64_t DoubleChunk;
186
-
187
- static const int kChunkSize = sizeof(Chunk) * 8;
188
- static const int kDoubleChunkSize = sizeof(DoubleChunk) * 8;
189
- static const int kBigitSize = 28;
190
- static const Chunk kBigitMask = (1 << kBigitSize) - 1;
191
- static const int kBigitCapacity = kMaxSignificantBits / kBigitSize;
192
-
193
- void EnsureCapacity(int size) {
194
- assert(size <= kBigitCapacity);
195
- (void)size;
196
- }
197
- void Align(const Bignum& other);
198
- void Clamp();
199
- bool IsClamped() const;
200
- void Zero();
201
-
202
- void BigitsShiftLeft(int shift_amount);
203
- int BigitLength() const { return used_digits_ + exponent_; }
204
- Chunk BigitAt(int index) const;
205
- void SubtractTimes(const Bignum& other, int factor);
206
-
207
- Chunk bigits_buffer_[kBigitCapacity];
208
- Vector<Chunk> bigits_;
209
- int used_digits_;
210
- int exponent_;
211
-
212
- Bignum( const Bignum & ) = delete;
213
- void operator= ( const Bignum & ) = delete;
214
- };
215
-
216
- inline Bignum::Bignum()
217
- : bigits_(bigits_buffer_, kBigitCapacity), used_digits_(0), exponent_(0) {
218
- for (int i = 0; i < kBigitCapacity; ++i) {
219
- bigits_[i] = 0;
220
- }
221
- }
222
-
223
- template<typename S>
224
- inline int BitSize(S value) {
225
- (void) value; // Mark variable as used.
226
- return 8 * sizeof(value);
227
- }
228
-
229
- inline void Bignum::AssignUInt16(uint16_t value) {
230
- assert(kBigitSize >= BitSize(value));
231
- Zero();
232
- if (value == 0) return;
233
-
234
- EnsureCapacity(1);
235
- bigits_[0] = value;
236
- used_digits_ = 1;
237
- }
238
-
239
- inline void Bignum::AssignUInt64(uint64_t value) {
240
- const int kUInt64Size = 64;
241
-
242
- Zero();
243
- if (value == 0) return;
244
-
245
- int needed_bigits = kUInt64Size / kBigitSize + 1;
246
- EnsureCapacity(needed_bigits);
247
- for (int i = 0; i < needed_bigits; ++i) {
248
- bigits_[i] = value & kBigitMask;
249
- value = value >> kBigitSize;
250
- }
251
- used_digits_ = needed_bigits;
252
- Clamp();
253
- }
254
-
255
- inline uint64_t ReadUInt64(Vector<const char> buffer,
256
- int from,
257
- int digits_to_read) {
258
- uint64_t result = 0;
259
- for (int i = from; i < from + digits_to_read; ++i) {
260
- int digit = buffer[i] - '0';
261
- assert(0 <= digit && digit <= 9);
262
- result = result * 10 + digit;
263
- }
264
- return result;
265
- }
266
-
267
- inline void Bignum::AssignDecimalString(Vector<const char> value) {
268
- const int kMaxUint64DecimalDigits = 19;
269
- Zero();
270
- int length = value.length();
271
- unsigned int pos = 0;
272
- while (length >= kMaxUint64DecimalDigits) {
273
- uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits);
274
- pos += kMaxUint64DecimalDigits;
275
- length -= kMaxUint64DecimalDigits;
276
- MultiplyByPowerOfTen(kMaxUint64DecimalDigits);
277
- AddUInt64(digits);
278
- }
279
- uint64_t digits = ReadUInt64(value, pos, length);
280
- MultiplyByPowerOfTen(length);
281
- AddUInt64(digits);
282
- Clamp();
283
- }
284
-
285
- inline void Bignum::AddUInt64(uint64_t operand) {
286
- if (operand == 0) return;
287
- Bignum other;
288
- other.AssignUInt64(operand);
289
- AddBignum(other);
290
- }
291
-
292
- inline void Bignum::AddBignum(const Bignum& other) {
293
- assert(IsClamped());
294
- assert(other.IsClamped());
295
- Align(other);
296
- EnsureCapacity(1 + (std::max)(BigitLength(), other.BigitLength()) - exponent_);
297
- Chunk carry = 0;
298
- int bigit_pos = other.exponent_ - exponent_;
299
- assert(bigit_pos >= 0);
300
- for (int i = 0; i < other.used_digits_; ++i) {
301
- Chunk sum = bigits_[bigit_pos] + other.bigits_[i] + carry;
302
- bigits_[bigit_pos] = sum & kBigitMask;
303
- carry = sum >> kBigitSize;
304
- bigit_pos++;
305
- }
306
- while (carry != 0) {
307
- Chunk sum = bigits_[bigit_pos] + carry;
308
- bigits_[bigit_pos] = sum & kBigitMask;
309
- carry = sum >> kBigitSize;
310
- bigit_pos++;
311
- }
312
- used_digits_ = (std::max)(bigit_pos, used_digits_);
313
- assert(IsClamped());
314
- }
315
-
316
- inline void Bignum::SubtractBignum(const Bignum& other) {
317
- assert(IsClamped());
318
- assert(other.IsClamped());
319
- assert(LessEqual(other, *this));
320
- Align(other);
321
-
322
- int offset = other.exponent_ - exponent_;
323
- Chunk borrow = 0;
324
- int i;
325
- for (i = 0; i < other.used_digits_; ++i) {
326
- assert((borrow == 0) || (borrow == 1));
327
- Chunk difference = bigits_[i + offset] - other.bigits_[i] - borrow;
328
- bigits_[i + offset] = difference & kBigitMask;
329
- borrow = difference >> (kChunkSize - 1);
330
- }
331
- while (borrow != 0) {
332
- Chunk difference = bigits_[i + offset] - borrow;
333
- bigits_[i + offset] = difference & kBigitMask;
334
- borrow = difference >> (kChunkSize - 1);
335
- ++i;
336
- }
337
- Clamp();
338
- }
339
-
340
- inline void Bignum::ShiftLeft(int shift_amount) {
341
- if (used_digits_ == 0) return;
342
- exponent_ += shift_amount / kBigitSize;
343
- int local_shift = shift_amount % kBigitSize;
344
- EnsureCapacity(used_digits_ + 1);
345
- BigitsShiftLeft(local_shift);
346
- }
347
-
348
- inline void Bignum::MultiplyByUInt32(uint32_t factor) {
349
- if (factor == 1) return;
350
- if (factor == 0) {
351
- Zero();
352
- return;
353
- }
354
- if (used_digits_ == 0) return;
355
- assert(kDoubleChunkSize >= kBigitSize + 32 + 1);
356
- DoubleChunk carry = 0;
357
- for (int i = 0; i < used_digits_; ++i) {
358
- DoubleChunk product = static_cast<DoubleChunk>(factor) * bigits_[i] + carry;
359
- bigits_[i] = static_cast<Chunk>(product & kBigitMask);
360
- carry = (product >> kBigitSize);
361
- }
362
- while (carry != 0) {
363
- EnsureCapacity(used_digits_ + 1);
364
- bigits_[used_digits_] = carry & kBigitMask;
365
- used_digits_++;
366
- carry >>= kBigitSize;
367
- }
368
- }
369
-
370
- inline void Bignum::MultiplyByUInt64(uint64_t factor) {
371
- if (factor == 1) return;
372
- if (factor == 0) {
373
- Zero();
374
- return;
375
- }
376
- assert(kBigitSize < 32);
377
- uint64_t carry = 0;
378
- uint64_t low = factor & 0xFFFFFFFF;
379
- uint64_t high = factor >> 32;
380
- for (int i = 0; i < used_digits_; ++i) {
381
- uint64_t product_low = low * bigits_[i];
382
- uint64_t product_high = high * bigits_[i];
383
- uint64_t tmp = (carry & kBigitMask) + product_low;
384
- bigits_[i] = tmp & kBigitMask;
385
- carry = (carry >> kBigitSize) + (tmp >> kBigitSize) +
386
- (product_high << (32 - kBigitSize));
387
- }
388
- while (carry != 0) {
389
- EnsureCapacity(used_digits_ + 1);
390
- bigits_[used_digits_] = carry & kBigitMask;
391
- used_digits_++;
392
- carry >>= kBigitSize;
393
- }
394
- }
395
-
396
- inline void Bignum::MultiplyByPowerOfTen(int exponent) {
397
- const uint64_t kFive27 = TAO_JSON_UINT64_2PART_C(0x6765c793, fa10079d);
398
- const uint16_t kFive1 = 5;
399
- const uint16_t kFive2 = kFive1 * 5;
400
- const uint16_t kFive3 = kFive2 * 5;
401
- const uint16_t kFive4 = kFive3 * 5;
402
- const uint16_t kFive5 = kFive4 * 5;
403
- const uint16_t kFive6 = kFive5 * 5;
404
- const uint32_t kFive7 = kFive6 * 5;
405
- const uint32_t kFive8 = kFive7 * 5;
406
- const uint32_t kFive9 = kFive8 * 5;
407
- const uint32_t kFive10 = kFive9 * 5;
408
- const uint32_t kFive11 = kFive10 * 5;
409
- const uint32_t kFive12 = kFive11 * 5;
410
- const uint32_t kFive13 = kFive12 * 5;
411
- const uint32_t kFive1_to_12[] =
412
- { kFive1, kFive2, kFive3, kFive4, kFive5, kFive6,
413
- kFive7, kFive8, kFive9, kFive10, kFive11, kFive12 };
414
-
415
- assert(exponent >= 0);
416
- if (exponent == 0) return;
417
- if (used_digits_ == 0) return;
418
- int remaining_exponent = exponent;
419
- while (remaining_exponent >= 27) {
420
- MultiplyByUInt64(kFive27);
421
- remaining_exponent -= 27;
422
- }
423
- while (remaining_exponent >= 13) {
424
- MultiplyByUInt32(kFive13);
425
- remaining_exponent -= 13;
426
- }
427
- if (remaining_exponent > 0) {
428
- MultiplyByUInt32(kFive1_to_12[remaining_exponent - 1]);
429
- }
430
- ShiftLeft(exponent);
431
- }
432
-
433
- inline void Bignum::Square() {
434
- assert(IsClamped());
435
- int product_length = 2 * used_digits_;
436
- EnsureCapacity(product_length);
437
-
438
- if ((1 << (2 * (kChunkSize - kBigitSize))) <= used_digits_) {
439
- std::abort(); // Unimplemented.
440
- }
441
- DoubleChunk accumulator = 0;
442
- int copy_offset = used_digits_;
443
- for (int i = 0; i < used_digits_; ++i) {
444
- bigits_[copy_offset + i] = bigits_[i];
445
- }
446
- for (int i = 0; i < used_digits_; ++i) {
447
- int bigit_index1 = i;
448
- int bigit_index2 = 0;
449
- while (bigit_index1 >= 0) {
450
- Chunk chunk1 = bigits_[copy_offset + bigit_index1];
451
- Chunk chunk2 = bigits_[copy_offset + bigit_index2];
452
- accumulator += static_cast<DoubleChunk>(chunk1) * chunk2;
453
- bigit_index1--;
454
- bigit_index2++;
455
- }
456
- bigits_[i] = static_cast<Chunk>(accumulator) & kBigitMask;
457
- accumulator >>= kBigitSize;
458
- }
459
- for (int i = used_digits_; i < product_length; ++i) {
460
- int bigit_index1 = used_digits_ - 1;
461
- int bigit_index2 = i - bigit_index1;
462
- while (bigit_index2 < used_digits_) {
463
- Chunk chunk1 = bigits_[copy_offset + bigit_index1];
464
- Chunk chunk2 = bigits_[copy_offset + bigit_index2];
465
- accumulator += static_cast<DoubleChunk>(chunk1) * chunk2;
466
- bigit_index1--;
467
- bigit_index2++;
468
- }
469
- bigits_[i] = static_cast<Chunk>(accumulator) & kBigitMask;
470
- accumulator >>= kBigitSize;
471
- }
472
- assert(accumulator == 0);
473
- used_digits_ = product_length;
474
- exponent_ *= 2;
475
- Clamp();
476
- }
477
-
478
- inline void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) {
479
- assert(base != 0);
480
- assert(power_exponent >= 0);
481
- if (power_exponent == 0) {
482
- AssignUInt16(1);
483
- return;
484
- }
485
- Zero();
486
- int shifts = 0;
487
- while ((base & 1) == 0) {
488
- base >>= 1;
489
- shifts++;
490
- }
491
- int bit_size = 0;
492
- int tmp_base = base;
493
- while (tmp_base != 0) {
494
- tmp_base >>= 1;
495
- bit_size++;
496
- }
497
- int final_size = bit_size * power_exponent;
498
- EnsureCapacity(final_size / kBigitSize + 2);
499
- int mask = 1;
500
- while (power_exponent >= mask) mask <<= 1;
501
- mask >>= 2;
502
- uint64_t this_value = base;
503
- bool delayed_multipliciation = false;
504
- const uint64_t max_32bits = 0xFFFFFFFF;
505
- while (mask != 0 && this_value <= max_32bits) {
506
- this_value = this_value * this_value;
507
- if ((power_exponent & mask) != 0) {
508
- uint64_t base_bits_mask =
509
- ~((static_cast<uint64_t>(1) << (64 - bit_size)) - 1);
510
- bool high_bits_zero = (this_value & base_bits_mask) == 0;
511
- if (high_bits_zero) {
512
- this_value *= base;
513
- } else {
514
- delayed_multipliciation = true;
515
- }
516
- }
517
- mask >>= 1;
518
- }
519
- AssignUInt64(this_value);
520
- if (delayed_multipliciation) {
521
- MultiplyByUInt32(base);
522
- }
523
- while (mask != 0) {
524
- Square();
525
- if ((power_exponent & mask) != 0) {
526
- MultiplyByUInt32(base);
527
- }
528
- mask >>= 1;
529
- }
530
- ShiftLeft(shifts * power_exponent);
531
- }
532
-
533
- inline Bignum::Chunk Bignum::BigitAt(int index) const {
534
- if (index >= BigitLength()) return 0;
535
- if (index < exponent_) return 0;
536
- return bigits_[index - exponent_];
537
- }
538
-
539
- inline int Bignum::Compare(const Bignum& a, const Bignum& b) {
540
- assert(a.IsClamped());
541
- assert(b.IsClamped());
542
- int bigit_length_a = a.BigitLength();
543
- int bigit_length_b = b.BigitLength();
544
- if (bigit_length_a < bigit_length_b) return -1;
545
- if (bigit_length_a > bigit_length_b) return +1;
546
- for (int i = bigit_length_a - 1; i >= (std::min)(a.exponent_, b.exponent_); --i) {
547
- const Chunk bigit_a = a.BigitAt(i);
548
- const Chunk bigit_b = b.BigitAt(i);
549
- if (bigit_a < bigit_b) return -1;
550
- if (bigit_a > bigit_b) return +1;
551
- }
552
- return 0;
553
- }
554
-
555
- inline void Bignum::Clamp() {
556
- while (used_digits_ > 0 && bigits_[used_digits_ - 1] == 0) {
557
- used_digits_--;
558
- }
559
- if (used_digits_ == 0) {
560
- exponent_ = 0;
561
- }
562
- }
563
-
564
- inline bool Bignum::IsClamped() const {
565
- return used_digits_ == 0 || bigits_[used_digits_ - 1] != 0;
566
- }
567
-
568
- inline void Bignum::Zero() {
569
- for (int i = 0; i < used_digits_; ++i) {
570
- bigits_[i] = 0;
571
- }
572
- used_digits_ = 0;
573
- exponent_ = 0;
574
- }
575
-
576
- inline void Bignum::Align(const Bignum& other) {
577
- if (exponent_ > other.exponent_) {
578
- int zero_digits = exponent_ - other.exponent_;
579
- EnsureCapacity(used_digits_ + zero_digits);
580
- for (int i = used_digits_ - 1; i >= 0; --i) {
581
- bigits_[i + zero_digits] = bigits_[i];
582
- }
583
- for (int i = 0; i < zero_digits; ++i) {
584
- bigits_[i] = 0;
585
- }
586
- used_digits_ += zero_digits;
587
- exponent_ -= zero_digits;
588
- assert(used_digits_ >= 0);
589
- assert(exponent_ >= 0);
590
- }
591
- }
592
-
593
- inline void Bignum::BigitsShiftLeft(int shift_amount) {
594
- assert(shift_amount < kBigitSize);
595
- assert(shift_amount >= 0);
596
- Chunk carry = 0;
597
- for (int i = 0; i < used_digits_; ++i) {
598
- Chunk new_carry = bigits_[i] >> (kBigitSize - shift_amount);
599
- bigits_[i] = ((bigits_[i] << shift_amount) + carry) & kBigitMask;
600
- carry = new_carry;
601
- }
602
- if (carry != 0) {
603
- bigits_[used_digits_] = carry;
604
- used_digits_++;
605
- }
606
- }
607
-
608
- inline void Bignum::SubtractTimes(const Bignum& other, int factor) {
609
- assert(exponent_ <= other.exponent_);
610
- if (factor < 3) {
611
- for (int i = 0; i < factor; ++i) {
612
- SubtractBignum(other);
613
- }
614
- return;
615
- }
616
- Chunk borrow = 0;
617
- int exponent_diff = other.exponent_ - exponent_;
618
- for (int i = 0; i < other.used_digits_; ++i) {
619
- DoubleChunk product = static_cast<DoubleChunk>(factor) * other.bigits_[i];
620
- DoubleChunk remove = borrow + product;
621
- Chunk difference = bigits_[i + exponent_diff] - (remove & kBigitMask);
622
- bigits_[i + exponent_diff] = difference & kBigitMask;
623
- borrow = static_cast<Chunk>((difference >> (kChunkSize - 1)) +
624
- (remove >> kBigitSize));
625
- }
626
- for (int i = other.used_digits_ + exponent_diff; i < used_digits_; ++i) {
627
- if (borrow == 0) return;
628
- Chunk difference = bigits_[i] - borrow;
629
- bigits_[i] = difference & kBigitMask;
630
- borrow = difference >> (kChunkSize - 1);
631
- }
632
- Clamp();
633
- }
634
-
635
- class DiyFp
636
- {
637
- public:
638
- static const int kSignificandSize = 64;
639
-
640
- DiyFp() : f_(0), e_(0) {}
641
- DiyFp(uint64_t significand, int exponent) : f_(significand), e_(exponent) {}
642
-
643
- void Subtract(const DiyFp& other) {
644
- assert(e_ == other.e_);
645
- assert(f_ >= other.f_);
646
- f_ -= other.f_;
647
- }
648
-
649
- static DiyFp Minus(const DiyFp& a, const DiyFp& b) {
650
- DiyFp result = a;
651
- result.Subtract(b);
652
- return result;
653
- }
654
-
655
- void Multiply(const DiyFp& other)
656
- {
657
- const uint64_t kM32 = 0xFFFFFFFFU;
658
- uint64_t a = f_ >> 32;
659
- uint64_t b = f_ & kM32;
660
- uint64_t c = other.f_ >> 32;
661
- uint64_t d = other.f_ & kM32;
662
- uint64_t ac = a * c;
663
- uint64_t bc = b * c;
664
- uint64_t ad = a * d;
665
- uint64_t bd = b * d;
666
- uint64_t tmp = (bd >> 32) + (ad & kM32) + (bc & kM32);
667
- tmp += 1U << 31;
668
- uint64_t result_f = ac + (ad >> 32) + (bc >> 32) + (tmp >> 32);
669
- e_ += other.e_ + 64;
670
- f_ = result_f;
671
- }
672
-
673
- static DiyFp Times(const DiyFp& a, const DiyFp& b)
674
- {
675
- DiyFp result = a;
676
- result.Multiply(b);
677
- return result;
678
- }
679
-
680
- void Normalize() {
681
- assert(f_ != 0);
682
- uint64_t significand = f_;
683
- int exponent = e_;
684
-
685
- const uint64_t k10MSBits = TAO_JSON_UINT64_2PART_C(0xFFC00000, 00000000);
686
- while ((significand & k10MSBits) == 0) {
687
- significand <<= 10;
688
- exponent -= 10;
689
- }
690
- while ((significand & kUint64MSB) == 0) {
691
- significand <<= 1;
692
- exponent--;
693
- }
694
- f_ = significand;
695
- e_ = exponent;
696
- }
697
-
698
- static DiyFp Normalize(const DiyFp& a) {
699
- DiyFp result = a;
700
- result.Normalize();
701
- return result;
702
- }
703
-
704
- uint64_t f() const { return f_; }
705
- int e() const { return e_; }
706
-
707
- void set_f(uint64_t new_value) { f_ = new_value; }
708
- void set_e(int new_value) { e_ = new_value; }
709
-
710
- private:
711
- static const uint64_t kUint64MSB = TAO_JSON_UINT64_2PART_C(0x80000000, 00000000);
712
-
713
- uint64_t f_;
714
- int e_;
715
- };
716
-
717
- static uint64_t double_to_uint64(double d) { return BitCast<uint64_t>(d); }
718
- static double uint64_to_double(uint64_t d64) { return BitCast<double>(d64); }
719
-
720
- class Double {
721
- public:
722
- static const uint64_t kSignMask = TAO_JSON_UINT64_2PART_C(0x80000000, 00000000);
723
- static const uint64_t kExponentMask = TAO_JSON_UINT64_2PART_C(0x7FF00000, 00000000);
724
- static const uint64_t kSignificandMask = TAO_JSON_UINT64_2PART_C(0x000FFFFF, FFFFFFFF);
725
- static const uint64_t kHiddenBit = TAO_JSON_UINT64_2PART_C(0x00100000, 00000000);
726
- static const int kPhysicalSignificandSize = 52;
727
- static const int kSignificandSize = 53;
728
-
729
- Double() : d64_(0) {}
730
- explicit Double(double d) : d64_(double_to_uint64(d)) {}
731
- explicit Double(uint64_t d64) : d64_(d64) {}
732
- explicit Double(DiyFp diy_fp)
733
- : d64_(DiyFpToUint64(diy_fp)) {}
734
-
735
- DiyFp AsDiyFp() const {
736
- assert(Sign() > 0);
737
- assert(!IsSpecial());
738
- return DiyFp(Significand(), Exponent());
739
- }
740
-
741
- DiyFp AsNormalizedDiyFp() const {
742
- assert(value() > 0.0);
743
- uint64_t f = Significand();
744
- int e = Exponent();
745
-
746
- while ((f & kHiddenBit) == 0) {
747
- f <<= 1;
748
- e--;
749
- }
750
- f <<= DiyFp::kSignificandSize - kSignificandSize;
751
- e -= DiyFp::kSignificandSize - kSignificandSize;
752
- return DiyFp(f, e);
753
- }
754
-
755
- uint64_t AsUint64() const {
756
- return d64_;
757
- }
758
-
759
- double NextDouble() const {
760
- if (d64_ == kInfinity) return Double(kInfinity).value();
761
- if (Sign() < 0 && Significand() == 0) {
762
- return 0.0;
763
- }
764
- if (Sign() < 0) {
765
- return Double(d64_ - 1).value();
766
- } else {
767
- return Double(d64_ + 1).value();
768
- }
769
- }
770
-
771
- double PreviousDouble() const {
772
- if (d64_ == (kInfinity | kSignMask)) return -Double::Infinity();
773
- if (Sign() < 0) {
774
- return Double(d64_ + 1).value();
775
- } else {
776
- if (Significand() == 0) return -0.0;
777
- return Double(d64_ - 1).value();
778
- }
779
- }
780
-
781
- int Exponent() const {
782
- if (IsDenormal()) return kDenormalExponent;
783
-
784
- uint64_t d64 = AsUint64();
785
- int biased_e =
786
- static_cast<int>((d64 & kExponentMask) >> kPhysicalSignificandSize);
787
- return biased_e - kExponentBias;
788
- }
789
-
790
- uint64_t Significand() const {
791
- uint64_t d64 = AsUint64();
792
- uint64_t significand = d64 & kSignificandMask;
793
- if (!IsDenormal()) {
794
- return significand + kHiddenBit;
795
- } else {
796
- return significand;
797
- }
798
- }
799
-
800
- bool IsDenormal() const {
801
- uint64_t d64 = AsUint64();
802
- return (d64 & kExponentMask) == 0;
803
- }
804
-
805
- bool IsSpecial() const {
806
- uint64_t d64 = AsUint64();
807
- return (d64 & kExponentMask) == kExponentMask;
808
- }
809
-
810
- bool IsNan() const {
811
- uint64_t d64 = AsUint64();
812
- return ((d64 & kExponentMask) == kExponentMask) &&
813
- ((d64 & kSignificandMask) != 0);
814
- }
815
-
816
- bool IsInfinite() const {
817
- uint64_t d64 = AsUint64();
818
- return ((d64 & kExponentMask) == kExponentMask) &&
819
- ((d64 & kSignificandMask) == 0);
820
- }
821
-
822
- int Sign() const {
823
- uint64_t d64 = AsUint64();
824
- return (d64 & kSignMask) == 0? 1: -1;
825
- }
826
-
827
- DiyFp UpperBoundary() const {
828
- assert(Sign() > 0);
829
- return DiyFp(Significand() * 2 + 1, Exponent() - 1);
830
- }
831
-
832
- void NormalizedBoundaries(DiyFp* out_m_minus, DiyFp* out_m_plus) const {
833
- assert(value() > 0.0);
834
- DiyFp v = this->AsDiyFp();
835
- DiyFp m_plus = DiyFp::Normalize(DiyFp((v.f() << 1) + 1, v.e() - 1));
836
- DiyFp m_minus;
837
- if (LowerBoundaryIsCloser()) {
838
- m_minus = DiyFp((v.f() << 2) - 1, v.e() - 2);
839
- } else {
840
- m_minus = DiyFp((v.f() << 1) - 1, v.e() - 1);
841
- }
842
- m_minus.set_f(m_minus.f() << (m_minus.e() - m_plus.e()));
843
- m_minus.set_e(m_plus.e());
844
- *out_m_plus = m_plus;
845
- *out_m_minus = m_minus;
846
- }
847
-
848
- bool LowerBoundaryIsCloser() const {
849
- bool physical_significand_is_zero = ((AsUint64() & kSignificandMask) == 0);
850
- return physical_significand_is_zero && (Exponent() != kDenormalExponent);
851
- }
852
-
853
- double value() const { return uint64_to_double(d64_); }
854
-
855
- static int SignificandSizeForOrderOfMagnitude(int order) {
856
- if (order >= (kDenormalExponent + kSignificandSize)) {
857
- return kSignificandSize;
858
- }
859
- if (order <= kDenormalExponent) return 0;
860
- return order - kDenormalExponent;
861
- }
862
-
863
- static double Infinity() {
864
- return Double(kInfinity).value();
865
- }
866
-
867
- static double NaN() {
868
- return Double(kNaN).value();
869
- }
870
-
871
- private:
872
- static const int kExponentBias = 0x3FF + kPhysicalSignificandSize;
873
- static const int kDenormalExponent = -kExponentBias + 1;
874
- static const int kMaxExponent = 0x7FF - kExponentBias;
875
- static const uint64_t kInfinity = TAO_JSON_UINT64_2PART_C(0x7FF00000, 00000000);
876
- static const uint64_t kNaN = TAO_JSON_UINT64_2PART_C(0x7FF80000, 00000000);
877
-
878
- const uint64_t d64_;
879
-
880
- static uint64_t DiyFpToUint64(DiyFp diy_fp) {
881
- uint64_t significand = diy_fp.f();
882
- int exponent = diy_fp.e();
883
- while (significand > kHiddenBit + kSignificandMask) {
884
- significand >>= 1;
885
- exponent++;
886
- }
887
- if (exponent >= kMaxExponent) {
888
- return kInfinity;
889
- }
890
- if (exponent < kDenormalExponent) {
891
- return 0;
892
- }
893
- while (exponent > kDenormalExponent && (significand & kHiddenBit) == 0) {
894
- significand <<= 1;
895
- exponent--;
896
- }
897
- uint64_t biased_exponent;
898
- if (exponent == kDenormalExponent && (significand & kHiddenBit) == 0) {
899
- biased_exponent = 0;
900
- } else {
901
- biased_exponent = static_cast<uint64_t>(exponent + kExponentBias);
902
- }
903
- return (significand & kSignificandMask) |
904
- (biased_exponent << kPhysicalSignificandSize);
905
- }
906
-
907
- Double( const Double& ) = delete;
908
- void operator=( const Double& ) = delete;
909
- };
910
-
911
- struct PowersOfTenCache
912
- {
913
- static const int kDecimalExponentDistance = 8;
914
-
915
- static const int kMinDecimalExponent = -348;
916
- static const int kMaxDecimalExponent = 340;
917
-
918
- static void GetCachedPowerForDecimalExponent(int requested_exponent,
919
- DiyFp* power,
920
- int* found_exponent);
921
- };
922
-
923
- struct CachedPower {
924
- uint64_t significand;
925
- int16_t binary_exponent;
926
- int16_t decimal_exponent;
927
- };
928
-
929
- static const CachedPower kCachedPowers[] = {
930
- {TAO_JSON_UINT64_2PART_C(0xfa8fd5a0, 081c0288), -1220, -348},
931
- {TAO_JSON_UINT64_2PART_C(0xbaaee17f, a23ebf76), -1193, -340},
932
- {TAO_JSON_UINT64_2PART_C(0x8b16fb20, 3055ac76), -1166, -332},
933
- {TAO_JSON_UINT64_2PART_C(0xcf42894a, 5dce35ea), -1140, -324},
934
- {TAO_JSON_UINT64_2PART_C(0x9a6bb0aa, 55653b2d), -1113, -316},
935
- {TAO_JSON_UINT64_2PART_C(0xe61acf03, 3d1a45df), -1087, -308},
936
- {TAO_JSON_UINT64_2PART_C(0xab70fe17, c79ac6ca), -1060, -300},
937
- {TAO_JSON_UINT64_2PART_C(0xff77b1fc, bebcdc4f), -1034, -292},
938
- {TAO_JSON_UINT64_2PART_C(0xbe5691ef, 416bd60c), -1007, -284},
939
- {TAO_JSON_UINT64_2PART_C(0x8dd01fad, 907ffc3c), -980, -276},
940
- {TAO_JSON_UINT64_2PART_C(0xd3515c28, 31559a83), -954, -268},
941
- {TAO_JSON_UINT64_2PART_C(0x9d71ac8f, ada6c9b5), -927, -260},
942
- {TAO_JSON_UINT64_2PART_C(0xea9c2277, 23ee8bcb), -901, -252},
943
- {TAO_JSON_UINT64_2PART_C(0xaecc4991, 4078536d), -874, -244},
944
- {TAO_JSON_UINT64_2PART_C(0x823c1279, 5db6ce57), -847, -236},
945
- {TAO_JSON_UINT64_2PART_C(0xc2109436, 4dfb5637), -821, -228},
946
- {TAO_JSON_UINT64_2PART_C(0x9096ea6f, 3848984f), -794, -220},
947
- {TAO_JSON_UINT64_2PART_C(0xd77485cb, 25823ac7), -768, -212},
948
- {TAO_JSON_UINT64_2PART_C(0xa086cfcd, 97bf97f4), -741, -204},
949
- {TAO_JSON_UINT64_2PART_C(0xef340a98, 172aace5), -715, -196},
950
- {TAO_JSON_UINT64_2PART_C(0xb23867fb, 2a35b28e), -688, -188},
951
- {TAO_JSON_UINT64_2PART_C(0x84c8d4df, d2c63f3b), -661, -180},
952
- {TAO_JSON_UINT64_2PART_C(0xc5dd4427, 1ad3cdba), -635, -172},
953
- {TAO_JSON_UINT64_2PART_C(0x936b9fce, bb25c996), -608, -164},
954
- {TAO_JSON_UINT64_2PART_C(0xdbac6c24, 7d62a584), -582, -156},
955
- {TAO_JSON_UINT64_2PART_C(0xa3ab6658, 0d5fdaf6), -555, -148},
956
- {TAO_JSON_UINT64_2PART_C(0xf3e2f893, dec3f126), -529, -140},
957
- {TAO_JSON_UINT64_2PART_C(0xb5b5ada8, aaff80b8), -502, -132},
958
- {TAO_JSON_UINT64_2PART_C(0x87625f05, 6c7c4a8b), -475, -124},
959
- {TAO_JSON_UINT64_2PART_C(0xc9bcff60, 34c13053), -449, -116},
960
- {TAO_JSON_UINT64_2PART_C(0x964e858c, 91ba2655), -422, -108},
961
- {TAO_JSON_UINT64_2PART_C(0xdff97724, 70297ebd), -396, -100},
962
- {TAO_JSON_UINT64_2PART_C(0xa6dfbd9f, b8e5b88f), -369, -92},
963
- {TAO_JSON_UINT64_2PART_C(0xf8a95fcf, 88747d94), -343, -84},
964
- {TAO_JSON_UINT64_2PART_C(0xb9447093, 8fa89bcf), -316, -76},
965
- {TAO_JSON_UINT64_2PART_C(0x8a08f0f8, bf0f156b), -289, -68},
966
- {TAO_JSON_UINT64_2PART_C(0xcdb02555, 653131b6), -263, -60},
967
- {TAO_JSON_UINT64_2PART_C(0x993fe2c6, d07b7fac), -236, -52},
968
- {TAO_JSON_UINT64_2PART_C(0xe45c10c4, 2a2b3b06), -210, -44},
969
- {TAO_JSON_UINT64_2PART_C(0xaa242499, 697392d3), -183, -36},
970
- {TAO_JSON_UINT64_2PART_C(0xfd87b5f2, 8300ca0e), -157, -28},
971
- {TAO_JSON_UINT64_2PART_C(0xbce50864, 92111aeb), -130, -20},
972
- {TAO_JSON_UINT64_2PART_C(0x8cbccc09, 6f5088cc), -103, -12},
973
- {TAO_JSON_UINT64_2PART_C(0xd1b71758, e219652c), -77, -4},
974
- {TAO_JSON_UINT64_2PART_C(0x9c400000, 00000000), -50, 4},
975
- {TAO_JSON_UINT64_2PART_C(0xe8d4a510, 00000000), -24, 12},
976
- {TAO_JSON_UINT64_2PART_C(0xad78ebc5, ac620000), 3, 20},
977
- {TAO_JSON_UINT64_2PART_C(0x813f3978, f8940984), 30, 28},
978
- {TAO_JSON_UINT64_2PART_C(0xc097ce7b, c90715b3), 56, 36},
979
- {TAO_JSON_UINT64_2PART_C(0x8f7e32ce, 7bea5c70), 83, 44},
980
- {TAO_JSON_UINT64_2PART_C(0xd5d238a4, abe98068), 109, 52},
981
- {TAO_JSON_UINT64_2PART_C(0x9f4f2726, 179a2245), 136, 60},
982
- {TAO_JSON_UINT64_2PART_C(0xed63a231, d4c4fb27), 162, 68},
983
- {TAO_JSON_UINT64_2PART_C(0xb0de6538, 8cc8ada8), 189, 76},
984
- {TAO_JSON_UINT64_2PART_C(0x83c7088e, 1aab65db), 216, 84},
985
- {TAO_JSON_UINT64_2PART_C(0xc45d1df9, 42711d9a), 242, 92},
986
- {TAO_JSON_UINT64_2PART_C(0x924d692c, a61be758), 269, 100},
987
- {TAO_JSON_UINT64_2PART_C(0xda01ee64, 1a708dea), 295, 108},
988
- {TAO_JSON_UINT64_2PART_C(0xa26da399, 9aef774a), 322, 116},
989
- {TAO_JSON_UINT64_2PART_C(0xf209787b, b47d6b85), 348, 124},
990
- {TAO_JSON_UINT64_2PART_C(0xb454e4a1, 79dd1877), 375, 132},
991
- {TAO_JSON_UINT64_2PART_C(0x865b8692, 5b9bc5c2), 402, 140},
992
- {TAO_JSON_UINT64_2PART_C(0xc83553c5, c8965d3d), 428, 148},
993
- {TAO_JSON_UINT64_2PART_C(0x952ab45c, fa97a0b3), 455, 156},
994
- {TAO_JSON_UINT64_2PART_C(0xde469fbd, 99a05fe3), 481, 164},
995
- {TAO_JSON_UINT64_2PART_C(0xa59bc234, db398c25), 508, 172},
996
- {TAO_JSON_UINT64_2PART_C(0xf6c69a72, a3989f5c), 534, 180},
997
- {TAO_JSON_UINT64_2PART_C(0xb7dcbf53, 54e9bece), 561, 188},
998
- {TAO_JSON_UINT64_2PART_C(0x88fcf317, f22241e2), 588, 196},
999
- {TAO_JSON_UINT64_2PART_C(0xcc20ce9b, d35c78a5), 614, 204},
1000
- {TAO_JSON_UINT64_2PART_C(0x98165af3, 7b2153df), 641, 212},
1001
- {TAO_JSON_UINT64_2PART_C(0xe2a0b5dc, 971f303a), 667, 220},
1002
- {TAO_JSON_UINT64_2PART_C(0xa8d9d153, 5ce3b396), 694, 228},
1003
- {TAO_JSON_UINT64_2PART_C(0xfb9b7cd9, a4a7443c), 720, 236},
1004
- {TAO_JSON_UINT64_2PART_C(0xbb764c4c, a7a44410), 747, 244},
1005
- {TAO_JSON_UINT64_2PART_C(0x8bab8eef, b6409c1a), 774, 252},
1006
- {TAO_JSON_UINT64_2PART_C(0xd01fef10, a657842c), 800, 260},
1007
- {TAO_JSON_UINT64_2PART_C(0x9b10a4e5, e9913129), 827, 268},
1008
- {TAO_JSON_UINT64_2PART_C(0xe7109bfb, a19c0c9d), 853, 276},
1009
- {TAO_JSON_UINT64_2PART_C(0xac2820d9, 623bf429), 880, 284},
1010
- {TAO_JSON_UINT64_2PART_C(0x80444b5e, 7aa7cf85), 907, 292},
1011
- {TAO_JSON_UINT64_2PART_C(0xbf21e440, 03acdd2d), 933, 300},
1012
- {TAO_JSON_UINT64_2PART_C(0x8e679c2f, 5e44ff8f), 960, 308},
1013
- {TAO_JSON_UINT64_2PART_C(0xd433179d, 9c8cb841), 986, 316},
1014
- {TAO_JSON_UINT64_2PART_C(0x9e19db92, b4e31ba9), 1013, 324},
1015
- {TAO_JSON_UINT64_2PART_C(0xeb96bf6e, badf77d9), 1039, 332},
1016
- {TAO_JSON_UINT64_2PART_C(0xaf87023b, 9bf0ee6b), 1066, 340},
1017
- };
1018
-
1019
- static const int kCachedPowersLength = TAO_JSON_GDCV8_ARRAY_SIZE(kCachedPowers);
1020
- static const int kCachedPowersOffset = 348;
1021
- static const double kD_1_LOG2_10 = 0.30102999566398114;
1022
-
1023
- inline void PowersOfTenCache::GetCachedPowerForDecimalExponent(int requested_exponent,
1024
- DiyFp* power,
1025
- int* found_exponent) {
1026
- assert(kMinDecimalExponent <= requested_exponent);
1027
- assert(requested_exponent < kMaxDecimalExponent + kDecimalExponentDistance);
1028
- int index =
1029
- (requested_exponent + kCachedPowersOffset) / kDecimalExponentDistance;
1030
- CachedPower cached_power = kCachedPowers[index];
1031
- *power = DiyFp(cached_power.significand, cached_power.binary_exponent);
1032
- *found_exponent = cached_power.decimal_exponent;
1033
- assert(*found_exponent <= requested_exponent);
1034
- assert(requested_exponent < *found_exponent + kDecimalExponentDistance);
1035
- }
1036
-
1037
- static const int kMaxExactDoubleIntegerDecimalDigits = 15;
1038
- static const int kMaxUint64DecimalDigits = 19;
1039
-
1040
- static const int kMaxDecimalPower = 309;
1041
- static const int kMinDecimalPower = -324;
1042
-
1043
- static const uint64_t kMaxUint64 = TAO_JSON_UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF);
1044
-
1045
- static const double exact_powers_of_ten[] = {
1046
- 1.0, // 10^0
1047
- 10.0,
1048
- 100.0,
1049
- 1000.0,
1050
- 10000.0,
1051
- 100000.0,
1052
- 1000000.0,
1053
- 10000000.0,
1054
- 100000000.0,
1055
- 1000000000.0,
1056
- 10000000000.0, // 10^10
1057
- 100000000000.0,
1058
- 1000000000000.0,
1059
- 10000000000000.0,
1060
- 100000000000000.0,
1061
- 1000000000000000.0,
1062
- 10000000000000000.0,
1063
- 100000000000000000.0,
1064
- 1000000000000000000.0,
1065
- 10000000000000000000.0,
1066
- 100000000000000000000.0, // 10^20
1067
- 1000000000000000000000.0,
1068
- 10000000000000000000000.0
1069
- };
1070
-
1071
- static const int kExactPowersOfTenSize = TAO_JSON_GDCV8_ARRAY_SIZE(exact_powers_of_ten);
1072
- static const int kMaxSignificantDecimalDigits = 780;
1073
-
1074
- inline uint64_t ReadUint64(Vector<const char> buffer,
1075
- int* number_of_read_digits) {
1076
- uint64_t result = 0;
1077
- int i = 0;
1078
- while (i < buffer.length() && result <= (kMaxUint64 / 10 - 1)) {
1079
- int digit = buffer[i++] - '0';
1080
- assert(0 <= digit && digit <= 9);
1081
- result = 10 * result + digit;
1082
- }
1083
- *number_of_read_digits = i;
1084
- return result;
1085
- }
1086
-
1087
- inline void ReadDiyFp(Vector<const char> buffer,
1088
- DiyFp* result,
1089
- int* remaining_decimals) {
1090
- int read_digits;
1091
- uint64_t significand = ReadUint64(buffer, &read_digits);
1092
- if (buffer.length() == read_digits) {
1093
- *result = DiyFp(significand, 0);
1094
- *remaining_decimals = 0;
1095
- } else {
1096
- if (buffer[read_digits] >= '5') {
1097
- significand++;
1098
- }
1099
- int exponent = 0;
1100
- *result = DiyFp(significand, exponent);
1101
- *remaining_decimals = buffer.length() - read_digits;
1102
- }
1103
- }
1104
-
1105
- inline bool DoubleStrtod(Vector<const char> trimmed,
1106
- int exponent,
1107
- double* result) {
1108
- #if !defined(TAO_JSON_DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS)
1109
- // On x86 the floating-point stack can be 64 or 80 bits wide. If it is
1110
- // 80 bits wide (as is the case on Linux) then double-rounding occurs and the
1111
- // result is not accurate.
1112
- // We know that Windows32 uses 64 bits and is therefore accurate.
1113
- // Note that the ARM simulator is compiled for 32bits. It therefore exhibits
1114
- // the same problem.
1115
- return false;
1116
- #endif
1117
- if (trimmed.length() <= kMaxExactDoubleIntegerDecimalDigits) {
1118
- int read_digits;
1119
- if (exponent < 0 && -exponent < kExactPowersOfTenSize) {
1120
- *result = static_cast<double>(ReadUint64(trimmed, &read_digits));
1121
- assert(read_digits == trimmed.length());
1122
- *result /= exact_powers_of_ten[-exponent];
1123
- return true;
1124
- }
1125
- if (0 <= exponent && exponent < kExactPowersOfTenSize) {
1126
- *result = static_cast<double>(ReadUint64(trimmed, &read_digits));
1127
- assert(read_digits == trimmed.length());
1128
- *result *= exact_powers_of_ten[exponent];
1129
- return true;
1130
- }
1131
- int remaining_digits =
1132
- kMaxExactDoubleIntegerDecimalDigits - trimmed.length();
1133
- if ((0 <= exponent) &&
1134
- (exponent - remaining_digits < kExactPowersOfTenSize)) {
1135
- *result = static_cast<double>(ReadUint64(trimmed, &read_digits));
1136
- assert(read_digits == trimmed.length());
1137
- *result *= exact_powers_of_ten[remaining_digits];
1138
- *result *= exact_powers_of_ten[exponent - remaining_digits];
1139
- return true;
1140
- }
1141
- }
1142
- return false;
1143
- }
1144
-
1145
- inline DiyFp AdjustmentPowerOfTen(int exponent) {
1146
- assert(0 < exponent);
1147
- assert(exponent < PowersOfTenCache::kDecimalExponentDistance);
1148
- assert(PowersOfTenCache::kDecimalExponentDistance == 8);
1149
- switch (exponent) {
1150
- case 1: return DiyFp(TAO_JSON_UINT64_2PART_C(0xa0000000, 00000000), -60);
1151
- case 2: return DiyFp(TAO_JSON_UINT64_2PART_C(0xc8000000, 00000000), -57);
1152
- case 3: return DiyFp(TAO_JSON_UINT64_2PART_C(0xfa000000, 00000000), -54);
1153
- case 4: return DiyFp(TAO_JSON_UINT64_2PART_C(0x9c400000, 00000000), -50);
1154
- case 5: return DiyFp(TAO_JSON_UINT64_2PART_C(0xc3500000, 00000000), -47);
1155
- case 6: return DiyFp(TAO_JSON_UINT64_2PART_C(0xf4240000, 00000000), -44);
1156
- case 7: return DiyFp(TAO_JSON_UINT64_2PART_C(0x98968000, 00000000), -40);
1157
- default:
1158
- std::abort();
1159
- }
1160
- }
1161
-
1162
- inline bool DiyFpStrtod(Vector<const char> buffer,
1163
- int exponent,
1164
- double* result) {
1165
- DiyFp input;
1166
- int remaining_decimals;
1167
- ReadDiyFp(buffer, &input, &remaining_decimals);
1168
- const int kDenominatorLog = 3;
1169
- const int kDenominator = 1 << kDenominatorLog;
1170
- exponent += remaining_decimals;
1171
- uint64_t error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
1172
-
1173
- int old_e = input.e();
1174
- input.Normalize();
1175
- error <<= old_e - input.e();
1176
-
1177
- assert(exponent <= PowersOfTenCache::kMaxDecimalExponent);
1178
- if (exponent < PowersOfTenCache::kMinDecimalExponent) {
1179
- *result = 0.0;
1180
- return true;
1181
- }
1182
- DiyFp cached_power;
1183
- int cached_decimal_exponent;
1184
- PowersOfTenCache::GetCachedPowerForDecimalExponent(exponent,
1185
- &cached_power,
1186
- &cached_decimal_exponent);
1187
-
1188
- if (cached_decimal_exponent != exponent) {
1189
- int adjustment_exponent = exponent - cached_decimal_exponent;
1190
- DiyFp adjustment_power = AdjustmentPowerOfTen(adjustment_exponent);
1191
- input.Multiply(adjustment_power);
1192
- if (kMaxUint64DecimalDigits - buffer.length() >= adjustment_exponent) {
1193
- assert(DiyFp::kSignificandSize == 64);
1194
- } else {
1195
- error += kDenominator / 2;
1196
- }
1197
- }
1198
-
1199
- input.Multiply(cached_power);
1200
- int error_b = kDenominator / 2;
1201
- int error_ab = (error == 0 ? 0 : 1);
1202
- int fixed_error = kDenominator / 2;
1203
- error += error_b + error_ab + fixed_error;
1204
-
1205
- old_e = input.e();
1206
- input.Normalize();
1207
- error <<= old_e - input.e();
1208
-
1209
- int order_of_magnitude = DiyFp::kSignificandSize + input.e();
1210
- int effective_significand_size =
1211
- Double::SignificandSizeForOrderOfMagnitude(order_of_magnitude);
1212
- int precision_digits_count =
1213
- DiyFp::kSignificandSize - effective_significand_size;
1214
- if (precision_digits_count + kDenominatorLog >= DiyFp::kSignificandSize) {
1215
- int shift_amount = (precision_digits_count + kDenominatorLog) -
1216
- DiyFp::kSignificandSize + 1;
1217
- input.set_f(input.f() >> shift_amount);
1218
- input.set_e(input.e() + shift_amount);
1219
- error = (error >> shift_amount) + 1 + kDenominator;
1220
- precision_digits_count -= shift_amount;
1221
- }
1222
- assert(DiyFp::kSignificandSize == 64);
1223
- assert(precision_digits_count < 64);
1224
- uint64_t one64 = 1;
1225
- uint64_t precision_bits_mask = (one64 << precision_digits_count) - 1;
1226
- uint64_t precision_bits = input.f() & precision_bits_mask;
1227
- uint64_t half_way = one64 << (precision_digits_count - 1);
1228
- precision_bits *= kDenominator;
1229
- half_way *= kDenominator;
1230
- DiyFp rounded_input(input.f() >> precision_digits_count,
1231
- input.e() + precision_digits_count);
1232
- if (precision_bits >= half_way + error) {
1233
- rounded_input.set_f(rounded_input.f() + 1);
1234
- }
1235
- *result = Double(rounded_input).value();
1236
- if (half_way - error < precision_bits && precision_bits < half_way + error) {
1237
- return false;
1238
- } else {
1239
- return true;
1240
- }
1241
- }
1242
-
1243
- inline int CompareBufferWithDiyFp(Vector<const char> buffer,
1244
- int exponent,
1245
- DiyFp diy_fp) {
1246
- assert(buffer.length() + exponent <= kMaxDecimalPower + 1);
1247
- assert(buffer.length() + exponent > kMinDecimalPower);
1248
- assert(buffer.length() <= kMaxSignificantDecimalDigits);
1249
- assert(((kMaxDecimalPower + 1) * 333 / 100) < Bignum::kMaxSignificantBits);
1250
- Bignum buffer_bignum;
1251
- Bignum diy_fp_bignum;
1252
- buffer_bignum.AssignDecimalString(buffer);
1253
- diy_fp_bignum.AssignUInt64(diy_fp.f());
1254
- if (exponent >= 0) {
1255
- buffer_bignum.MultiplyByPowerOfTen(exponent);
1256
- } else {
1257
- diy_fp_bignum.MultiplyByPowerOfTen(-exponent);
1258
- }
1259
- if (diy_fp.e() > 0) {
1260
- diy_fp_bignum.ShiftLeft(diy_fp.e());
1261
- } else {
1262
- buffer_bignum.ShiftLeft(-diy_fp.e());
1263
- }
1264
- return Bignum::Compare(buffer_bignum, diy_fp_bignum);
1265
- }
1266
-
1267
- inline bool ComputeGuess(Vector<const char> trimmed, int exponent,
1268
- double* guess) {
1269
- if (trimmed.length() == 0) {
1270
- *guess = 0.0;
1271
- return true;
1272
- }
1273
- if (exponent + trimmed.length() - 1 >= kMaxDecimalPower) {
1274
- *guess = Double::Infinity();
1275
- return true;
1276
- }
1277
- if (exponent + trimmed.length() <= kMinDecimalPower) {
1278
- *guess = 0.0;
1279
- return true;
1280
- }
1281
-
1282
- if (DoubleStrtod(trimmed, exponent, guess) ||
1283
- DiyFpStrtod(trimmed, exponent, guess)) {
1284
- return true;
1285
- }
1286
- if (*guess == Double::Infinity()) {
1287
- return true;
1288
- }
1289
- return false;
1290
- }
1291
-
1292
- inline double Strtod( Vector< const char > buffer, int exponent )
1293
- {
1294
- double guess;
1295
- if (ComputeGuess(buffer, exponent, &guess)) {
1296
- return guess;
1297
- }
1298
- DiyFp upper_boundary = Double(guess).UpperBoundary();
1299
- int comparison = CompareBufferWithDiyFp(buffer, exponent, upper_boundary);
1300
- if (comparison < 0) {
1301
- return guess;
1302
- } else if (comparison > 0) {
1303
- return Double(guess).NextDouble();
1304
- } else if ((Double(guess).Significand() & 1) == 0) {
1305
- return guess;
1306
- } else {
1307
- return Double(guess).NextDouble();
1308
- }
1309
- }
1310
-
1311
- } // namespace tao::json::double_conversion
1312
-
1313
- #endif