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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,54 +0,0 @@
1
- // Copyright (c) 2014-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_READ_INPUT_HPP
5
- #define TAO_JSON_PEGTL_READ_INPUT_HPP
6
-
7
- #include <filesystem>
8
- #include <string>
9
-
10
- #include "config.hpp"
11
- #include "eol.hpp"
12
- #include "string_input.hpp"
13
- #include "tracking_mode.hpp"
14
-
15
- #include "internal/file_reader.hpp"
16
- #include "internal/path_to_string.hpp"
17
-
18
- namespace TAO_JSON_PEGTL_NAMESPACE
19
- {
20
- template< tracking_mode P = tracking_mode::eager, typename Eol = eol::lf_crlf >
21
- struct read_input
22
- : string_input< P, Eol >
23
- {
24
- read_input( const std::filesystem::path& path, const std::string& source )
25
- : string_input< P, Eol >( internal::file_reader( path ).read(), source )
26
- {}
27
-
28
- explicit read_input( const std::filesystem::path& path )
29
- : read_input( path, internal::path_to_string( path ) )
30
- {}
31
-
32
- read_input( FILE* file, const std::filesystem::path& path, const std::string& source )
33
- : string_input< P, Eol >( internal::file_reader( file, path ).read(), source )
34
- {}
35
-
36
- read_input( FILE* file, const std::filesystem::path& path )
37
- : read_input( file, path, internal::path_to_string( path ) )
38
- {}
39
-
40
- read_input( const read_input& ) = delete;
41
- read_input( read_input&& ) = delete;
42
-
43
- ~read_input() = default;
44
-
45
- void operator=( const read_input& ) = delete;
46
- void operator=( read_input&& ) = delete;
47
- };
48
-
49
- template< typename... Ts >
50
- explicit read_input( Ts&&... ) -> read_input<>;
51
-
52
- } // namespace TAO_JSON_PEGTL_NAMESPACE
53
-
54
- #endif
@@ -1,16 +0,0 @@
1
- // Copyright (c) 2019-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_REQUIRE_APPLY_HPP
5
- #define TAO_JSON_PEGTL_REQUIRE_APPLY_HPP
6
-
7
- #include "config.hpp"
8
-
9
- namespace TAO_JSON_PEGTL_NAMESPACE
10
- {
11
- struct require_apply
12
- {};
13
-
14
- } // namespace TAO_JSON_PEGTL_NAMESPACE
15
-
16
- #endif
@@ -1,16 +0,0 @@
1
- // Copyright (c) 2019-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_REQUIRE_APPLY0_HPP
5
- #define TAO_JSON_PEGTL_REQUIRE_APPLY0_HPP
6
-
7
- #include "config.hpp"
8
-
9
- namespace TAO_JSON_PEGTL_NAMESPACE
10
- {
11
- struct require_apply0
12
- {};
13
-
14
- } // namespace TAO_JSON_PEGTL_NAMESPACE
15
-
16
- #endif
@@ -1,20 +0,0 @@
1
- // Copyright (c) 2016-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_REWIND_MODE_HPP
5
- #define TAO_JSON_PEGTL_REWIND_MODE_HPP
6
-
7
- #include "config.hpp"
8
-
9
- namespace TAO_JSON_PEGTL_NAMESPACE
10
- {
11
- enum class rewind_mode : char
12
- {
13
- active,
14
- required,
15
- dontcare
16
- };
17
-
18
- } // namespace TAO_JSON_PEGTL_NAMESPACE
19
-
20
- #endif
@@ -1,68 +0,0 @@
1
- // Copyright (c) 2014-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_RULES_HPP
5
- #define TAO_JSON_PEGTL_RULES_HPP
6
-
7
- #include "config.hpp"
8
- #include "parse_error.hpp"
9
-
10
- #include "internal/rules.hpp"
11
-
12
- namespace TAO_JSON_PEGTL_NAMESPACE
13
- {
14
- // clang-format off
15
- template< template< typename... > class Action, typename... Rules > struct action : internal::action< Action, Rules... > {};
16
- template< typename... Actions > struct apply : internal::apply< Actions... > {};
17
- template< typename... Actions > struct apply0 : internal::apply0< Actions... > {};
18
- template< typename... Rules > struct at : internal::at< Rules... > {};
19
- struct bof : internal::bof {};
20
- struct bol : internal::bol {};
21
- template< unsigned Num > struct bytes : internal::bytes< Num > {};
22
- template< template< typename... > class Control, typename... Rules > struct control : internal::control< Control, Rules... > {};
23
- template< typename... Rules > struct disable : internal::disable< Rules... > {};
24
- struct discard : internal::discard {};
25
- template< typename... Rules > struct enable : internal::enable< Rules... > {};
26
- struct eof : internal::eof {};
27
- struct eolf : internal::eolf {};
28
- struct failure : internal::failure {};
29
- template< typename Rule, typename... Actions > struct if_apply : internal::if_apply< Rule, Actions... > {};
30
- template< typename Cond, typename... Thens > struct if_must : internal::if_must< false, Cond, Thens... > {};
31
- template< typename Cond, typename Then, typename Else > struct if_must_else : internal::if_must_else< Cond, Then, Else > {};
32
- template< typename Cond, typename Then, typename Else > struct if_then_else : internal::if_then_else< Cond, Then, Else > {};
33
- template< typename Rule, typename Sep, typename Pad = void > struct list : internal::list< Rule, internal::pad< Sep, Pad > > {};
34
- template< typename Rule, typename Sep > struct list< Rule, Sep, void > : internal::list< Rule, Sep > {};
35
- template< typename Rule, typename Sep, typename Pad = void > struct list_must : internal::list_must< Rule, internal::pad< Sep, Pad > > {};
36
- template< typename Rule, typename Sep > struct list_must< Rule, Sep, void > : internal::list_must< Rule, Sep > {};
37
- template< typename Rule, typename Sep, typename Pad = void > struct list_tail : internal::list_tail_pad< Rule, Sep, Pad > {};
38
- template< typename Rule, typename Sep > struct list_tail< Rule, Sep, void > : internal::list_tail< Rule, Sep > {};
39
- template< typename M, typename S > struct minus : internal::minus< M, S > {};
40
- template< typename... Rules > struct must : internal::must< Rules... > {};
41
- template< typename... Rules > struct not_at : internal::not_at< Rules... > {};
42
- template< typename... Rules > struct opt : internal::opt< Rules... > {};
43
- template< typename Cond, typename... Rules > struct opt_must : internal::if_must< true, Cond, Rules... > {};
44
- template< typename Rule, typename Pad1, typename Pad2 = Pad1 > struct pad : internal::pad< Rule, Pad1, Pad2 > {};
45
- template< typename Rule, typename Pad > struct pad_opt : internal::pad_opt< Rule, Pad > {};
46
- template< typename Rule, typename... Rules > struct plus : internal::plus< Rule, Rules... > {};
47
- template< typename Exception > struct raise : internal::raise< Exception > {};
48
- template< typename Head, typename... Rules > struct rematch : internal::rematch< Head, Rules... > {};
49
- template< unsigned Num, typename... Rules > struct rep : internal::rep< Num, Rules... > {};
50
- template< unsigned Max, typename... Rules > struct rep_max : internal::rep_min_max< 0, Max, Rules... > {};
51
- template< unsigned Min, typename Rule, typename... Rules > struct rep_min : internal::rep_min< Min, Rule, Rules... > {};
52
- template< unsigned Min, unsigned Max, typename... Rules > struct rep_min_max : internal::rep_min_max< Min, Max, Rules... > {};
53
- template< unsigned Max, typename... Rules > struct rep_opt : internal::rep_opt< Max, Rules... > {};
54
- template< unsigned Amount > struct require : internal::require< Amount > {};
55
- template< typename... Rules > struct seq : internal::seq< Rules... > {};
56
- template< typename... Rules > struct sor : internal::sor< Rules... > {};
57
- template< typename Rule, typename... Rules > struct star : internal::star< Rule, Rules... > {};
58
- template< typename Cond, typename... Rules > struct star_must : internal::star_must< Cond, Rules... > {};
59
- template< typename State, typename... Rules > struct state : internal::state< State, Rules... > {};
60
- struct success : internal::success {};
61
- template< typename... Rules > struct try_catch : internal::try_catch_type< parse_error, Rules... > {};
62
- template< typename Exception, typename... Rules > struct try_catch_type : internal::seq< internal::try_catch_type< Exception, Rules... > > {};
63
- template< typename Cond, typename... Rules > struct until : internal::until< Cond, Rules... > {};
64
- // clang-format on
65
-
66
- } // namespace TAO_JSON_PEGTL_NAMESPACE
67
-
68
- #endif
@@ -1,64 +0,0 @@
1
- // Copyright (c) 2014-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_STRING_INPUT_HPP
5
- #define TAO_JSON_PEGTL_STRING_INPUT_HPP
6
-
7
- #include <string>
8
- #include <utility>
9
-
10
- #include "config.hpp"
11
- #include "eol.hpp"
12
- #include "memory_input.hpp"
13
- #include "tracking_mode.hpp"
14
-
15
- namespace TAO_JSON_PEGTL_NAMESPACE
16
- {
17
- namespace internal
18
- {
19
- struct string_holder
20
- {
21
- const std::string data;
22
-
23
- template< typename T >
24
- explicit string_holder( T&& in_data )
25
- : data( std::forward< T >( in_data ) )
26
- {}
27
-
28
- string_holder( const string_holder& ) = delete;
29
- string_holder( string_holder&& ) = delete;
30
-
31
- ~string_holder() = default;
32
-
33
- void operator=( const string_holder& ) = delete;
34
- void operator=( string_holder&& ) = delete;
35
- };
36
-
37
- } // namespace internal
38
-
39
- template< tracking_mode P = tracking_mode::eager, typename Eol = eol::lf_crlf, typename Source = std::string >
40
- struct string_input
41
- : private internal::string_holder,
42
- public memory_input< P, Eol, Source >
43
- {
44
- template< typename V, typename T, typename... Ts >
45
- explicit string_input( V&& in_data, T&& in_source, Ts&&... ts )
46
- : internal::string_holder( std::forward< V >( in_data ) ),
47
- memory_input< P, Eol, Source >( data.data(), data.size(), std::forward< T >( in_source ), std::forward< Ts >( ts )... )
48
- {}
49
-
50
- string_input( const string_input& ) = delete;
51
- string_input( string_input&& ) = delete;
52
-
53
- ~string_input() = default;
54
-
55
- void operator=( const string_input& ) = delete;
56
- void operator=( string_input&& ) = delete;
57
- };
58
-
59
- template< typename... Ts >
60
- explicit string_input( Ts&&... ) -> string_input<>;
61
-
62
- } // namespace TAO_JSON_PEGTL_NAMESPACE
63
-
64
- #endif
@@ -1,19 +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/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_TRACKING_MODE_HPP
5
- #define TAO_JSON_PEGTL_TRACKING_MODE_HPP
6
-
7
- #include "config.hpp"
8
-
9
- namespace TAO_JSON_PEGTL_NAMESPACE
10
- {
11
- enum class tracking_mode : bool
12
- {
13
- eager,
14
- lazy
15
- };
16
-
17
- } // namespace TAO_JSON_PEGTL_NAMESPACE
18
-
19
- #endif
@@ -1,46 +0,0 @@
1
- // Copyright (c) 2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_TYPE_LIST_HPP
5
- #define TAO_JSON_PEGTL_TYPE_LIST_HPP
6
-
7
- #include <cstddef>
8
-
9
- #include "config.hpp"
10
-
11
- namespace TAO_JSON_PEGTL_NAMESPACE
12
- {
13
- template< typename... Ts >
14
- struct type_list
15
- {
16
- static constexpr std::size_t size = sizeof...( Ts );
17
- };
18
-
19
- using empty_list = type_list<>;
20
-
21
- template< typename... >
22
- struct type_list_concat;
23
-
24
- template<>
25
- struct type_list_concat<>
26
- {
27
- using type = empty_list;
28
- };
29
-
30
- template< typename... Ts >
31
- struct type_list_concat< type_list< Ts... > >
32
- {
33
- using type = type_list< Ts... >;
34
- };
35
-
36
- template< typename... T0s, typename... T1s, typename... Ts >
37
- struct type_list_concat< type_list< T0s... >, type_list< T1s... >, Ts... >
38
- : type_list_concat< type_list< T0s..., T1s... >, Ts... >
39
- {};
40
-
41
- template< typename... Ts >
42
- using type_list_concat_t = typename type_list_concat< Ts... >::type;
43
-
44
- } // namespace TAO_JSON_PEGTL_NAMESPACE
45
-
46
- #endif
@@ -1,28 +0,0 @@
1
- // Copyright (c) 2014-2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_UTF8_HPP
5
- #define TAO_JSON_PEGTL_UTF8_HPP
6
-
7
- #include "config.hpp"
8
-
9
- #include "internal/peek_utf8.hpp"
10
- #include "internal/result_on_found.hpp"
11
- #include "internal/rules.hpp"
12
-
13
- namespace TAO_JSON_PEGTL_NAMESPACE::utf8
14
- {
15
- // clang-format off
16
- struct any : internal::any< internal::peek_utf8 > {};
17
- struct bom : internal::one< internal::result_on_found::success, internal::peek_utf8, 0xfeff > {};
18
- template< char32_t... Cs > struct not_one : internal::one< internal::result_on_found::failure, internal::peek_utf8, Cs... > {};
19
- template< char32_t Lo, char32_t Hi > struct not_range : internal::range< internal::result_on_found::failure, internal::peek_utf8, Lo, Hi > {};
20
- template< char32_t... Cs > struct one : internal::one< internal::result_on_found::success, internal::peek_utf8, Cs... > {};
21
- template< char32_t Lo, char32_t Hi > struct range : internal::range< internal::result_on_found::success, internal::peek_utf8, Lo, Hi > {};
22
- template< char32_t... Cs > struct ranges : internal::ranges< internal::peek_utf8, Cs... > {};
23
- template< char32_t... Cs > struct string : internal::seq< internal::one< internal::result_on_found::success, internal::peek_utf8, Cs >... > {};
24
- // clang-format on
25
-
26
- } // namespace TAO_JSON_PEGTL_NAMESPACE::utf8
27
-
28
- #endif
@@ -1,13 +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/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_VERSION_HPP
5
- #define TAO_JSON_PEGTL_VERSION_HPP
6
-
7
- #define TAO_JSON_PEGTL_VERSION "3.0.0"
8
-
9
- #define TAO_JSON_PEGTL_VERSION_MAJOR 3
10
- #define TAO_JSON_PEGTL_VERSION_MINOR 0
11
- #define TAO_JSON_PEGTL_VERSION_PATCH 0
12
-
13
- #endif
@@ -1,66 +0,0 @@
1
- // Copyright (c) 2020 Dr. Colin Hirsch and Daniel Frey
2
- // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
-
4
- #ifndef TAO_JSON_PEGTL_VISIT_HPP
5
- #define TAO_JSON_PEGTL_VISIT_HPP
6
-
7
- #include <type_traits>
8
-
9
- #include "config.hpp"
10
- #include "type_list.hpp"
11
-
12
- namespace TAO_JSON_PEGTL_NAMESPACE
13
- {
14
- namespace internal
15
- {
16
- template< typename Type, typename... Types >
17
- inline constexpr bool contains = ( std::is_same_v< Type, Types > || ... );
18
-
19
- template< typename Rules, typename Todo, typename Done >
20
- struct filter
21
- {
22
- using type = Todo;
23
- };
24
-
25
- template< typename Rule, typename... Rules, typename... Todo, typename... Done >
26
- struct filter< type_list< Rule, Rules... >, type_list< Todo... >, type_list< Done... > >
27
- : filter< type_list< Rules... >, std::conditional_t< contains< Rule, Todo..., Done... >, type_list< Todo... >, type_list< Rule, Todo... > >, type_list< Done... > >
28
- {};
29
-
30
- template< typename Rules, typename Todo, typename Done >
31
- using filter_t = typename filter< Rules, Todo, Done >::type;
32
-
33
- template< template< typename... > class Func, typename Done, typename... Rules >
34
- struct visitor
35
- {
36
- template< typename... Args >
37
- static void visit( Args&&... args )
38
- {
39
- ( Func< Rules >::visit( args... ), ... );
40
- using NextDone = type_list_concat_t< type_list< Rules... >, Done >;
41
- using NextSubs = type_list_concat_t< typename Rules::subs_t... >;
42
- using NextTodo = filter_t< NextSubs, empty_list, NextDone >;
43
- if constexpr( !std::is_same_v< NextTodo, empty_list > ) {
44
- visit_next< NextDone >( NextTodo(), args... );
45
- }
46
- }
47
-
48
- private:
49
- template< typename NextDone, typename... NextTodo, typename... Args >
50
- static void visit_next( type_list< NextTodo... > /*unused*/, Args&&... args )
51
- {
52
- visitor< Func, NextDone, NextTodo... >::visit( args... );
53
- }
54
- };
55
-
56
- } // namespace internal
57
-
58
- template< typename Rule, template< typename... > class Func, typename... Args >
59
- void visit( Args&&... args )
60
- {
61
- internal::visitor< Func, empty_list, Rule >::visit( args... );
62
- }
63
-
64
- } // namespace TAO_JSON_PEGTL_NAMESPACE
65
-
66
- #endif
@@ -1,1216 +0,0 @@
1
- // This header include/tao/json/external/ryu.hpp contains
2
- // modified portions of the ulfjack/ryu library from
3
- // https://github.com/ulfjack/ryu
4
- // which is licensed as follows:
5
-
6
- // Copyright 2018 Ulf Adams
7
- //
8
- // The contents of this file may be used under the terms of the Apache License,
9
- // Version 2.0.
10
- //
11
- // (See accompanying file LICENSE-Apache or copy at
12
- // http://www.apache.org/licenses/LICENSE-2.0)
13
- //
14
- // Alternatively, the contents of this file may be used under the terms of
15
- // the Boost Software License, Version 1.0.
16
- // (See accompanying file LICENSE-Boost or copy at
17
- // https://www.boost.org/LICENSE_1_0.txt)
18
- //
19
- // Unless required by applicable law or agreed to in writing, this software
20
- // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
- // KIND, either express or implied.
22
-
23
- #ifndef TAO_JSON_EXTERNAL_RYU_HPP
24
- #define TAO_JSON_EXTERNAL_RYU_HPP
25
-
26
- // Runtime compiler options:
27
- // -DRYU_ONLY_64_BIT_OPS Avoid using uint128_t or 64-bit intrinsics. Slower,
28
- // depending on your compiler.
29
- //
30
-
31
- // ABSL avoids uint128_t on Win32 even if __SIZEOF_INT128__ is defined.
32
- // Let's do the same for now.
33
- #if defined( __SIZEOF_INT128__ ) && !defined( _MSC_VER ) && !defined( RYU_ONLY_64_BIT_OPS )
34
- #define HAS_UINT128
35
- #elif defined( _MSC_VER ) && !defined( RYU_ONLY_64_BIT_OPS ) && defined( _M_X64 ) && !defined( __clang__ ) // https://bugs.llvm.org/show_bug.cgi?id=37755
36
- #define HAS_64_BIT_INTRINSICS
37
- #include <intrin.h>
38
- #endif
39
-
40
- #include <cassert>
41
- #include <cstdint>
42
- #include <cstdlib>
43
- #include <cstring>
44
-
45
- #include "itoa.hpp"
46
-
47
- namespace tao::json::ryu
48
- {
49
- // Returns e == 0 ? 1 : ceil(log_2(5^e)).
50
- inline uint32_t pow5bits( const std::int32_t e )
51
- {
52
- // This function has only been tested for 0 <= e <= 1500.
53
- assert( e >= 0 );
54
- assert( e <= 1500 );
55
- return ( ( std::uint32_t( e ) * 1217359 ) >> 19 ) + 1;
56
- }
57
-
58
- // Returns floor(log_10(2^e)).
59
- inline std::int32_t log10Pow2( const std::int32_t e )
60
- {
61
- // This function has only been tested for 0 <= e <= 1500.
62
- assert( e >= 0 );
63
- assert( e <= 1500 );
64
- return std::int32_t( ( uint32_t( e ) * 78913 ) >> 18 );
65
- }
66
-
67
- // Returns floor(log_10(5^e)).
68
- inline std::int32_t log10Pow5( const std::int32_t e )
69
- {
70
- // This function has only been tested for 0 <= e <= 1500.
71
- assert( e >= 0 );
72
- assert( e <= 1500 );
73
- return std::int32_t( ( std::uint32_t( e ) * 732923 ) >> 20 );
74
- }
75
-
76
- #if defined( HAS_UINT128 )
77
-
78
- using uint128_t = __uint128_t;
79
-
80
- #elif defined( HAS_64_BIT_INTRINSICS )
81
-
82
- inline std::uint64_t umul128( const std::uint64_t a, const std::uint64_t b, std::uint64_t& productHi )
83
- {
84
- return _umul128( a, b, &productHi );
85
- }
86
-
87
- inline std::uint64_t shiftright128( const std::uint64_t lo, const std::uint64_t hi, const std::uint32_t dist )
88
- {
89
- // For the __shiftright128 intrinsic, the shift value is always
90
- // modulo 64.
91
- // In the current implementation of the double-precision version
92
- // of Ryu, the shift value is always < 64. (In the case
93
- // RYU_OPTIMIZE_SIZE == 0, the shift value is in the range [50,58].
94
- // Otherwise in the range [2,59].)
95
- // Check this here in case a future change requires larger shift
96
- // values. In this case this function needs to be adjusted.
97
- assert( dist < 64 );
98
- return __shiftright128( lo, hi, std::uint8_t( dist ) );
99
- }
100
-
101
- #else
102
-
103
- static inline std::uint64_t umul128( const std::uint64_t a, const std::uint64_t b, std::uint64_t& productHi )
104
- {
105
- // The casts here help MSVC to avoid calls to the __allmul library function.
106
- const std::uint32_t aLo = (std::uint32_t)a;
107
- const std::uint32_t aHi = ( std::uint32_t )( a >> 32 );
108
- const std::uint32_t bLo = (std::uint32_t)b;
109
- const std::uint32_t bHi = ( std::uint32_t )( b >> 32 );
110
-
111
- const std::uint64_t b00 = (std::uint64_t)aLo * bLo;
112
- const std::uint64_t b01 = (std::uint64_t)aLo * bHi;
113
- const std::uint64_t b10 = (std::uint64_t)aHi * bLo;
114
- const std::uint64_t b11 = (std::uint64_t)aHi * bHi;
115
-
116
- const std::uint64_t midSum = b01 + b10;
117
- const std::uint64_t midCarry = midSum < b01;
118
-
119
- const std::uint64_t productLo = b00 + ( midSum << 32 );
120
- const std::uint64_t productLoCarry = productLo < b00;
121
-
122
- productHi = b11 + ( midSum >> 32 ) + ( midCarry << 32 ) + productLoCarry;
123
- return productLo;
124
- }
125
-
126
- static inline std::uint64_t shiftright128( const std::uint64_t lo, const std::uint64_t hi, const std::uint32_t dist )
127
- {
128
- // We don't need to handle the case dist >= 64 here (see above).
129
- assert( dist > 0 );
130
- assert( dist < 64 );
131
- return ( hi << ( 64 - dist ) ) | ( lo >> dist );
132
- }
133
-
134
- #endif
135
-
136
- // A table of all two-digit numbers. This is used to speed up decimal digit
137
- // generation by copying pairs of digits into the final output.
138
- // static const char digit_table[ 200 ] = {
139
- // '0', '0', '0', '1', '0', '2', '0', '3', '0', '4', '0', '5', '0', '6', '0', '7', '0', '8', '0', '9', '1', '0', '1', '1', '1', '2', '1', '3', '1', '4', '1', '5', '1', '6', '1', '7', '1', '8', '1', '9', '2', '0', '2', '1', '2', '2', '2', '3', '2', '4', '2', '5', '2', '6', '2', '7', '2', '8', '2', '9', '3', '0', '3', '1', '3', '2', '3', '3', '3', '4', '3', '5', '3', '6', '3', '7', '3', '8', '3', '9', '4', '0', '4', '1', '4', '2', '4', '3', '4', '4', '4', '5', '4', '6', '4', '7', '4', '8', '4', '9', '5', '0', '5', '1', '5', '2', '5', '3', '5', '4', '5', '5', '5', '6', '5', '7', '5', '8', '5', '9', '6', '0', '6', '1', '6', '2', '6', '3', '6', '4', '6', '5', '6', '6', '6', '7', '6', '8', '6', '9', '7', '0', '7', '1', '7', '2', '7', '3', '7', '4', '7', '5', '7', '6', '7', '7', '7', '8', '7', '9', '8', '0', '8', '1', '8', '2', '8', '3', '8', '4', '8', '5', '8', '6', '8', '7', '8', '8', '8', '9', '9', '0', '9', '1', '9', '2', '9', '3', '9', '4', '9', '5', '9', '6', '9', '7', '9', '8', '9', '9'
140
- // };
141
- // NOTE: Now uses itoa::s_pairs to prevent having the same data twice.
142
-
143
- // These tables are generated by PrintDoubleLookupTable.
144
- static const std::uint64_t pow5_inv_split[ 292 ][ 2 ] = {
145
- { 1u, 288230376151711744u },
146
- { 3689348814741910324u, 230584300921369395u },
147
- { 2951479051793528259u, 184467440737095516u },
148
- { 17118578500402463900u, 147573952589676412u },
149
- { 12632330341676300947u, 236118324143482260u },
150
- { 10105864273341040758u, 188894659314785808u },
151
- { 15463389048156653253u, 151115727451828646u },
152
- { 17362724847566824558u, 241785163922925834u },
153
- { 17579528692795369969u, 193428131138340667u },
154
- { 6684925324752475329u, 154742504910672534u },
155
- { 18074578149087781173u, 247588007857076054u },
156
- { 18149011334012135262u, 198070406285660843u },
157
- { 3451162622983977240u, 158456325028528675u },
158
- { 5521860196774363583u, 253530120045645880u },
159
- { 4417488157419490867u, 202824096036516704u },
160
- { 7223339340677503017u, 162259276829213363u },
161
- { 7867994130342094503u, 259614842926741381u },
162
- { 2605046489531765280u, 207691874341393105u },
163
- { 2084037191625412224u, 166153499473114484u },
164
- { 10713157136084480204u, 265845599156983174u },
165
- { 12259874523609494487u, 212676479325586539u },
166
- { 13497248433629505913u, 170141183460469231u },
167
- { 14216899864323388813u, 272225893536750770u },
168
- { 11373519891458711051u, 217780714829400616u },
169
- { 5409467098425058518u, 174224571863520493u },
170
- { 4965798542738183305u, 278759314981632789u },
171
- { 7661987648932456967u, 223007451985306231u },
172
- { 2440241304404055250u, 178405961588244985u },
173
- { 3904386087046488400u, 285449538541191976u },
174
- { 17880904128604832013u, 228359630832953580u },
175
- { 14304723302883865611u, 182687704666362864u },
176
- { 15133127457049002812u, 146150163733090291u },
177
- { 16834306301794583852u, 233840261972944466u },
178
- { 9778096226693756759u, 187072209578355573u },
179
- { 15201174610838826053u, 149657767662684458u },
180
- { 2185786488890659746u, 239452428260295134u },
181
- { 5437978005854438120u, 191561942608236107u },
182
- { 15418428848909281466u, 153249554086588885u },
183
- { 6222742084545298729u, 245199286538542217u },
184
- { 16046240111861969953u, 196159429230833773u },
185
- { 1768945645263844993u, 156927543384667019u },
186
- { 10209010661905972635u, 251084069415467230u },
187
- { 8167208529524778108u, 200867255532373784u },
188
- { 10223115638361732810u, 160693804425899027u },
189
- { 1599589762411131202u, 257110087081438444u },
190
- { 4969020624670815285u, 205688069665150755u },
191
- { 3975216499736652228u, 164550455732120604u },
192
- { 13739044029062464211u, 263280729171392966u },
193
- { 7301886408508061046u, 210624583337114373u },
194
- { 13220206756290269483u, 168499666669691498u },
195
- { 17462981995322520850u, 269599466671506397u },
196
- { 6591687966774196033u, 215679573337205118u },
197
- { 12652048002903177473u, 172543658669764094u },
198
- { 9175230360419352987u, 276069853871622551u },
199
- { 3650835473593572067u, 220855883097298041u },
200
- { 17678063637842498946u, 176684706477838432u },
201
- { 13527506561580357021u, 282695530364541492u },
202
- { 3443307619780464970u, 226156424291633194u },
203
- { 6443994910566282300u, 180925139433306555u },
204
- { 5155195928453025840u, 144740111546645244u },
205
- { 15627011115008661990u, 231584178474632390u },
206
- { 12501608892006929592u, 185267342779705912u },
207
- { 2622589484121723027u, 148213874223764730u },
208
- { 4196143174594756843u, 237142198758023568u },
209
- { 10735612169159626121u, 189713759006418854u },
210
- { 12277838550069611220u, 151771007205135083u },
211
- { 15955192865369467629u, 242833611528216133u },
212
- { 1696107848069843133u, 194266889222572907u },
213
- { 12424932722681605476u, 155413511378058325u },
214
- { 1433148282581017146u, 248661618204893321u },
215
- { 15903913885032455010u, 198929294563914656u },
216
- { 9033782293284053685u, 159143435651131725u },
217
- { 14454051669254485895u, 254629497041810760u },
218
- { 11563241335403588716u, 203703597633448608u },
219
- { 16629290697806691620u, 162962878106758886u },
220
- { 781423413297334329u, 260740604970814219u },
221
- { 4314487545379777786u, 208592483976651375u },
222
- { 3451590036303822229u, 166873987181321100u },
223
- { 5522544058086115566u, 266998379490113760u },
224
- { 4418035246468892453u, 213598703592091008u },
225
- { 10913125826658934609u, 170878962873672806u },
226
- { 10082303693170474728u, 273406340597876490u },
227
- { 8065842954536379782u, 218725072478301192u },
228
- { 17520720807854834795u, 174980057982640953u },
229
- { 5897060404116273733u, 279968092772225526u },
230
- { 1028299508551108663u, 223974474217780421u },
231
- { 15580034865808528224u, 179179579374224336u },
232
- { 17549358155809824511u, 286687326998758938u },
233
- { 2971440080422128639u, 229349861599007151u },
234
- { 17134547323305344204u, 183479889279205720u },
235
- { 13707637858644275364u, 146783911423364576u },
236
- { 14553522944347019935u, 234854258277383322u },
237
- { 4264120725993795302u, 187883406621906658u },
238
- { 10789994210278856888u, 150306725297525326u },
239
- { 9885293106962350374u, 240490760476040522u },
240
- { 529536856086059653u, 192392608380832418u },
241
- { 7802327114352668369u, 153914086704665934u },
242
- { 1415676938738538420u, 246262538727465495u },
243
- { 1132541550990830736u, 197010030981972396u },
244
- { 15663428499760305882u, 157608024785577916u },
245
- { 17682787970132668764u, 252172839656924666u },
246
- { 10456881561364224688u, 201738271725539733u },
247
- { 15744202878575200397u, 161390617380431786u },
248
- { 17812026976236499989u, 258224987808690858u },
249
- { 3181575136763469022u, 206579990246952687u },
250
- { 13613306553636506187u, 165263992197562149u },
251
- { 10713244041592678929u, 264422387516099439u },
252
- { 12259944048016053467u, 211537910012879551u },
253
- { 6118606423670932450u, 169230328010303641u },
254
- { 2411072648389671274u, 270768524816485826u },
255
- { 16686253377679378312u, 216614819853188660u },
256
- { 13349002702143502650u, 173291855882550928u },
257
- { 17669055508687693916u, 277266969412081485u },
258
- { 14135244406950155133u, 221813575529665188u },
259
- { 240149081334393137u, 177450860423732151u },
260
- { 11452284974360759988u, 283921376677971441u },
261
- { 5472479164746697667u, 227137101342377153u },
262
- { 11756680961281178780u, 181709681073901722u },
263
- { 2026647139541122378u, 145367744859121378u },
264
- { 18000030682233437097u, 232588391774594204u },
265
- { 18089373360528660001u, 186070713419675363u },
266
- { 3403452244197197031u, 148856570735740291u },
267
- { 16513570034941246220u, 238170513177184465u },
268
- { 13210856027952996976u, 190536410541747572u },
269
- { 3189987192878576934u, 152429128433398058u },
270
- { 1414630693863812771u, 243886605493436893u },
271
- { 8510402184574870864u, 195109284394749514u },
272
- { 10497670562401807014u, 156087427515799611u },
273
- { 9417575270359070576u, 249739884025279378u },
274
- { 14912757845771077107u, 199791907220223502u },
275
- { 4551508647133041040u, 159833525776178802u },
276
- { 10971762650154775986u, 255733641241886083u },
277
- { 16156107749607641435u, 204586912993508866u },
278
- { 9235537384944202825u, 163669530394807093u },
279
- { 11087511001168814197u, 261871248631691349u },
280
- { 12559357615676961681u, 209496998905353079u },
281
- { 13736834907283479668u, 167597599124282463u },
282
- { 18289587036911657145u, 268156158598851941u },
283
- { 10942320814787415393u, 214524926879081553u },
284
- { 16132554281313752961u, 171619941503265242u },
285
- { 11054691591134363444u, 274591906405224388u },
286
- { 16222450902391311402u, 219673525124179510u },
287
- { 12977960721913049122u, 175738820099343608u },
288
- { 17075388340318968271u, 281182112158949773u },
289
- { 2592264228029443648u, 224945689727159819u },
290
- { 5763160197165465241u, 179956551781727855u },
291
- { 9221056315464744386u, 287930482850764568u },
292
- { 14755542681855616155u, 230344386280611654u },
293
- { 15493782960226403247u, 184275509024489323u },
294
- { 1326979923955391628u, 147420407219591459u },
295
- { 9501865507812447252u, 235872651551346334u },
296
- { 11290841220991868125u, 188698121241077067u },
297
- { 1653975347309673853u, 150958496992861654u },
298
- { 10025058185179298811u, 241533595188578646u },
299
- { 4330697733401528726u, 193226876150862917u },
300
- { 14532604630946953951u, 154581500920690333u },
301
- { 1116074521063664381u, 247330401473104534u },
302
- { 4582208431592841828u, 197864321178483627u },
303
- { 14733813189500004432u, 158291456942786901u },
304
- { 16195403473716186445u, 253266331108459042u },
305
- { 5577625149489128510u, 202613064886767234u },
306
- { 8151448934333213131u, 162090451909413787u },
307
- { 16731667109675051333u, 259344723055062059u },
308
- { 17074682502481951390u, 207475778444049647u },
309
- { 6281048372501740465u, 165980622755239718u },
310
- { 6360328581260874421u, 265568996408383549u },
311
- { 8777611679750609860u, 212455197126706839u },
312
- { 10711438158542398211u, 169964157701365471u },
313
- { 9759603424184016492u, 271942652322184754u },
314
- { 11497031554089123517u, 217554121857747803u },
315
- { 16576322872755119460u, 174043297486198242u },
316
- { 11764721337440549842u, 278469275977917188u },
317
- { 16790474699436260520u, 222775420782333750u },
318
- { 13432379759549008416u, 178220336625867000u },
319
- { 3045063541568861850u, 285152538601387201u },
320
- { 17193446092222730773u, 228122030881109760u },
321
- { 13754756873778184618u, 182497624704887808u },
322
- { 18382503128506368341u, 145998099763910246u },
323
- { 3586563302416817083u, 233596959622256395u },
324
- { 2869250641933453667u, 186877567697805116u },
325
- { 17052795772514404226u, 149502054158244092u },
326
- { 12527077977055405469u, 239203286653190548u },
327
- { 17400360011128145022u, 191362629322552438u },
328
- { 2852241564676785048u, 153090103458041951u },
329
- { 15631632947708587046u, 244944165532867121u },
330
- { 8815957543424959314u, 195955332426293697u },
331
- { 18120812478965698421u, 156764265941034957u },
332
- { 14235904707377476180u, 250822825505655932u },
333
- { 4010026136418160298u, 200658260404524746u },
334
- { 17965416168102169531u, 160526608323619796u },
335
- { 2919224165770098987u, 256842573317791675u },
336
- { 2335379332616079190u, 205474058654233340u },
337
- { 1868303466092863352u, 164379246923386672u },
338
- { 6678634360490491686u, 263006795077418675u },
339
- { 5342907488392393349u, 210405436061934940u },
340
- { 4274325990713914679u, 168324348849547952u },
341
- { 10528270399884173809u, 269318958159276723u },
342
- { 15801313949391159694u, 215455166527421378u },
343
- { 1573004715287196786u, 172364133221937103u },
344
- { 17274202803427156150u, 275782613155099364u },
345
- { 17508711057483635243u, 220626090524079491u },
346
- { 10317620031244997871u, 176500872419263593u },
347
- { 12818843235250086271u, 282401395870821749u },
348
- { 13944423402941979340u, 225921116696657399u },
349
- { 14844887537095493795u, 180736893357325919u },
350
- { 15565258844418305359u, 144589514685860735u },
351
- { 6457670077359736959u, 231343223497377177u },
352
- { 16234182506113520537u, 185074578797901741u },
353
- { 9297997190148906106u, 148059663038321393u },
354
- { 11187446689496339446u, 236895460861314229u },
355
- { 12639306166338981880u, 189516368689051383u },
356
- { 17490142562555006151u, 151613094951241106u },
357
- { 2158786396894637579u, 242580951921985771u },
358
- { 16484424376483351356u, 194064761537588616u },
359
- { 9498190686444770762u, 155251809230070893u },
360
- { 11507756283569722895u, 248402894768113429u },
361
- { 12895553841597688639u, 198722315814490743u },
362
- { 17695140702761971558u, 158977852651592594u },
363
- { 17244178680193423523u, 254364564242548151u },
364
- { 10105994129412828495u, 203491651394038521u },
365
- { 4395446488788352473u, 162793321115230817u },
366
- { 10722063196803274280u, 260469313784369307u },
367
- { 1198952927958798777u, 208375451027495446u },
368
- { 15716557601334680315u, 166700360821996356u },
369
- { 17767794532651667857u, 266720577315194170u },
370
- { 14214235626121334286u, 213376461852155336u },
371
- { 7682039686155157106u, 170701169481724269u },
372
- { 1223217053622520399u, 273121871170758831u },
373
- { 15735968901865657612u, 218497496936607064u },
374
- { 16278123936234436413u, 174797997549285651u },
375
- { 219556594781725998u, 279676796078857043u },
376
- { 7554342905309201445u, 223741436863085634u },
377
- { 9732823138989271479u, 178993149490468507u },
378
- { 815121763415193074u, 286389039184749612u },
379
- { 11720143854957885429u, 229111231347799689u },
380
- { 13065463898708218666u, 183288985078239751u },
381
- { 6763022304224664610u, 146631188062591801u },
382
- { 3442138057275642729u, 234609900900146882u },
383
- { 13821756890046245153u, 187687920720117505u },
384
- { 11057405512036996122u, 150150336576094004u },
385
- { 6623802375033462826u, 240240538521750407u },
386
- { 16367088344252501231u, 192192430817400325u },
387
- { 13093670675402000985u, 153753944653920260u },
388
- { 2503129006933649959u, 246006311446272417u },
389
- { 13070549649772650937u, 196805049157017933u },
390
- { 17835137349301941396u, 157444039325614346u },
391
- { 2710778055689733971u, 251910462920982955u },
392
- { 2168622444551787177u, 201528370336786364u },
393
- { 5424246770383340065u, 161222696269429091u },
394
- { 1300097203129523457u, 257956314031086546u },
395
- { 15797473021471260058u, 206365051224869236u },
396
- { 8948629602435097724u, 165092040979895389u },
397
- { 3249760919670425388u, 264147265567832623u },
398
- { 9978506365220160957u, 211317812454266098u },
399
- { 15361502721659949412u, 169054249963412878u },
400
- { 2442311466204457120u, 270486799941460606u },
401
- { 16711244431931206989u, 216389439953168484u },
402
- { 17058344360286875914u, 173111551962534787u },
403
- { 12535955717491360170u, 276978483140055660u },
404
- { 10028764573993088136u, 221582786512044528u },
405
- { 15401709288678291155u, 177266229209635622u },
406
- { 9885339602917624555u, 283625966735416996u },
407
- { 4218922867592189321u, 226900773388333597u },
408
- { 14443184738299482427u, 181520618710666877u },
409
- { 4175850161155765295u, 145216494968533502u },
410
- { 10370709072591134795u, 232346391949653603u },
411
- { 15675264887556728482u, 185877113559722882u },
412
- { 5161514280561562140u, 148701690847778306u },
413
- { 879725219414678777u, 237922705356445290u },
414
- { 703780175531743021u, 190338164285156232u },
415
- { 11631070584651125387u, 152270531428124985u },
416
- { 162968861732249003u, 243632850284999977u },
417
- { 11198421533611530172u, 194906280227999981u },
418
- { 5269388412147313814u, 155925024182399985u },
419
- { 8431021459435702103u, 249480038691839976u },
420
- { 3055468352806651359u, 199584030953471981u },
421
- { 17201769941212962380u, 159667224762777584u },
422
- { 16454785461715008838u, 255467559620444135u },
423
- { 13163828369372007071u, 204374047696355308u },
424
- { 17909760324981426303u, 163499238157084246u },
425
- { 2830174816776909822u, 261598781051334795u },
426
- { 2264139853421527858u, 209279024841067836u },
427
- { 16568707141704863579u, 167423219872854268u },
428
- { 4373838538276319787u, 267877151796566830u },
429
- { 3499070830621055830u, 214301721437253464u },
430
- { 6488605479238754987u, 171441377149802771u },
431
- { 3003071137298187333u, 274306203439684434u },
432
- { 6091805724580460189u, 219444962751747547u },
433
- { 15941491023890099121u, 175555970201398037u },
434
- { 10748990379256517301u, 280889552322236860u },
435
- { 8599192303405213841u, 224711641857789488u },
436
- { 14258051472207991719u, 179769313486231590u },
437
- };
438
-
439
- static const std::uint64_t pow5_split[ 326 ][ 2 ] = {
440
- { 0u, 72057594037927936u },
441
- { 0u, 90071992547409920u },
442
- { 0u, 112589990684262400u },
443
- { 0u, 140737488355328000u },
444
- { 0u, 87960930222080000u },
445
- { 0u, 109951162777600000u },
446
- { 0u, 137438953472000000u },
447
- { 0u, 85899345920000000u },
448
- { 0u, 107374182400000000u },
449
- { 0u, 134217728000000000u },
450
- { 0u, 83886080000000000u },
451
- { 0u, 104857600000000000u },
452
- { 0u, 131072000000000000u },
453
- { 0u, 81920000000000000u },
454
- { 0u, 102400000000000000u },
455
- { 0u, 128000000000000000u },
456
- { 0u, 80000000000000000u },
457
- { 0u, 100000000000000000u },
458
- { 0u, 125000000000000000u },
459
- { 0u, 78125000000000000u },
460
- { 0u, 97656250000000000u },
461
- { 0u, 122070312500000000u },
462
- { 0u, 76293945312500000u },
463
- { 0u, 95367431640625000u },
464
- { 0u, 119209289550781250u },
465
- { 4611686018427387904u, 74505805969238281u },
466
- { 10376293541461622784u, 93132257461547851u },
467
- { 8358680908399640576u, 116415321826934814u },
468
- { 612489549322387456u, 72759576141834259u },
469
- { 14600669991935148032u, 90949470177292823u },
470
- { 13639151471491547136u, 113686837721616029u },
471
- { 3213881284082270208u, 142108547152020037u },
472
- { 4314518811765112832u, 88817841970012523u },
473
- { 781462496279003136u, 111022302462515654u },
474
- { 10200200157203529728u, 138777878078144567u },
475
- { 13292654125893287936u, 86736173798840354u },
476
- { 7392445620511834112u, 108420217248550443u },
477
- { 4628871007212404736u, 135525271560688054u },
478
- { 16728102434789916672u, 84703294725430033u },
479
- { 7075069988205232128u, 105879118406787542u },
480
- { 18067209522111315968u, 132348898008484427u },
481
- { 8986162942105878528u, 82718061255302767u },
482
- { 6621017659204960256u, 103397576569128459u },
483
- { 3664586055578812416u, 129246970711410574u },
484
- { 16125424340018921472u, 80779356694631608u },
485
- { 1710036351314100224u, 100974195868289511u },
486
- { 15972603494424788992u, 126217744835361888u },
487
- { 9982877184015493120u, 78886090522101180u },
488
- { 12478596480019366400u, 98607613152626475u },
489
- { 10986559581596820096u, 123259516440783094u },
490
- { 2254913720070624656u, 77037197775489434u },
491
- { 12042014186943056628u, 96296497219361792u },
492
- { 15052517733678820785u, 120370621524202240u },
493
- { 9407823583549262990u, 75231638452626400u },
494
- { 11759779479436578738u, 94039548065783000u },
495
- { 14699724349295723422u, 117549435082228750u },
496
- { 4575641699882439235u, 73468396926392969u },
497
- { 10331238143280436948u, 91835496157991211u },
498
- { 8302361660673158281u, 114794370197489014u },
499
- { 1154580038986672043u, 143492962746861268u },
500
- { 9944984561221445835u, 89683101716788292u },
501
- { 12431230701526807293u, 112103877145985365u },
502
- { 1703980321626345405u, 140129846432481707u },
503
- { 17205888765512323542u, 87581154020301066u },
504
- { 12283988920035628619u, 109476442525376333u },
505
- { 1519928094762372062u, 136845553156720417u },
506
- { 12479170105294952299u, 85528470722950260u },
507
- { 15598962631618690374u, 106910588403687825u },
508
- { 5663645234241199255u, 133638235504609782u },
509
- { 17374836326682913246u, 83523897190381113u },
510
- { 7883487353071477846u, 104404871487976392u },
511
- { 9854359191339347308u, 130506089359970490u },
512
- { 10770660513014479971u, 81566305849981556u },
513
- { 13463325641268099964u, 101957882312476945u },
514
- { 2994098996302961243u, 127447352890596182u },
515
- { 15706369927971514489u, 79654595556622613u },
516
- { 5797904354682229399u, 99568244445778267u },
517
- { 2635694424925398845u, 124460305557222834u },
518
- { 6258995034005762182u, 77787690973264271u },
519
- { 3212057774079814824u, 97234613716580339u },
520
- { 17850130272881932242u, 121543267145725423u },
521
- { 18073860448192289507u, 75964541966078389u },
522
- { 8757267504958198172u, 94955677457597987u },
523
- { 6334898362770359811u, 118694596821997484u },
524
- { 13182683513586250689u, 74184123013748427u },
525
- { 11866668373555425458u, 92730153767185534u },
526
- { 5609963430089506015u, 115912692208981918u },
527
- { 17341285199088104971u, 72445432630613698u },
528
- { 12453234462005355406u, 90556790788267123u },
529
- { 10954857059079306353u, 113195988485333904u },
530
- { 13693571323849132942u, 141494985606667380u },
531
- { 17781854114260483896u, 88434366004167112u },
532
- { 3780573569116053255u, 110542957505208891u },
533
- { 114030942967678664u, 138178696881511114u },
534
- { 4682955357782187069u, 86361685550944446u },
535
- { 15077066234082509644u, 107952106938680557u },
536
- { 5011274737320973344u, 134940133673350697u },
537
- { 14661261756894078100u, 84337583545844185u },
538
- { 4491519140835433913u, 105421979432305232u },
539
- { 5614398926044292391u, 131777474290381540u },
540
- { 12732371365632458552u, 82360921431488462u },
541
- { 6692092170185797382u, 102951151789360578u },
542
- { 17588487249587022536u, 128688939736700722u },
543
- { 15604490549419276989u, 80430587335437951u },
544
- { 14893927168346708332u, 100538234169297439u },
545
- { 14005722942005997511u, 125672792711621799u },
546
- { 15671105866394830300u, 78545495444763624u },
547
- { 1142138259283986260u, 98181869305954531u },
548
- { 15262730879387146537u, 122727336632443163u },
549
- { 7233363790403272633u, 76704585395276977u },
550
- { 13653390756431478696u, 95880731744096221u },
551
- { 3231680390257184658u, 119850914680120277u },
552
- { 4325643253124434363u, 74906821675075173u },
553
- { 10018740084832930858u, 93633527093843966u },
554
- { 3300053069186387764u, 117041908867304958u },
555
- { 15897591223523656064u, 73151193042065598u },
556
- { 10648616992549794273u, 91438991302581998u },
557
- { 4087399203832467033u, 114298739128227498u },
558
- { 14332621041645359599u, 142873423910284372u },
559
- { 18181260187883125557u, 89295889943927732u },
560
- { 4279831161144355331u, 111619862429909666u },
561
- { 14573160988285219972u, 139524828037387082u },
562
- { 13719911636105650386u, 87203017523366926u },
563
- { 7926517508277287175u, 109003771904208658u },
564
- { 684774848491833161u, 136254714880260823u },
565
- { 7345513307948477581u, 85159196800163014u },
566
- { 18405263671790372785u, 106448996000203767u },
567
- { 18394893571310578077u, 133061245000254709u },
568
- { 13802651491282805250u, 83163278125159193u },
569
- { 3418256308821342851u, 103954097656448992u },
570
- { 4272820386026678563u, 129942622070561240u },
571
- { 2670512741266674102u, 81214138794100775u },
572
- { 17173198981865506339u, 101517673492625968u },
573
- { 3019754653622331308u, 126897091865782461u },
574
- { 4193189667727651020u, 79310682416114038u },
575
- { 14464859121514339583u, 99138353020142547u },
576
- { 13469387883465536574u, 123922941275178184u },
577
- { 8418367427165960359u, 77451838296986365u },
578
- { 15134645302384838353u, 96814797871232956u },
579
- { 471562554271496325u, 121018497339041196u },
580
- { 9518098633274461011u, 75636560836900747u },
581
- { 7285937273165688360u, 94545701046125934u },
582
- { 18330793628311886258u, 118182126307657417u },
583
- { 4539216990053847055u, 73863828942285886u },
584
- { 14897393274422084627u, 92329786177857357u },
585
- { 4786683537745442072u, 115412232722321697u },
586
- { 14520892257159371055u, 72132645451451060u },
587
- { 18151115321449213818u, 90165806814313825u },
588
- { 8853836096529353561u, 112707258517892282u },
589
- { 1843923083806916143u, 140884073147365353u },
590
- { 12681666973447792349u, 88052545717103345u },
591
- { 2017025661527576725u, 110065682146379182u },
592
- { 11744654113764246714u, 137582102682973977u },
593
- { 422879793461572340u, 85988814176858736u },
594
- { 528599741826965425u, 107486017721073420u },
595
- { 660749677283706782u, 134357522151341775u },
596
- { 7330497575943398595u, 83973451344588609u },
597
- { 13774807988356636147u, 104966814180735761u },
598
- { 3383451930163631472u, 131208517725919702u },
599
- { 15949715511634433382u, 82005323578699813u },
600
- { 6102086334260878016u, 102506654473374767u },
601
- { 3015921899398709616u, 128133318091718459u },
602
- { 18025852251620051174u, 80083323807324036u },
603
- { 4085571240815512351u, 100104154759155046u },
604
- { 14330336087874166247u, 125130193448943807u },
605
- { 15873989082562435760u, 78206370905589879u },
606
- { 15230800334775656796u, 97757963631987349u },
607
- { 5203442363187407284u, 122197454539984187u },
608
- { 946308467778435600u, 76373409087490117u },
609
- { 5794571603150432404u, 95466761359362646u },
610
- { 16466586540792816313u, 119333451699203307u },
611
- { 7985773578781816244u, 74583407312002067u },
612
- { 5370530955049882401u, 93229259140002584u },
613
- { 6713163693812353001u, 116536573925003230u },
614
- { 18030785363914884337u, 72835358703127018u },
615
- { 13315109668038829614u, 91044198378908773u },
616
- { 2808829029766373305u, 113805247973635967u },
617
- { 17346094342490130344u, 142256559967044958u },
618
- { 6229622945628943561u, 88910349979403099u },
619
- { 3175342663608791547u, 111137937474253874u },
620
- { 13192550366365765242u, 138922421842817342u },
621
- { 3633657960551215372u, 86826513651760839u },
622
- { 18377130505971182927u, 108533142064701048u },
623
- { 4524669058754427043u, 135666427580876311u },
624
- { 9745447189362598758u, 84791517238047694u },
625
- { 2958436949848472639u, 105989396547559618u },
626
- { 12921418224165366607u, 132486745684449522u },
627
- { 12687572408530742033u, 82804216052780951u },
628
- { 11247779492236039638u, 103505270065976189u },
629
- { 224666310012885835u, 129381587582470237u },
630
- { 2446259452971747599u, 80863492239043898u },
631
- { 12281196353069460307u, 101079365298804872u },
632
- { 15351495441336825384u, 126349206623506090u },
633
- { 14206370669262903769u, 78968254139691306u },
634
- { 8534591299723853903u, 98710317674614133u },
635
- { 15279925143082205283u, 123387897093267666u },
636
- { 14161639232853766206u, 77117435683292291u },
637
- { 13090363022639819853u, 96396794604115364u },
638
- { 16362953778299774816u, 120495993255144205u },
639
- { 12532689120651053212u, 75309995784465128u },
640
- { 15665861400813816515u, 94137494730581410u },
641
- { 10358954714162494836u, 117671868413226763u },
642
- { 4168503687137865320u, 73544917758266727u },
643
- { 598943590494943747u, 91931147197833409u },
644
- { 5360365506546067587u, 114913933997291761u },
645
- { 11312142901609972388u, 143642417496614701u },
646
- { 9375932322719926695u, 89776510935384188u },
647
- { 11719915403399908368u, 112220638669230235u },
648
- { 10038208235822497557u, 140275798336537794u },
649
- { 10885566165816448877u, 87672373960336121u },
650
- { 18218643725697949000u, 109590467450420151u },
651
- { 18161618638695048346u, 136988084313025189u },
652
- { 13656854658398099168u, 85617552695640743u },
653
- { 12459382304570236056u, 107021940869550929u },
654
- { 1739169825430631358u, 133777426086938662u },
655
- { 14922039196176308311u, 83610891304336663u },
656
- { 14040862976792997485u, 104513614130420829u },
657
- { 3716020665709083144u, 130642017663026037u },
658
- { 4628355925281870917u, 81651261039391273u },
659
- { 10397130925029726550u, 102064076299239091u },
660
- { 8384727637859770284u, 127580095374048864u },
661
- { 5240454773662356427u, 79737559608780540u },
662
- { 6550568467077945534u, 99671949510975675u },
663
- { 3576524565420044014u, 124589936888719594u },
664
- { 6847013871814915412u, 77868710555449746u },
665
- { 17782139376623420074u, 97335888194312182u },
666
- { 13004302183924499284u, 121669860242890228u },
667
- { 17351060901807587860u, 76043662651806392u },
668
- { 3242082053549933210u, 95054578314757991u },
669
- { 17887660622219580224u, 118818222893447488u },
670
- { 11179787888887237640u, 74261389308404680u },
671
- { 13974734861109047050u, 92826736635505850u },
672
- { 8245046539531533005u, 116033420794382313u },
673
- { 16682369133275677888u, 72520887996488945u },
674
- { 7017903361312433648u, 90651109995611182u },
675
- { 17995751238495317868u, 113313887494513977u },
676
- { 8659630992836983623u, 141642359368142472u },
677
- { 5412269370523114764u, 88526474605089045u },
678
- { 11377022731581281359u, 110658093256361306u },
679
- { 4997906377621825891u, 138322616570451633u },
680
- { 14652906532082110942u, 86451635356532270u },
681
- { 9092761128247862869u, 108064544195665338u },
682
- { 2142579373455052779u, 135080680244581673u },
683
- { 12868327154477877747u, 84425425152863545u },
684
- { 2250350887815183471u, 105531781441079432u },
685
- { 2812938609768979339u, 131914726801349290u },
686
- { 6369772649532999991u, 82446704250843306u },
687
- { 17185587848771025797u, 103058380313554132u },
688
- { 3035240737254230630u, 128822975391942666u },
689
- { 6508711479211282048u, 80514359619964166u },
690
- { 17359261385868878368u, 100642949524955207u },
691
- { 17087390713908710056u, 125803686906194009u },
692
- { 3762090168551861929u, 78627304316371256u },
693
- { 4702612710689827411u, 98284130395464070u },
694
- { 15101637925217060072u, 122855162994330087u },
695
- { 16356052730901744401u, 76784476871456304u },
696
- { 1998321839917628885u, 95980596089320381u },
697
- { 7109588318324424010u, 119975745111650476u },
698
- { 13666864735807540814u, 74984840694781547u },
699
- { 12471894901332038114u, 93731050868476934u },
700
- { 6366496589810271835u, 117163813585596168u },
701
- { 3979060368631419896u, 73227383490997605u },
702
- { 9585511479216662775u, 91534229363747006u },
703
- { 2758517312166052660u, 114417786704683758u },
704
- { 12671518677062341634u, 143022233380854697u },
705
- { 1002170145522881665u, 89388895863034186u },
706
- { 10476084718758377889u, 111736119828792732u },
707
- { 13095105898447972362u, 139670149785990915u },
708
- { 5878598177316288774u, 87293843616244322u },
709
- { 16571619758500136775u, 109117304520305402u },
710
- { 11491152661270395161u, 136396630650381753u },
711
- { 264441385652915120u, 85247894156488596u },
712
- { 330551732066143900u, 106559867695610745u },
713
- { 5024875683510067779u, 133199834619513431u },
714
- { 10058076329834874218u, 83249896637195894u },
715
- { 3349223375438816964u, 104062370796494868u },
716
- { 4186529219298521205u, 130077963495618585u },
717
- { 14145795808130045513u, 81298727184761615u },
718
- { 13070558741735168987u, 101623408980952019u },
719
- { 11726512408741573330u, 127029261226190024u },
720
- { 7329070255463483331u, 79393288266368765u },
721
- { 13773023837756742068u, 99241610332960956u },
722
- { 17216279797195927585u, 124052012916201195u },
723
- { 8454331864033760789u, 77532508072625747u },
724
- { 5956228811614813082u, 96915635090782184u },
725
- { 7445286014518516353u, 121144543863477730u },
726
- { 9264989777501460624u, 75715339914673581u },
727
- { 16192923240304213684u, 94644174893341976u },
728
- { 1794409976670715490u, 118305218616677471u },
729
- { 8039035263060279037u, 73940761635423419u },
730
- { 5437108060397960892u, 92425952044279274u },
731
- { 16019757112352226923u, 115532440055349092u },
732
- { 788976158365366019u, 72207775034593183u },
733
- { 14821278253238871236u, 90259718793241478u },
734
- { 9303225779693813237u, 112824648491551848u },
735
- { 11629032224617266546u, 141030810614439810u },
736
- { 11879831158813179495u, 88144256634024881u },
737
- { 1014730893234310657u, 110180320792531102u },
738
- { 10491785653397664129u, 137725400990663877u },
739
- { 8863209042587234033u, 86078375619164923u },
740
- { 6467325284806654637u, 107597969523956154u },
741
- { 17307528642863094104u, 134497461904945192u },
742
- { 10817205401789433815u, 84060913690590745u },
743
- { 18133192770664180173u, 105076142113238431u },
744
- { 18054804944902837312u, 131345177641548039u },
745
- { 18201782118205355176u, 82090736025967524u },
746
- { 4305483574047142354u, 102613420032459406u },
747
- { 14605226504413703751u, 128266775040574257u },
748
- { 2210737537617482988u, 80166734400358911u },
749
- { 16598479977304017447u, 100208418000448638u },
750
- { 11524727934775246001u, 125260522500560798u },
751
- { 2591268940807140847u, 78287826562850499u },
752
- { 17074144231291089770u, 97859783203563123u },
753
- { 16730994270686474309u, 122324729004453904u },
754
- { 10456871419179046443u, 76452955627783690u },
755
- { 3847717237119032246u, 95566194534729613u },
756
- { 9421332564826178211u, 119457743168412016u },
757
- { 5888332853016361382u, 74661089480257510u },
758
- { 16583788103125227536u, 93326361850321887u },
759
- { 16118049110479146516u, 116657952312902359u },
760
- { 16991309721690548428u, 72911220195563974u },
761
- { 12015765115258409727u, 91139025244454968u },
762
- { 15019706394073012159u, 113923781555568710u },
763
- { 9551260955736489391u, 142404726944460888u },
764
- { 5969538097335305869u, 89002954340288055u },
765
- { 2850236603241744433u, 111253692925360069u },
766
- };
767
-
768
- #define TAO_RYU_DOUBLE_MANTISSA_BITS 52
769
- #define TAO_RYU_DOUBLE_EXPONENT_BITS 11
770
-
771
- #define TAO_RYU_DOUBLE_POW5_INV_BITCOUNT 122
772
- #define TAO_RYU_DOUBLE_POW5_BITCOUNT 121
773
-
774
- inline std::int32_t pow5Factor( std::uint64_t value )
775
- {
776
- for( std::int32_t count = 0; value > 0; ++count ) {
777
- if( value % 5 != 0 ) {
778
- return count;
779
- }
780
- value /= 5;
781
- }
782
- return 0;
783
- }
784
-
785
- // Returns true if value is divisible by 5^p.
786
- inline bool multipleOfPowerOf5( const std::uint64_t value, const std::int32_t p )
787
- {
788
- // I tried a case distinction on p, but there was no performance difference.
789
- return pow5Factor( value ) >= p;
790
- }
791
-
792
- // We need a 64x128-bit multiplication and a subsequent 128-bit shift.
793
- // Multiplication:
794
- // The 64-bit factor is variable and passed in, the 128-bit factor comes
795
- // from a lookup table. We know that the 64-bit factor only has 55
796
- // significant bits (i.e., the 9 topmost bits are zeros). The 128-bit
797
- // factor only has 124 significant bits (i.e., the 4 topmost bits are
798
- // zeros).
799
- // Shift:
800
- // In principle, the multiplication result requires 55+124=179 bits to
801
- // represent. However, we then shift this value to the right by j, which is
802
- // at least j >= 115, so the result is guaranteed to fit into 179-115=64
803
- // bits. This means that we only need the topmost 64 significant bits of
804
- // the 64x128-bit multiplication.
805
- //
806
- // There are several ways to do this:
807
- // 1. Best case: the compiler exposes a 128-bit type.
808
- // We perform two 64x64-bit multiplications, add the higher 64 bits of the
809
- // lower result to the higher result, and shift by j-64 bits.
810
- //
811
- // We explicitly cast from 64-bit to 128-bit, so the compiler can tell
812
- // that these are only 64-bit inputs, and can map these to the best
813
- // possible sequence of assembly instructions.
814
- // x86-64 machines happen to have matching assembly instructions for
815
- // 64x64-bit multiplications and 128-bit shifts.
816
- //
817
- // 2. Second best case: the compiler exposes intrinsics for the x86-64 assembly
818
- // instructions mentioned in 1.
819
- //
820
- // 3. We only have 64x64 bit instructions that return the lower 64 bits of
821
- // the result, i.e., we have to use plain C.
822
- // Our inputs are less than the full width, so we have three options:
823
- // a. Ignore this fact and just implement the intrinsics manually.
824
- // b. Split both into 31-bit pieces, which guarantees no internal overflow,
825
- // but requires extra work upfront (unless we change the lookup table).
826
- // c. Split only the first factor into 31-bit pieces, which also guarantees
827
- // no internal overflow, but requires extra work since the intermediate
828
- // results are not perfectly aligned.
829
- #if defined( HAS_UINT128 )
830
-
831
- // Best case: use 128-bit type.
832
- inline std::uint64_t mulShift( const std::uint64_t m, const std::uint64_t* const mul, const std::int32_t j )
833
- {
834
- const uint128_t b0 = ( (uint128_t)m ) * mul[ 0 ];
835
- const uint128_t b2 = ( (uint128_t)m ) * mul[ 1 ];
836
- return ( std::uint64_t )( ( ( b0 >> 64 ) + b2 ) >> ( j - 64 ) );
837
- }
838
-
839
- inline std::uint64_t mulShiftAll( const std::uint64_t m, const std::uint64_t* const mul, const std::int32_t j, std::uint64_t* const vp, std::uint64_t* const vm, const std::uint32_t mmShift )
840
- {
841
- // m <<= 2;
842
- // uint128_t b0 = ((uint128_t) m) * mul[0]; // 0
843
- // uint128_t b2 = ((uint128_t) m) * mul[1]; // 64
844
- //
845
- // uint128_t hi = (b0 >> 64) + b2;
846
- // uint128_t lo = b0 & 0xffffffffffffffffull;
847
- // uint128_t factor = (((uint128_t) mul[1]) << 64) + mul[0];
848
- // uint128_t vpLo = lo + (factor << 1);
849
- // *vp = (uint64_t) ((hi + (vpLo >> 64)) >> (j - 64));
850
- // uint128_t vmLo = lo - (factor << mmShift);
851
- // *vm = (uint64_t) ((hi + (vmLo >> 64) - (((uint128_t) 1ull) << 64)) >> (j - 64));
852
- // return (uint64_t) (hi >> (j - 64));
853
- *vp = mulShift( 4 * m + 2, mul, j );
854
- *vm = mulShift( 4 * m - 1 - mmShift, mul, j );
855
- return mulShift( 4 * m, mul, j );
856
- }
857
-
858
- #elif defined( HAS_64_BIT_INTRINSICS )
859
-
860
- inline std::uint64_t mulShift( const std::uint64_t m, const std::uint64_t* const mul, const std::int32_t j )
861
- {
862
- // m is maximum 55 bits
863
- std::uint64_t high1; // 128
864
- const std::uint64_t low1 = umul128( m, mul[ 1 ], high1 ); // 64
865
- std::uint64_t high0; // 64
866
- umul128( m, mul[ 0 ], high0 ); // 0
867
- const std::uint64_t sum = high0 + low1;
868
- if( sum < high0 ) {
869
- ++high1; // overflow into high1
870
- }
871
- return shiftright128( sum, high1, j - 64 );
872
- }
873
-
874
- inline std::uint64_t mulShiftAll( const std::uint64_t m, const std::uint64_t* const mul, const std::int32_t j, std::uint64_t* const vp, std::uint64_t* const vm, const std::uint32_t mmShift )
875
- {
876
- *vp = mulShift( 4 * m + 2, mul, j );
877
- *vm = mulShift( 4 * m - 1 - mmShift, mul, j );
878
- return mulShift( 4 * m, mul, j );
879
- }
880
-
881
- #else // !defined( HAS_UINT128 ) && !defined( HAS_64_BIT_INTRINSICS )
882
-
883
- static inline std::uint64_t mulShiftAll( std::uint64_t m, const std::uint64_t* const mul, const std::int32_t j, std::uint64_t* const vp, std::uint64_t* const vm, const std::uint32_t mmShift )
884
- {
885
- m <<= 1;
886
- // m is maximum 55 bits
887
- std::uint64_t tmp;
888
- const std::uint64_t lo = umul128( m, mul[ 0 ], tmp );
889
- std::uint64_t hi;
890
- const std::uint64_t mid = tmp + umul128( m, mul[ 1 ], hi );
891
- hi += mid < tmp; // overflow into hi
892
-
893
- const std::uint64_t lo2 = lo + mul[ 0 ];
894
- const std::uint64_t mid2 = mid + mul[ 1 ] + ( lo2 < lo );
895
- const std::uint64_t hi2 = hi + ( mid2 < mid );
896
- *vp = shiftright128( mid2, hi2, j - 64 - 1 );
897
-
898
- if( mmShift == 1 ) {
899
- const std::uint64_t lo3 = lo - mul[ 0 ];
900
- const std::uint64_t mid3 = mid - mul[ 1 ] - ( lo3 > lo );
901
- const std::uint64_t hi3 = hi - ( mid3 > mid );
902
- *vm = shiftright128( mid3, hi3, j - 64 - 1 );
903
- }
904
- else {
905
- const std::uint64_t lo3 = lo + lo;
906
- const std::uint64_t mid3 = mid + mid + ( lo3 < lo );
907
- const std::uint64_t hi3 = hi + hi + ( mid3 < mid );
908
- const std::uint64_t lo4 = lo3 - mul[ 0 ];
909
- const std::uint64_t mid4 = mid3 - mul[ 1 ] - ( lo4 > lo3 );
910
- const std::uint64_t hi4 = hi3 - ( mid4 > mid3 );
911
- *vm = shiftright128( mid4, hi4, j - 64 );
912
- }
913
- return shiftright128( mid, hi, j - 64 - 1 );
914
- }
915
-
916
- #endif
917
-
918
- inline std::uint32_t decimalLength( const std::uint64_t v )
919
- {
920
- // This is slightly faster than a loop.
921
- // The average output length is 16.38 digits, so we check high-to-low.
922
- // Function precondition: v is not an 18, 19, or 20-digit number.
923
- // (17 digits are sufficient for round-tripping.)
924
- assert( v < 100000000000000000L );
925
- if( v >= 10000000000000000L ) {
926
- return 17;
927
- }
928
- if( v >= 1000000000000000L ) {
929
- return 16;
930
- }
931
- if( v >= 100000000000000L ) {
932
- return 15;
933
- }
934
- if( v >= 10000000000000L ) {
935
- return 14;
936
- }
937
- if( v >= 1000000000000L ) {
938
- return 13;
939
- }
940
- if( v >= 100000000000L ) {
941
- return 12;
942
- }
943
- if( v >= 10000000000L ) {
944
- return 11;
945
- }
946
- if( v >= 1000000000L ) {
947
- return 10;
948
- }
949
- if( v >= 100000000L ) {
950
- return 9;
951
- }
952
- if( v >= 10000000L ) {
953
- return 8;
954
- }
955
- if( v >= 1000000L ) {
956
- return 7;
957
- }
958
- if( v >= 100000L ) {
959
- return 6;
960
- }
961
- if( v >= 10000L ) {
962
- return 5;
963
- }
964
- if( v >= 1000L ) {
965
- return 4;
966
- }
967
- if( v >= 100L ) {
968
- return 3;
969
- }
970
- if( v >= 10L ) {
971
- return 2;
972
- }
973
- return 1;
974
- }
975
-
976
- inline std::uint32_t d2s_simplistic_step5( std::uint64_t output, std::int32_t exp, const std::int32_t olength, char* result )
977
- {
978
- // TODO: Use digit_table?
979
-
980
- if( exp <= 0 ) {
981
- std::memcpy( result, "0.", 2 );
982
- std::memset( result + 2, '0', -exp );
983
- const auto* end = itoa::u64toa( output, result + 2 - exp );
984
- return static_cast< std::uint32_t >( end - result );
985
- }
986
- else if( exp >= olength ) {
987
- itoa::u64toa( output, result ); // Return value MUST be result + olength
988
- std::memset( result + olength, '0', exp + 2 - olength );
989
- result[ exp ] = '.';
990
- return exp + 2;
991
- }
992
- else { // ( exp > 0 ) && ( exp < olength )
993
- for( std::int32_t i = 0; i < olength - exp; ++i ) {
994
- const std::uint32_t c = output % 10;
995
- output /= 10;
996
- result[ olength - i ] = char( '0' + c );
997
- }
998
- result[ exp ] = '.';
999
- for( std::int32_t i = 0; i < exp; ++i ) {
1000
- const std::uint32_t c = output % 10;
1001
- output /= 10;
1002
- result[ exp - i - 1 ] = char( '0' + c );
1003
- }
1004
- return olength + 1;
1005
- }
1006
- }
1007
-
1008
- inline std::uint32_t d2s_scientific_step5( std::uint64_t output, std::int32_t exp, const std::uint32_t olength, char* result )
1009
- {
1010
- int index = olength;
1011
-
1012
- if( olength > 1 ) {
1013
- itoa::u64toa( output, result + 1 );
1014
- result[ 0 ] = result[ 1 ];
1015
- result[ 1 ] = '.';
1016
- ++index;
1017
- }
1018
- else {
1019
- result[ 0 ] = char( '0' + output );
1020
- }
1021
- if( exp ) {
1022
- result[ index++ ] = 'e';
1023
- const auto end = itoa::i32toa( exp, result + index );
1024
- return static_cast< std::uint32_t >( end - result );
1025
- }
1026
- return index;
1027
- }
1028
-
1029
- inline std::uint32_t d2s_finite( const double f, char* result )
1030
- {
1031
- // Step 1: Decode the floating-point number, and unify normalized and subnormal cases.
1032
- const std::uint32_t mantissaBits = TAO_RYU_DOUBLE_MANTISSA_BITS;
1033
- const std::uint32_t exponentBits = TAO_RYU_DOUBLE_EXPONENT_BITS;
1034
- const std::uint32_t offset = ( 1u << ( exponentBits - 1 ) ) - 1;
1035
-
1036
- std::uint64_t bits;
1037
- // This only works on little-endian architectures.
1038
- std::memcpy( &bits, &f, sizeof( double ) ); // TODO: Fix for big-endian!
1039
-
1040
- // Decode bits into sign, mantissa, and exponent.
1041
- const bool sign = ( ( bits >> ( mantissaBits + exponentBits ) ) & 1 ) != 0;
1042
- const std::uint64_t ieeeMantissa = bits & ( ( 1ull << mantissaBits ) - 1 );
1043
- const std::uint32_t ieeeExponent = std::uint32_t( ( bits >> mantissaBits ) & ( ( 1u << exponentBits ) - 1 ) );
1044
-
1045
- std::int32_t e2;
1046
- std::uint64_t m2;
1047
-
1048
- // NOTE: For taocpp/json this function assumes that f is finite!
1049
- // if (ieeeExponent == ((1u << exponentBits) - 1u)) {
1050
- // std::strcpy( result, (ieeeMantissa != 0) ? "NaN" : ( sign ? "-Infinity" : "Infinity" ) );
1051
- // return std::strlen( result );
1052
- // } else if (ieeeExponent == 0) {
1053
- // Case distinction; exit early for the easy cases.
1054
- if( ieeeExponent == 0 ) {
1055
- if( ieeeMantissa == 0 ) {
1056
- const std::uint32_t size = sign ? 4 : 3;
1057
- std::memcpy( result, &( "-0.0"[ 4 - size ] ), size );
1058
- return size;
1059
- }
1060
- // We subtract 2 so that the bounds computation has 2 additional bits.
1061
- e2 = 1 - offset - mantissaBits - 2;
1062
- m2 = ieeeMantissa;
1063
- }
1064
- else {
1065
- e2 = ieeeExponent - offset - mantissaBits - 2;
1066
- m2 = ( 1ull << mantissaBits ) | ieeeMantissa;
1067
- }
1068
- const bool acceptBounds = ( m2 & 1 ) == 0;
1069
-
1070
- // Step 2: Determine the interval of legal decimal representations.
1071
- const std::uint64_t mv = 4 * m2;
1072
- // Implicit bool -> int conversion. True is 1, false is 0.
1073
- const std::uint32_t mmShift = ( m2 != ( 1ull << mantissaBits ) ) || ( ieeeExponent <= 1 );
1074
- // We would compute mp and mm like this:
1075
- // std::uint64_t mp = 4 * m2 + 2;
1076
- // std::uint64_t mm = mv - 1 - mmShift;
1077
-
1078
- // Step 3: Convert to a decimal power base using 128-bit arithmetic.
1079
- std::uint64_t vr, vp, vm;
1080
- std::int32_t e10;
1081
-
1082
- bool vmIsTrailingZeros = false;
1083
- bool vrIsTrailingZeros = false;
1084
-
1085
- if( e2 >= 0 ) {
1086
- // I tried special-casing q == 0, but there was no effect on performance.
1087
- // This expression is slightly faster than max(0, log10Pow2(e2) - 1).
1088
- const std::int32_t q = log10Pow2( e2 ) - ( e2 > 3 );
1089
- e10 = q;
1090
- const std::int32_t k = TAO_RYU_DOUBLE_POW5_INV_BITCOUNT + pow5bits( q ) - 1;
1091
- const std::int32_t i = -e2 + q + k;
1092
- vr = mulShiftAll( m2, pow5_inv_split[ q ], i, &vp, &vm, mmShift );
1093
- if( q <= 21 ) {
1094
- // Only one of mp, mv, and mm can be a multiple of 5, if any.
1095
- if( mv % 5 == 0 ) {
1096
- vrIsTrailingZeros = multipleOfPowerOf5( mv, q );
1097
- }
1098
- else {
1099
- if( acceptBounds ) {
1100
- // Same as min(e2 + (~mm & 1), pow5Factor(mm)) >= q
1101
- // <=> e2 + (~mm & 1) >= q && pow5Factor(mm) >= q
1102
- // <=> true && pow5Factor(mm) >= q, since e2 >= q.
1103
- vmIsTrailingZeros = multipleOfPowerOf5( mv - 1 - mmShift, q );
1104
- }
1105
- else {
1106
- // Same as min(e2 + 1, pow5Factor(mp)) >= q.
1107
- vp -= multipleOfPowerOf5( mv + 2, q );
1108
- }
1109
- }
1110
- }
1111
- }
1112
- else {
1113
- // This expression is slightly faster than max(0, log10Pow5(-e2) - 1).
1114
- const std::int32_t q = log10Pow5( -e2 ) - ( -e2 > 1 );
1115
- e10 = q + e2;
1116
- const std::int32_t i = -e2 - q;
1117
- const std::int32_t k = pow5bits( i ) - TAO_RYU_DOUBLE_POW5_BITCOUNT;
1118
- const std::int32_t j = q - k;
1119
- vr = mulShiftAll( m2, pow5_split[ i ], j, &vp, &vm, mmShift );
1120
- if( q <= 1 ) {
1121
- vrIsTrailingZeros = ( ~( std::uint32_t( mv ) ) & 1 ) >= std::uint32_t( q );
1122
- if( acceptBounds ) {
1123
- vmIsTrailingZeros = ( ~( std::uint32_t( mv - 1 - mmShift ) ) & 1 ) >= std::uint32_t( q );
1124
- }
1125
- else {
1126
- --vp;
1127
- }
1128
- }
1129
- else if( q < 63 ) { // TODO(ulfjack): Use a tighter bound here.
1130
- // We need to compute min(ntz(mv), pow5Factor(mv) - e2) >= q-1
1131
- // <=> ntz(mv) >= q-1 && pow5Factor(mv) - e2 >= q-1
1132
- // <=> ntz(mv) >= q-1
1133
- // <=> (mv & ((1 << (q-1)) - 1)) == 0
1134
- // We also need to make sure that the left shift does not overflow.
1135
- vrIsTrailingZeros = ( mv & ( ( 1ull << ( q - 1 ) ) - 1 ) ) == 0;
1136
- }
1137
- }
1138
- // Step 4: Find the shortest decimal representation in the interval of legal representations.
1139
- std::uint32_t removed = 0;
1140
- uint8_t lastRemovedDigit = 0;
1141
- std::uint64_t output;
1142
- // On average, we remove ~2 digits.
1143
- if( vmIsTrailingZeros || vrIsTrailingZeros ) {
1144
- // General case, which happens rarely (<1%).
1145
- while( vp / 10 > vm / 10 ) {
1146
- #ifdef __clang__
1147
- // https://bugs.llvm.org/show_bug.cgi?id=23106
1148
- // The compiler does not realize that vm % 10 can be computed from vm / 10
1149
- // as vm - (vm / 10) * 10.
1150
- vmIsTrailingZeros &= vm - ( vm / 10 ) * 10 == 0;
1151
- #else
1152
- vmIsTrailingZeros &= vm % 10 == 0;
1153
- #endif
1154
- vrIsTrailingZeros &= lastRemovedDigit == 0;
1155
- lastRemovedDigit = std::uint8_t( vr % 10 );
1156
- vr /= 10;
1157
- vp /= 10;
1158
- vm /= 10;
1159
- ++removed;
1160
- }
1161
- if( vmIsTrailingZeros ) {
1162
- while( vm % 10 == 0 ) {
1163
- vrIsTrailingZeros &= lastRemovedDigit == 0;
1164
- lastRemovedDigit = std::uint8_t( vr % 10 );
1165
- vr /= 10;
1166
- vp /= 10;
1167
- vm /= 10;
1168
- ++removed;
1169
- }
1170
- }
1171
- if( vrIsTrailingZeros && ( lastRemovedDigit == 5 ) && ( vr % 2 == 0 ) ) {
1172
- // Round down not up if the number ends in X50000.
1173
- lastRemovedDigit = 4;
1174
- }
1175
- // We need to take vr+1 if vr is outside bounds or we need to round up.
1176
- output = vr + ( ( vr == vm && ( !acceptBounds || !vmIsTrailingZeros ) ) || ( lastRemovedDigit >= 5 ) );
1177
- }
1178
- else {
1179
- // Specialized for the common case (>99%).
1180
- while( vp / 10 > vm / 10 ) {
1181
- lastRemovedDigit = std::uint8_t( vr % 10 );
1182
- vr /= 10;
1183
- vp /= 10;
1184
- vm /= 10;
1185
- ++removed;
1186
- }
1187
- // We need to take vr+1 if vr is outside bounds or we need to round up.
1188
- output = vr + ( ( vr == vm ) || ( lastRemovedDigit >= 5 ) );
1189
- }
1190
- // Step 5: Print the decimal representation.
1191
-
1192
- if( sign ) {
1193
- *result++ = '-';
1194
- }
1195
- // The average output length is 16.38 digits.
1196
- const std::uint32_t olength = decimalLength( output );
1197
- const std::int32_t exp = e10 + olength + removed;
1198
-
1199
- if( ( -6 < exp ) && ( exp < 22 ) ) {
1200
- return d2s_simplistic_step5( output, exp, olength, result ) + std::uint32_t( sign );
1201
- }
1202
- else {
1203
- return d2s_scientific_step5( output, exp - 1, olength, result ) + std::uint32_t( sign );
1204
- }
1205
- }
1206
-
1207
- inline void d2s_stream( std::ostream& o, const double f )
1208
- {
1209
- char b[ 28 ];
1210
- const auto s = d2s_finite( f, b );
1211
- o.write( b, s );
1212
- }
1213
-
1214
- } // namespace tao::json::ryu
1215
-
1216
- #endif