couchbase 3.1.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3048) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/ext/CMakeLists.txt +47 -113
  4. data/ext/couchbase/CMakeLists.txt +142 -0
  5. data/ext/{LICENSE.txt → couchbase/LICENSE.txt} +0 -0
  6. data/ext/{cmake → couchbase/cmake}/Backtrace.cmake +0 -0
  7. data/ext/{cmake → couchbase/cmake}/BuildTracing.cmake +0 -0
  8. data/ext/{cmake → couchbase/cmake}/Cache.cmake +0 -0
  9. data/ext/couchbase/cmake/CompilerWarnings.cmake +83 -0
  10. data/ext/couchbase/cmake/DetectStandardFilesystem.cmake +30 -0
  11. data/ext/couchbase/cmake/OpenSSL.cmake +24 -0
  12. data/ext/couchbase/cmake/PreventInSourceBuilds.cmake +21 -0
  13. data/ext/couchbase/cmake/Sanitizers.cmake +67 -0
  14. data/ext/couchbase/cmake/StandardProjectSettings.cmake +45 -0
  15. data/ext/{cmake → couchbase/cmake}/StaticAnalyzers.cmake +0 -0
  16. data/ext/couchbase/cmake/Testing.cmake +63 -0
  17. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +44 -0
  18. data/ext/couchbase/cmake/VersionInfo.cmake +46 -0
  19. data/ext/couchbase/cmake/build_config.hxx.in +20 -0
  20. data/ext/couchbase/cmake/build_version.hxx.in +32 -0
  21. data/ext/couchbase/cmake/test_filesystem.cpp.in +22 -0
  22. data/ext/couchbase/couchbase/analytics_scan_consistency.hxx +26 -0
  23. data/ext/couchbase/couchbase/bucket.hxx +536 -0
  24. data/ext/couchbase/couchbase/capella_ca.hxx +43 -0
  25. data/ext/couchbase/couchbase/cas.hxx +47 -0
  26. data/ext/couchbase/couchbase/cas_fmt.hxx +37 -0
  27. data/ext/couchbase/couchbase/cluster.cxx +111 -0
  28. data/ext/couchbase/couchbase/cluster.hxx +423 -0
  29. data/ext/couchbase/couchbase/cluster_options.cxx +45 -0
  30. data/ext/couchbase/couchbase/cluster_options.hxx +78 -0
  31. data/ext/couchbase/couchbase/crypto/CMakeLists.txt +12 -0
  32. data/ext/couchbase/couchbase/crypto/cbcrypto.cc +887 -0
  33. data/ext/couchbase/couchbase/crypto/cbcrypto.h +88 -0
  34. data/ext/couchbase/couchbase/design_document_namespace.hxx +26 -0
  35. data/ext/couchbase/couchbase/design_document_namespace_fmt.hxx +47 -0
  36. data/ext/couchbase/couchbase/diagnostics.hxx +97 -0
  37. data/ext/couchbase/couchbase/diagnostics_fmt.hxx +113 -0
  38. data/ext/couchbase/couchbase/diagnostics_json.hxx +100 -0
  39. data/ext/couchbase/couchbase/document_id.cxx +89 -0
  40. data/ext/couchbase/couchbase/document_id.hxx +102 -0
  41. data/ext/couchbase/couchbase/document_id_fmt.hxx +37 -0
  42. data/ext/couchbase/couchbase/error_context/analytics.hxx +51 -0
  43. data/ext/couchbase/couchbase/error_context/http.hxx +47 -0
  44. data/ext/couchbase/couchbase/error_context/key_value.hxx +50 -0
  45. data/ext/couchbase/couchbase/error_context/query.hxx +51 -0
  46. data/ext/couchbase/couchbase/error_context/search.hxx +50 -0
  47. data/ext/couchbase/couchbase/error_context/view.hxx +51 -0
  48. data/ext/couchbase/couchbase/errors.hxx +1038 -0
  49. data/ext/couchbase/couchbase/io/CMakeLists.txt +12 -0
  50. data/ext/couchbase/couchbase/io/dns_client.hxx +217 -0
  51. data/ext/couchbase/couchbase/io/dns_codec.hxx +206 -0
  52. data/ext/couchbase/couchbase/io/dns_config.hxx +115 -0
  53. data/ext/couchbase/couchbase/io/dns_message.hxx +555 -0
  54. data/ext/couchbase/couchbase/io/http_command.hxx +174 -0
  55. data/ext/couchbase/couchbase/io/http_context.hxx +40 -0
  56. data/ext/couchbase/couchbase/io/http_message.hxx +116 -0
  57. data/ext/couchbase/couchbase/io/http_parser.cxx +141 -0
  58. data/ext/couchbase/couchbase/io/http_parser.hxx +55 -0
  59. data/ext/couchbase/couchbase/io/http_session.hxx +544 -0
  60. data/ext/couchbase/couchbase/io/http_session_manager.hxx +377 -0
  61. data/ext/couchbase/couchbase/io/http_traits.hxx +30 -0
  62. data/ext/couchbase/couchbase/io/ip_protocol.hxx +28 -0
  63. data/ext/couchbase/couchbase/io/mcbp_command.hxx +300 -0
  64. data/ext/couchbase/couchbase/io/mcbp_context.hxx +39 -0
  65. data/ext/couchbase/couchbase/io/mcbp_message.cxx +39 -0
  66. data/ext/couchbase/couchbase/io/mcbp_message.hxx +55 -0
  67. data/ext/couchbase/couchbase/io/mcbp_parser.cxx +86 -0
  68. data/ext/couchbase/couchbase/io/mcbp_parser.hxx +45 -0
  69. data/ext/couchbase/couchbase/io/mcbp_session.hxx +1317 -0
  70. data/ext/couchbase/couchbase/io/mcbp_traits.hxx +30 -0
  71. data/ext/couchbase/couchbase/io/query_cache.hxx +61 -0
  72. data/ext/couchbase/{io → couchbase/io}/retry_action.hxx +0 -0
  73. data/ext/couchbase/couchbase/io/retry_context.hxx +38 -0
  74. data/ext/couchbase/couchbase/io/retry_orchestrator.hxx +112 -0
  75. data/ext/couchbase/couchbase/io/retry_reason.hxx +158 -0
  76. data/ext/couchbase/couchbase/io/retry_reason_fmt.hxx +103 -0
  77. data/ext/couchbase/couchbase/io/retry_strategy.hxx +152 -0
  78. data/ext/couchbase/couchbase/io/streams.hxx +253 -0
  79. data/ext/couchbase/couchbase/json_string.hxx +48 -0
  80. data/ext/couchbase/couchbase/logger/CMakeLists.txt +9 -0
  81. data/ext/couchbase/couchbase/logger/configuration.hxx +52 -0
  82. data/ext/couchbase/couchbase/logger/custom_rotating_file_sink.cxx +157 -0
  83. data/ext/couchbase/couchbase/logger/custom_rotating_file_sink.hxx +76 -0
  84. data/ext/couchbase/couchbase/logger/logger.cxx +337 -0
  85. data/ext/couchbase/couchbase/logger/logger.hxx +235 -0
  86. data/ext/couchbase/couchbase/management/CMakeLists.txt +13 -0
  87. data/ext/couchbase/couchbase/management/analytics_dataset.hxx +30 -0
  88. data/ext/couchbase/couchbase/management/analytics_index.hxx +30 -0
  89. data/ext/couchbase/couchbase/management/analytics_link.hxx +22 -0
  90. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external.cxx +67 -0
  91. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external.hxx +76 -0
  92. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external_json.hxx +52 -0
  93. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote.cxx +104 -0
  94. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote.hxx +107 -0
  95. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote_json.hxx +63 -0
  96. data/ext/couchbase/couchbase/management/analytics_link_s3_external.cxx +57 -0
  97. data/ext/couchbase/couchbase/management/analytics_link_s3_external.hxx +69 -0
  98. data/ext/couchbase/couchbase/management/analytics_link_s3_external_json.hxx +47 -0
  99. data/ext/couchbase/couchbase/management/bucket_settings.hxx +134 -0
  100. data/ext/couchbase/couchbase/management/bucket_settings_json.hxx +123 -0
  101. data/ext/couchbase/couchbase/management/design_document.hxx +41 -0
  102. data/ext/couchbase/couchbase/management/eventing_function.hxx +188 -0
  103. data/ext/couchbase/couchbase/management/eventing_function_json.hxx +212 -0
  104. data/ext/couchbase/couchbase/management/eventing_status.hxx +84 -0
  105. data/ext/couchbase/couchbase/management/eventing_status_json.hxx +77 -0
  106. data/ext/couchbase/couchbase/management/query_index.hxx +39 -0
  107. data/ext/couchbase/couchbase/management/rbac.hxx +77 -0
  108. data/ext/couchbase/couchbase/management/rbac_fmt.hxx +49 -0
  109. data/ext/couchbase/couchbase/management/rbac_json.hxx +179 -0
  110. data/ext/couchbase/couchbase/management/search_index.hxx +38 -0
  111. data/ext/couchbase/couchbase/management/search_index_json.hxx +58 -0
  112. data/ext/couchbase/couchbase/meta/CMakeLists.txt +15 -0
  113. data/ext/couchbase/couchbase/meta/version.cxx +181 -0
  114. data/ext/couchbase/couchbase/meta/version.hxx +45 -0
  115. data/ext/couchbase/couchbase/metrics/CMakeLists.txt +11 -0
  116. data/ext/couchbase/couchbase/metrics/logging_meter.cxx +194 -0
  117. data/ext/couchbase/couchbase/metrics/logging_meter.hxx +74 -0
  118. data/ext/couchbase/couchbase/metrics/logging_meter_options.hxx +28 -0
  119. data/ext/couchbase/couchbase/metrics/meter.hxx +52 -0
  120. data/ext/couchbase/couchbase/metrics/noop_meter.hxx +47 -0
  121. data/ext/couchbase/couchbase/mutation_token.hxx +31 -0
  122. data/ext/couchbase/couchbase/mutation_token_fmt.hxx +37 -0
  123. data/ext/couchbase/couchbase/operations/CMakeLists.txt +35 -0
  124. data/ext/couchbase/couchbase/operations/document_analytics.cxx +195 -0
  125. data/ext/couchbase/couchbase/operations/document_analytics.hxx +92 -0
  126. data/ext/couchbase/couchbase/operations/document_append.cxx +46 -0
  127. data/ext/couchbase/couchbase/operations/document_append.hxx +63 -0
  128. data/ext/couchbase/couchbase/operations/document_decrement.cxx +57 -0
  129. data/ext/couchbase/couchbase/operations/document_decrement.hxx +67 -0
  130. data/ext/couchbase/couchbase/operations/document_exists.cxx +49 -0
  131. data/ext/couchbase/couchbase/operations/document_exists.hxx +61 -0
  132. data/ext/couchbase/couchbase/operations/document_get.cxx +44 -0
  133. data/ext/couchbase/couchbase/operations/document_get.hxx +53 -0
  134. data/ext/couchbase/couchbase/operations/document_get_and_lock.cxx +45 -0
  135. data/ext/couchbase/couchbase/operations/document_get_and_lock.hxx +54 -0
  136. data/ext/couchbase/couchbase/operations/document_get_and_touch.cxx +45 -0
  137. data/ext/couchbase/couchbase/operations/document_get_and_touch.hxx +54 -0
  138. data/ext/couchbase/couchbase/operations/document_get_projected.cxx +227 -0
  139. data/ext/couchbase/couchbase/operations/document_get_projected.hxx +58 -0
  140. data/ext/couchbase/couchbase/operations/document_increment.cxx +57 -0
  141. data/ext/couchbase/couchbase/operations/document_increment.hxx +67 -0
  142. data/ext/couchbase/couchbase/operations/document_insert.cxx +48 -0
  143. data/ext/couchbase/couchbase/operations/document_insert.hxx +65 -0
  144. data/ext/couchbase/couchbase/operations/document_lookup_in.cxx +81 -0
  145. data/ext/couchbase/couchbase/operations/document_lookup_in.hxx +64 -0
  146. data/ext/couchbase/couchbase/operations/document_mutate_in.cxx +104 -0
  147. data/ext/couchbase/couchbase/operations/document_mutate_in.hxx +82 -0
  148. data/ext/couchbase/couchbase/operations/document_prepend.cxx +46 -0
  149. data/ext/couchbase/couchbase/operations/document_prepend.hxx +63 -0
  150. data/ext/couchbase/couchbase/operations/document_query.cxx +370 -0
  151. data/ext/couchbase/couchbase/operations/document_query.hxx +123 -0
  152. data/ext/couchbase/couchbase/operations/document_remove.cxx +46 -0
  153. data/ext/couchbase/couchbase/operations/document_remove.hxx +63 -0
  154. data/ext/couchbase/couchbase/operations/document_replace.cxx +52 -0
  155. data/ext/couchbase/couchbase/operations/document_replace.hxx +67 -0
  156. data/ext/couchbase/couchbase/operations/document_search.cxx +311 -0
  157. data/ext/couchbase/couchbase/operations/document_search.hxx +153 -0
  158. data/ext/couchbase/couchbase/operations/document_touch.cxx +43 -0
  159. data/ext/couchbase/couchbase/operations/document_touch.hxx +52 -0
  160. data/ext/couchbase/couchbase/operations/document_unlock.cxx +43 -0
  161. data/ext/couchbase/couchbase/operations/document_unlock.hxx +52 -0
  162. data/ext/couchbase/couchbase/operations/document_upsert.cxx +52 -0
  163. data/ext/couchbase/couchbase/operations/document_upsert.hxx +66 -0
  164. data/ext/couchbase/couchbase/operations/document_view.cxx +183 -0
  165. data/ext/couchbase/couchbase/operations/document_view.hxx +97 -0
  166. data/ext/couchbase/couchbase/operations/http_noop.cxx +60 -0
  167. data/ext/couchbase/couchbase/operations/http_noop.hxx +48 -0
  168. data/ext/couchbase/couchbase/operations/management/CMakeLists.txt +79 -0
  169. data/ext/couchbase/couchbase/operations/management/analytics.hxx +34 -0
  170. data/ext/couchbase/couchbase/operations/management/analytics_dataset_create.cxx +94 -0
  171. data/ext/couchbase/couchbase/operations/management/analytics_dataset_create.hxx +57 -0
  172. data/ext/couchbase/couchbase/operations/management/analytics_dataset_drop.cxx +83 -0
  173. data/ext/couchbase/couchbase/operations/management/analytics_dataset_drop.hxx +54 -0
  174. data/ext/couchbase/couchbase/operations/management/analytics_dataset_get_all.cxx +80 -0
  175. data/ext/couchbase/couchbase/operations/management/analytics_dataset_get_all.hxx +52 -0
  176. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_create.cxx +82 -0
  177. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_create.hxx +53 -0
  178. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_drop.cxx +82 -0
  179. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_drop.hxx +53 -0
  180. data/ext/couchbase/couchbase/operations/management/analytics_get_pending_mutations.cxx +70 -0
  181. data/ext/couchbase/couchbase/operations/management/analytics_get_pending_mutations.hxx +52 -0
  182. data/ext/couchbase/couchbase/operations/management/analytics_index_create.cxx +106 -0
  183. data/ext/couchbase/couchbase/operations/management/analytics_index_create.hxx +56 -0
  184. data/ext/couchbase/couchbase/operations/management/analytics_index_drop.cxx +90 -0
  185. data/ext/couchbase/couchbase/operations/management/analytics_index_drop.hxx +55 -0
  186. data/ext/couchbase/couchbase/operations/management/analytics_index_get_all.cxx +80 -0
  187. data/ext/couchbase/couchbase/operations/management/analytics_index_get_all.hxx +52 -0
  188. data/ext/couchbase/couchbase/operations/management/analytics_link_connect.cxx +82 -0
  189. data/ext/couchbase/couchbase/operations/management/analytics_link_connect.hxx +57 -0
  190. data/ext/couchbase/couchbase/operations/management/analytics_link_create.cxx +87 -0
  191. data/ext/couchbase/couchbase/operations/management/analytics_link_create.hxx +77 -0
  192. data/ext/couchbase/couchbase/operations/management/analytics_link_disconnect.cxx +80 -0
  193. data/ext/couchbase/couchbase/operations/management/analytics_link_disconnect.hxx +56 -0
  194. data/ext/couchbase/couchbase/operations/management/analytics_link_drop.cxx +103 -0
  195. data/ext/couchbase/couchbase/operations/management/analytics_link_drop.hxx +56 -0
  196. data/ext/couchbase/couchbase/operations/management/analytics_link_get_all.cxx +130 -0
  197. data/ext/couchbase/couchbase/operations/management/analytics_link_get_all.hxx +63 -0
  198. data/ext/couchbase/couchbase/operations/management/analytics_link_replace.cxx +87 -0
  199. data/ext/couchbase/couchbase/operations/management/analytics_link_replace.hxx +78 -0
  200. data/ext/couchbase/couchbase/operations/management/analytics_link_utils.hxx +37 -0
  201. data/ext/couchbase/couchbase/operations/management/analytics_problem.hxx +30 -0
  202. data/ext/couchbase/couchbase/operations/management/bucket.hxx +25 -0
  203. data/ext/couchbase/couchbase/operations/management/bucket_create.cxx +171 -0
  204. data/ext/couchbase/couchbase/operations/management/bucket_create.hxx +52 -0
  205. data/ext/couchbase/couchbase/operations/management/bucket_describe.cxx +67 -0
  206. data/ext/couchbase/couchbase/operations/management/bucket_describe.hxx +61 -0
  207. data/ext/couchbase/couchbase/operations/management/bucket_drop.cxx +52 -0
  208. data/ext/couchbase/couchbase/operations/management/bucket_drop.hxx +49 -0
  209. data/ext/couchbase/couchbase/operations/management/bucket_flush.cxx +59 -0
  210. data/ext/couchbase/couchbase/operations/management/bucket_flush.hxx +49 -0
  211. data/ext/couchbase/couchbase/operations/management/bucket_get.cxx +59 -0
  212. data/ext/couchbase/couchbase/operations/management/bucket_get.hxx +51 -0
  213. data/ext/couchbase/couchbase/operations/management/bucket_get_all.cxx +59 -0
  214. data/ext/couchbase/couchbase/operations/management/bucket_get_all.hxx +49 -0
  215. data/ext/couchbase/couchbase/operations/management/bucket_update.cxx +130 -0
  216. data/ext/couchbase/couchbase/operations/management/bucket_update.hxx +52 -0
  217. data/ext/couchbase/couchbase/operations/management/cluster_describe.cxx +90 -0
  218. data/ext/couchbase/couchbase/operations/management/cluster_describe.hxx +72 -0
  219. data/ext/couchbase/couchbase/operations/management/cluster_developer_preview_enable.cxx +44 -0
  220. data/ext/couchbase/couchbase/operations/management/cluster_developer_preview_enable.hxx +48 -0
  221. data/ext/couchbase/couchbase/operations/management/collection_create.cxx +83 -0
  222. data/ext/couchbase/couchbase/operations/management/collection_create.hxx +53 -0
  223. data/ext/couchbase/couchbase/operations/management/collection_drop.cxx +73 -0
  224. data/ext/couchbase/couchbase/operations/management/collection_drop.hxx +52 -0
  225. data/ext/couchbase/couchbase/operations/management/collections.hxx +25 -0
  226. data/ext/couchbase/couchbase/operations/management/collections_manifest_get.cxx +40 -0
  227. data/ext/couchbase/couchbase/operations/management/collections_manifest_get.hxx +53 -0
  228. data/ext/couchbase/couchbase/operations/management/error_utils.cxx +265 -0
  229. data/ext/couchbase/couchbase/operations/management/error_utils.hxx +48 -0
  230. data/ext/couchbase/couchbase/operations/management/eventing.hxx +28 -0
  231. data/ext/couchbase/couchbase/operations/management/eventing_deploy_function.cxx +56 -0
  232. data/ext/couchbase/couchbase/operations/management/eventing_deploy_function.hxx +52 -0
  233. data/ext/couchbase/couchbase/operations/management/eventing_drop_function.cxx +57 -0
  234. data/ext/couchbase/couchbase/operations/management/eventing_drop_function.hxx +52 -0
  235. data/ext/couchbase/couchbase/operations/management/eventing_get_all_functions.cxx +64 -0
  236. data/ext/couchbase/couchbase/operations/management/eventing_get_all_functions.hxx +51 -0
  237. data/ext/couchbase/couchbase/operations/management/eventing_get_function.cxx +56 -0
  238. data/ext/couchbase/couchbase/operations/management/eventing_get_function.hxx +53 -0
  239. data/ext/couchbase/couchbase/operations/management/eventing_get_status.cxx +56 -0
  240. data/ext/couchbase/couchbase/operations/management/eventing_get_status.hxx +53 -0
  241. data/ext/couchbase/couchbase/operations/management/eventing_pause_function.cxx +56 -0
  242. data/ext/couchbase/couchbase/operations/management/eventing_pause_function.hxx +52 -0
  243. data/ext/couchbase/couchbase/operations/management/eventing_problem.hxx +31 -0
  244. data/ext/couchbase/couchbase/operations/management/eventing_resume_function.cxx +56 -0
  245. data/ext/couchbase/couchbase/operations/management/eventing_resume_function.hxx +52 -0
  246. data/ext/couchbase/couchbase/operations/management/eventing_undeploy_function.cxx +56 -0
  247. data/ext/couchbase/couchbase/operations/management/eventing_undeploy_function.hxx +52 -0
  248. data/ext/couchbase/couchbase/operations/management/eventing_upsert_function.cxx +341 -0
  249. data/ext/couchbase/couchbase/operations/management/eventing_upsert_function.hxx +52 -0
  250. data/ext/couchbase/couchbase/operations/management/freeform.cxx +55 -0
  251. data/ext/couchbase/couchbase/operations/management/freeform.hxx +55 -0
  252. data/ext/couchbase/couchbase/operations/management/group_drop.cxx +51 -0
  253. data/ext/couchbase/couchbase/operations/management/group_drop.hxx +49 -0
  254. data/ext/couchbase/couchbase/operations/management/group_get.cxx +60 -0
  255. data/ext/couchbase/couchbase/operations/management/group_get.hxx +50 -0
  256. data/ext/couchbase/couchbase/operations/management/group_get_all.cxx +58 -0
  257. data/ext/couchbase/couchbase/operations/management/group_get_all.hxx +49 -0
  258. data/ext/couchbase/couchbase/operations/management/group_upsert.cxx +96 -0
  259. data/ext/couchbase/couchbase/operations/management/group_upsert.hxx +51 -0
  260. data/ext/couchbase/couchbase/operations/management/query.hxx +23 -0
  261. data/ext/couchbase/couchbase/operations/management/query_index_build_deferred.cxx +88 -0
  262. data/ext/couchbase/couchbase/operations/management/query_index_build_deferred.hxx +61 -0
  263. data/ext/couchbase/couchbase/operations/management/query_index_create.cxx +149 -0
  264. data/ext/couchbase/couchbase/operations/management/query_index_create.hxx +65 -0
  265. data/ext/couchbase/couchbase/operations/management/query_index_drop.cxx +128 -0
  266. data/ext/couchbase/couchbase/operations/management/query_index_drop.hxx +61 -0
  267. data/ext/couchbase/couchbase/operations/management/query_index_get_all.cxx +126 -0
  268. data/ext/couchbase/couchbase/operations/management/query_index_get_all.hxx +54 -0
  269. data/ext/couchbase/couchbase/operations/management/role_get_all.cxx +58 -0
  270. data/ext/couchbase/couchbase/operations/management/role_get_all.hxx +49 -0
  271. data/ext/couchbase/couchbase/operations/management/scope_create.cxx +75 -0
  272. data/ext/couchbase/couchbase/operations/management/scope_create.hxx +51 -0
  273. data/ext/couchbase/couchbase/operations/management/scope_drop.cxx +70 -0
  274. data/ext/couchbase/couchbase/operations/management/scope_drop.hxx +51 -0
  275. data/ext/couchbase/couchbase/operations/management/scope_get_all.cxx +62 -0
  276. data/ext/couchbase/couchbase/operations/management/scope_get_all.hxx +51 -0
  277. data/ext/couchbase/couchbase/operations/management/search.hxx +30 -0
  278. data/ext/couchbase/couchbase/operations/management/search_get_stats.cxx +41 -0
  279. data/ext/couchbase/couchbase/operations/management/search_get_stats.hxx +48 -0
  280. data/ext/couchbase/couchbase/operations/management/search_index_analyze_document.cxx +85 -0
  281. data/ext/couchbase/couchbase/operations/management/search_index_analyze_document.hxx +54 -0
  282. data/ext/couchbase/couchbase/operations/management/search_index_control_ingest.cxx +73 -0
  283. data/ext/couchbase/couchbase/operations/management/search_index_control_ingest.hxx +52 -0
  284. data/ext/couchbase/couchbase/operations/management/search_index_control_plan_freeze.cxx +73 -0
  285. data/ext/couchbase/couchbase/operations/management/search_index_control_plan_freeze.hxx +57 -0
  286. data/ext/couchbase/couchbase/operations/management/search_index_control_query.cxx +73 -0
  287. data/ext/couchbase/couchbase/operations/management/search_index_control_query.hxx +52 -0
  288. data/ext/couchbase/couchbase/operations/management/search_index_drop.cxx +72 -0
  289. data/ext/couchbase/couchbase/operations/management/search_index_drop.hxx +51 -0
  290. data/ext/couchbase/couchbase/operations/management/search_index_get.cxx +75 -0
  291. data/ext/couchbase/couchbase/operations/management/search_index_get.hxx +54 -0
  292. data/ext/couchbase/couchbase/operations/management/search_index_get_all.cxx +67 -0
  293. data/ext/couchbase/couchbase/operations/management/search_index_get_all.hxx +51 -0
  294. data/ext/couchbase/couchbase/operations/management/search_index_get_documents_count.cxx +79 -0
  295. data/ext/couchbase/couchbase/operations/management/search_index_get_documents_count.hxx +53 -0
  296. data/ext/couchbase/couchbase/operations/management/search_index_get_stats.cxx +71 -0
  297. data/ext/couchbase/couchbase/operations/management/search_index_get_stats.hxx +52 -0
  298. data/ext/couchbase/couchbase/operations/management/search_index_upsert.cxx +108 -0
  299. data/ext/couchbase/couchbase/operations/management/search_index_upsert.hxx +52 -0
  300. data/ext/couchbase/couchbase/operations/management/user.hxx +28 -0
  301. data/ext/couchbase/couchbase/operations/management/user_drop.cxx +52 -0
  302. data/ext/couchbase/couchbase/operations/management/user_drop.hxx +51 -0
  303. data/ext/couchbase/couchbase/operations/management/user_get.cxx +61 -0
  304. data/ext/couchbase/couchbase/operations/management/user_get.hxx +52 -0
  305. data/ext/couchbase/couchbase/operations/management/user_get_all.cxx +59 -0
  306. data/ext/couchbase/couchbase/operations/management/user_get_all.hxx +51 -0
  307. data/ext/couchbase/couchbase/operations/management/user_upsert.cxx +101 -0
  308. data/ext/couchbase/couchbase/operations/management/user_upsert.hxx +52 -0
  309. data/ext/couchbase/couchbase/operations/management/view.hxx +23 -0
  310. data/ext/couchbase/couchbase/operations/management/view_index_drop.cxx +46 -0
  311. data/ext/couchbase/couchbase/operations/management/view_index_drop.hxx +52 -0
  312. data/ext/couchbase/couchbase/operations/management/view_index_get.cxx +74 -0
  313. data/ext/couchbase/couchbase/operations/management/view_index_get.hxx +53 -0
  314. data/ext/couchbase/couchbase/operations/management/view_index_get_all.cxx +108 -0
  315. data/ext/couchbase/couchbase/operations/management/view_index_get_all.hxx +52 -0
  316. data/ext/couchbase/couchbase/operations/management/view_index_upsert.cxx +71 -0
  317. data/ext/couchbase/couchbase/operations/management/view_index_upsert.hxx +51 -0
  318. data/ext/couchbase/couchbase/operations/mcbp_noop.cxx +38 -0
  319. data/ext/couchbase/couchbase/operations/mcbp_noop.hxx +49 -0
  320. data/ext/couchbase/couchbase/operations.hxx +42 -0
  321. data/ext/couchbase/couchbase/origin.hxx +185 -0
  322. data/ext/couchbase/couchbase/platform/CMakeLists.txt +16 -0
  323. data/ext/couchbase/couchbase/platform/backtrace.c +189 -0
  324. data/ext/couchbase/{platform → couchbase/platform}/backtrace.h +0 -0
  325. data/ext/couchbase/couchbase/platform/base64.cc +234 -0
  326. data/ext/couchbase/couchbase/platform/base64.h +44 -0
  327. data/ext/couchbase/couchbase/platform/dirutils.cc +123 -0
  328. data/ext/couchbase/couchbase/platform/dirutils.h +43 -0
  329. data/ext/couchbase/couchbase/platform/random.cc +120 -0
  330. data/ext/couchbase/{platform → couchbase/platform}/random.h +0 -0
  331. data/ext/couchbase/couchbase/platform/string_hex.cc +99 -0
  332. data/ext/couchbase/couchbase/platform/string_hex.h +50 -0
  333. data/ext/couchbase/couchbase/platform/terminate_handler.cc +125 -0
  334. data/ext/couchbase/{platform → couchbase/platform}/terminate_handler.h +0 -0
  335. data/ext/couchbase/couchbase/platform/uuid.cc +98 -0
  336. data/ext/couchbase/{platform → couchbase/platform}/uuid.h +0 -0
  337. data/ext/couchbase/couchbase/protocol/CMakeLists.txt +42 -0
  338. data/ext/couchbase/couchbase/protocol/client_opcode.hxx +359 -0
  339. data/ext/couchbase/couchbase/protocol/client_opcode_fmt.hxx +316 -0
  340. data/ext/couchbase/couchbase/protocol/client_request.cxx +37 -0
  341. data/ext/couchbase/couchbase/protocol/client_request.hxx +157 -0
  342. data/ext/couchbase/couchbase/protocol/client_response.cxx +74 -0
  343. data/ext/couchbase/couchbase/protocol/client_response.hxx +211 -0
  344. data/ext/couchbase/couchbase/protocol/cmd_append.cxx +82 -0
  345. data/ext/couchbase/couchbase/protocol/cmd_append.hxx +107 -0
  346. data/ext/couchbase/couchbase/protocol/cmd_cluster_map_change_notification.cxx +51 -0
  347. data/ext/couchbase/couchbase/protocol/cmd_cluster_map_change_notification.hxx +57 -0
  348. data/ext/couchbase/couchbase/protocol/cmd_decrement.cxx +112 -0
  349. data/ext/couchbase/couchbase/protocol/cmd_decrement.hxx +131 -0
  350. data/ext/couchbase/couchbase/protocol/cmd_exists.cxx +92 -0
  351. data/ext/couchbase/couchbase/protocol/cmd_exists.hxx +121 -0
  352. data/ext/couchbase/couchbase/protocol/cmd_get.cxx +63 -0
  353. data/ext/couchbase/couchbase/protocol/cmd_get.hxx +101 -0
  354. data/ext/couchbase/couchbase/protocol/cmd_get_and_lock.cxx +68 -0
  355. data/ext/couchbase/couchbase/protocol/cmd_get_and_lock.hxx +117 -0
  356. data/ext/couchbase/couchbase/protocol/cmd_get_and_touch.cxx +70 -0
  357. data/ext/couchbase/couchbase/protocol/cmd_get_and_touch.hxx +117 -0
  358. data/ext/couchbase/couchbase/protocol/cmd_get_cluster_config.cxx +84 -0
  359. data/ext/couchbase/couchbase/protocol/cmd_get_cluster_config.hxx +89 -0
  360. data/ext/couchbase/couchbase/protocol/cmd_get_collection_id.cxx +50 -0
  361. data/ext/couchbase/couchbase/protocol/cmd_get_collection_id.hxx +98 -0
  362. data/ext/couchbase/couchbase/protocol/cmd_get_collections_manifest.cxx +44 -0
  363. data/ext/couchbase/couchbase/protocol/cmd_get_collections_manifest.hxx +84 -0
  364. data/ext/couchbase/couchbase/protocol/cmd_get_error_map.cxx +59 -0
  365. data/ext/couchbase/couchbase/protocol/cmd_get_error_map.hxx +103 -0
  366. data/ext/couchbase/couchbase/protocol/cmd_get_meta.cxx +74 -0
  367. data/ext/couchbase/couchbase/protocol/cmd_get_meta.hxx +119 -0
  368. data/ext/couchbase/couchbase/protocol/cmd_hello.cxx +66 -0
  369. data/ext/couchbase/couchbase/protocol/cmd_hello.hxx +144 -0
  370. data/ext/couchbase/couchbase/protocol/cmd_increment.cxx +117 -0
  371. data/ext/couchbase/couchbase/protocol/cmd_increment.hxx +131 -0
  372. data/ext/couchbase/couchbase/protocol/cmd_info.hxx +29 -0
  373. data/ext/couchbase/couchbase/protocol/cmd_insert.cxx +92 -0
  374. data/ext/couchbase/couchbase/protocol/cmd_insert.hxx +123 -0
  375. data/ext/couchbase/couchbase/protocol/cmd_lookup_in.cxx +109 -0
  376. data/ext/couchbase/couchbase/protocol/cmd_lookup_in.hxx +165 -0
  377. data/ext/couchbase/couchbase/protocol/cmd_mutate_in.cxx +174 -0
  378. data/ext/couchbase/couchbase/protocol/cmd_mutate_in.hxx +311 -0
  379. data/ext/couchbase/couchbase/protocol/cmd_noop.cxx +36 -0
  380. data/ext/couchbase/couchbase/protocol/cmd_noop.hxx +75 -0
  381. data/ext/couchbase/couchbase/protocol/cmd_prepend.cxx +82 -0
  382. data/ext/couchbase/couchbase/protocol/cmd_prepend.hxx +102 -0
  383. data/ext/couchbase/couchbase/protocol/cmd_remove.cxx +83 -0
  384. data/ext/couchbase/couchbase/protocol/cmd_remove.hxx +93 -0
  385. data/ext/couchbase/couchbase/protocol/cmd_replace.cxx +105 -0
  386. data/ext/couchbase/couchbase/protocol/cmd_replace.hxx +130 -0
  387. data/ext/couchbase/couchbase/protocol/cmd_sasl_auth.cxx +40 -0
  388. data/ext/couchbase/couchbase/protocol/cmd_sasl_auth.hxx +97 -0
  389. data/ext/couchbase/couchbase/protocol/cmd_sasl_list_mechs.cxx +48 -0
  390. data/ext/couchbase/couchbase/protocol/cmd_sasl_list_mechs.hxx +82 -0
  391. data/ext/couchbase/couchbase/protocol/cmd_sasl_step.cxx +40 -0
  392. data/ext/couchbase/couchbase/protocol/cmd_sasl_step.hxx +97 -0
  393. data/ext/couchbase/couchbase/protocol/cmd_select_bucket.cxx +36 -0
  394. data/ext/couchbase/couchbase/protocol/cmd_select_bucket.hxx +82 -0
  395. data/ext/couchbase/couchbase/protocol/cmd_touch.cxx +57 -0
  396. data/ext/couchbase/couchbase/protocol/cmd_touch.hxx +84 -0
  397. data/ext/couchbase/couchbase/protocol/cmd_unlock.cxx +48 -0
  398. data/ext/couchbase/couchbase/protocol/cmd_unlock.hxx +81 -0
  399. data/ext/couchbase/couchbase/protocol/cmd_upsert.cxx +104 -0
  400. data/ext/couchbase/couchbase/protocol/cmd_upsert.hxx +125 -0
  401. data/ext/couchbase/couchbase/protocol/datatype.hxx +48 -0
  402. data/ext/couchbase/couchbase/protocol/durability_level.hxx +59 -0
  403. data/ext/couchbase/couchbase/protocol/durability_level_fmt.hxx +52 -0
  404. data/ext/couchbase/{protocol → couchbase/protocol}/enhanced_error_info.hxx +0 -0
  405. data/ext/couchbase/couchbase/protocol/enhanced_error_info_fmt.hxx +44 -0
  406. data/ext/couchbase/couchbase/protocol/frame_info_id.hxx +142 -0
  407. data/ext/couchbase/couchbase/protocol/frame_info_id_fmt.hxx +79 -0
  408. data/ext/couchbase/couchbase/protocol/hello_feature.hxx +186 -0
  409. data/ext/couchbase/couchbase/protocol/hello_feature_fmt.hxx +106 -0
  410. data/ext/couchbase/couchbase/protocol/magic.hxx +53 -0
  411. data/ext/couchbase/couchbase/protocol/magic_fmt.hxx +58 -0
  412. data/ext/couchbase/couchbase/protocol/server_opcode.hxx +39 -0
  413. data/ext/couchbase/couchbase/protocol/server_opcode_fmt.hxx +46 -0
  414. data/ext/couchbase/couchbase/protocol/server_request.hxx +121 -0
  415. data/ext/couchbase/couchbase/protocol/status.cxx +187 -0
  416. data/ext/couchbase/couchbase/protocol/status.hxx +180 -0
  417. data/ext/couchbase/couchbase/protocol/status_fmt.hxx +241 -0
  418. data/ext/couchbase/couchbase/query_profile_mode.hxx +27 -0
  419. data/ext/couchbase/couchbase/query_scan_consistency.hxx +23 -0
  420. data/ext/couchbase/couchbase/sasl/CMakeLists.txt +16 -0
  421. data/ext/couchbase/couchbase/sasl/client.cc +50 -0
  422. data/ext/couchbase/couchbase/sasl/client.h +128 -0
  423. data/ext/couchbase/couchbase/sasl/context.cc +34 -0
  424. data/ext/couchbase/couchbase/sasl/context.h +52 -0
  425. data/ext/couchbase/couchbase/sasl/error.h +28 -0
  426. data/ext/couchbase/couchbase/sasl/error_fmt.h +70 -0
  427. data/ext/couchbase/couchbase/sasl/mechanism.cc +45 -0
  428. data/ext/couchbase/couchbase/sasl/mechanism.h +52 -0
  429. data/ext/couchbase/couchbase/sasl/plain/plain.cc +39 -0
  430. data/ext/couchbase/couchbase/sasl/plain/plain.h +54 -0
  431. data/ext/couchbase/couchbase/sasl/scram-sha/scram-sha.cc +372 -0
  432. data/ext/couchbase/couchbase/sasl/scram-sha/scram-sha.h +184 -0
  433. data/ext/couchbase/couchbase/sasl/scram-sha/stringutils.cc +82 -0
  434. data/ext/couchbase/{cbsasl → couchbase/sasl}/scram-sha/stringutils.h +0 -0
  435. data/ext/couchbase/couchbase/search_highlight_style.hxx +23 -0
  436. data/ext/couchbase/couchbase/search_scan_consistency.hxx +23 -0
  437. data/ext/couchbase/couchbase/service_type.hxx +31 -0
  438. data/ext/couchbase/couchbase/service_type_fmt.hxx +61 -0
  439. data/ext/couchbase/couchbase/timeout_defaults.hxx +42 -0
  440. data/ext/couchbase/couchbase/topology/CMakeLists.txt +9 -0
  441. data/ext/couchbase/couchbase/topology/capabilities.hxx +43 -0
  442. data/ext/couchbase/couchbase/topology/capabilities_fmt.hxx +106 -0
  443. data/ext/couchbase/couchbase/topology/collections_manifest.hxx +42 -0
  444. data/ext/couchbase/couchbase/topology/collections_manifest_fmt.hxx +52 -0
  445. data/ext/couchbase/couchbase/topology/collections_manifest_json.hxx +50 -0
  446. data/ext/couchbase/couchbase/topology/configuration.cxx +223 -0
  447. data/ext/couchbase/couchbase/topology/configuration.hxx +120 -0
  448. data/ext/couchbase/couchbase/topology/configuration_fmt.hxx +166 -0
  449. data/ext/couchbase/couchbase/topology/configuration_json.hxx +259 -0
  450. data/ext/couchbase/couchbase/topology/error_map.hxx +149 -0
  451. data/ext/couchbase/couchbase/topology/error_map_fmt.hxx +94 -0
  452. data/ext/couchbase/couchbase/topology/error_map_json.hxx +88 -0
  453. data/ext/couchbase/couchbase/tracing/CMakeLists.txt +9 -0
  454. data/ext/couchbase/couchbase/tracing/constants.hxx +274 -0
  455. data/ext/couchbase/couchbase/tracing/noop_tracer.hxx +55 -0
  456. data/ext/couchbase/couchbase/tracing/request_tracer.hxx +79 -0
  457. data/ext/couchbase/couchbase/tracing/threshold_logging_options.hxx +68 -0
  458. data/ext/couchbase/couchbase/tracing/threshold_logging_tracer.cxx +422 -0
  459. data/ext/couchbase/couchbase/tracing/threshold_logging_tracer.hxx +49 -0
  460. data/ext/couchbase/couchbase/utils/CMakeLists.txt +17 -0
  461. data/ext/couchbase/couchbase/utils/byteswap.cxx +45 -0
  462. data/ext/couchbase/couchbase/utils/byteswap.hxx +49 -0
  463. data/ext/couchbase/couchbase/utils/connection_string.cxx +420 -0
  464. data/ext/couchbase/couchbase/utils/connection_string.hxx +76 -0
  465. data/ext/couchbase/{utils → couchbase/utils}/crc32.hxx +0 -0
  466. data/ext/couchbase/couchbase/utils/duration_parser.cxx +193 -0
  467. data/ext/couchbase/couchbase/utils/duration_parser.hxx +45 -0
  468. data/ext/couchbase/couchbase/utils/join_strings.hxx +65 -0
  469. data/ext/couchbase/couchbase/utils/json.cxx +71 -0
  470. data/ext/couchbase/couchbase/utils/json.hxx +37 -0
  471. data/ext/couchbase/couchbase/utils/json_stream_control.hxx +32 -0
  472. data/ext/couchbase/couchbase/utils/json_streaming_lexer.cxx +394 -0
  473. data/ext/couchbase/couchbase/utils/json_streaming_lexer.hxx +58 -0
  474. data/ext/couchbase/couchbase/utils/movable_function.hxx +110 -0
  475. data/ext/couchbase/couchbase/utils/name_codec.hxx +41 -0
  476. data/ext/couchbase/couchbase/utils/unsigned_leb128.hxx +181 -0
  477. data/ext/couchbase/couchbase/utils/url_codec.cxx +404 -0
  478. data/ext/couchbase/couchbase/utils/url_codec.hxx +72 -0
  479. data/ext/couchbase/couchbase/view_scan_consistency.hxx +27 -0
  480. data/ext/couchbase/couchbase/view_sort_order.hxx +23 -0
  481. data/ext/couchbase/test/CMakeLists.txt +22 -0
  482. data/ext/couchbase/test/benchmark_helper_integration.hxx +22 -0
  483. data/ext/couchbase/test/benchmark_integration_get.cxx +45 -0
  484. data/ext/couchbase/test/test_helper.hxx +25 -0
  485. data/ext/couchbase/test/test_helper_integration.hxx +24 -0
  486. data/ext/couchbase/test/test_integration_arithmetic.cxx +112 -0
  487. data/ext/couchbase/test/test_integration_binary_operations.cxx +115 -0
  488. data/ext/couchbase/test/test_integration_collections.cxx +176 -0
  489. data/ext/couchbase/test/test_integration_connect.cxx +148 -0
  490. data/ext/couchbase/test/test_integration_crud.cxx +726 -0
  491. data/ext/couchbase/test/test_integration_diagnostics.cxx +365 -0
  492. data/ext/couchbase/test/test_integration_durability.cxx +82 -0
  493. data/ext/couchbase/test/test_integration_management.cxx +2657 -0
  494. data/ext/couchbase/test/test_integration_query.cxx +407 -0
  495. data/ext/couchbase/test/test_integration_subdoc.cxx +893 -0
  496. data/ext/couchbase/test/test_unit_connection_string.cxx +379 -0
  497. data/ext/couchbase/test/test_unit_json_streaming_lexer.cxx +115 -0
  498. data/ext/couchbase/test/test_unit_jsonsl.cxx +511 -0
  499. data/ext/couchbase/test/test_unit_utils.cxx +127 -0
  500. data/ext/couchbase/third_party/asio/asio/include/asio/any_io_executor.hpp +301 -0
  501. data/ext/couchbase/third_party/asio/asio/include/asio/associated_allocator.hpp +177 -0
  502. data/ext/couchbase/third_party/asio/asio/include/asio/associated_cancellation_slot.hpp +177 -0
  503. data/ext/couchbase/third_party/asio/asio/include/asio/associated_executor.hpp +222 -0
  504. data/ext/couchbase/third_party/asio/asio/include/asio/associator.hpp +35 -0
  505. data/ext/couchbase/third_party/asio/asio/include/asio/async_result.hpp +1271 -0
  506. data/ext/couchbase/third_party/asio/asio/include/asio/awaitable.hpp +133 -0
  507. data/ext/couchbase/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +1303 -0
  508. data/ext/couchbase/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +703 -0
  509. data/ext/couchbase/third_party/asio/asio/include/asio/basic_file.hpp +829 -0
  510. data/ext/couchbase/third_party/asio/asio/include/asio/basic_io_object.hpp +290 -0
  511. data/ext/couchbase/third_party/asio/asio/include/asio/basic_random_access_file.hpp +677 -0
  512. data/ext/couchbase/third_party/asio/asio/include/asio/basic_raw_socket.hpp +1294 -0
  513. data/ext/couchbase/third_party/asio/asio/include/asio/basic_readable_pipe.hpp +523 -0
  514. data/ext/couchbase/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +798 -0
  515. data/ext/couchbase/third_party/asio/asio/include/asio/basic_serial_port.hpp +907 -0
  516. data/ext/couchbase/third_party/asio/asio/include/asio/basic_signal_set.hpp +576 -0
  517. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket.hpp +1923 -0
  518. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +2606 -0
  519. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +407 -0
  520. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +687 -0
  521. data/ext/couchbase/third_party/asio/asio/include/asio/basic_stream_file.hpp +730 -0
  522. data/ext/couchbase/third_party/asio/asio/include/asio/basic_stream_socket.hpp +1120 -0
  523. data/ext/couchbase/third_party/asio/asio/include/asio/basic_streambuf.hpp +452 -0
  524. data/ext/couchbase/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +36 -0
  525. data/ext/couchbase/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +821 -0
  526. data/ext/couchbase/third_party/asio/asio/include/asio/basic_writable_pipe.hpp +519 -0
  527. data/ext/couchbase/third_party/asio/asio/include/asio/bind_cancellation_slot.hpp +721 -0
  528. data/ext/couchbase/third_party/asio/asio/include/asio/bind_executor.hpp +754 -0
  529. data/ext/couchbase/third_party/asio/asio/include/asio/buffer.hpp +2496 -0
  530. data/ext/couchbase/third_party/asio/asio/include/asio/buffer_registration.hpp +327 -0
  531. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_read_stream.hpp +253 -0
  532. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +25 -0
  533. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_stream.hpp +279 -0
  534. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +25 -0
  535. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_write_stream.hpp +245 -0
  536. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +25 -0
  537. data/ext/couchbase/third_party/asio/asio/include/asio/buffers_iterator.hpp +521 -0
  538. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_signal.hpp +305 -0
  539. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_state.hpp +235 -0
  540. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_type.hpp +174 -0
  541. data/ext/couchbase/third_party/asio/asio/include/asio/co_spawn.hpp +499 -0
  542. data/ext/couchbase/third_party/asio/asio/include/asio/completion_condition.hpp +218 -0
  543. data/ext/couchbase/third_party/asio/asio/include/asio/compose.hpp +136 -0
  544. data/ext/couchbase/third_party/asio/asio/include/asio/connect.hpp +1136 -0
  545. data/ext/couchbase/third_party/asio/asio/include/asio/connect_pipe.hpp +83 -0
  546. data/ext/couchbase/third_party/asio/asio/include/asio/coroutine.hpp +328 -0
  547. data/ext/couchbase/third_party/asio/asio/include/asio/deadline_timer.hpp +38 -0
  548. data/ext/couchbase/third_party/asio/asio/include/asio/defer.hpp +130 -0
  549. data/ext/couchbase/third_party/asio/asio/include/asio/detached.hpp +112 -0
  550. data/ext/couchbase/third_party/asio/asio/include/asio/detail/array.hpp +38 -0
  551. data/ext/couchbase/third_party/asio/asio/include/asio/detail/array_fwd.hpp +34 -0
  552. data/ext/couchbase/third_party/asio/asio/include/asio/detail/assert.hpp +32 -0
  553. data/ext/couchbase/third_party/asio/asio/include/asio/detail/atomic_count.hpp +67 -0
  554. data/ext/couchbase/third_party/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +163 -0
  555. data/ext/couchbase/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +69 -0
  556. data/ext/couchbase/third_party/asio/asio/include/asio/detail/bind_handler.hpp +1071 -0
  557. data/ext/couchbase/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  558. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +66 -0
  559. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +841 -0
  560. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +126 -0
  561. data/ext/couchbase/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  562. data/ext/couchbase/third_party/asio/asio/include/asio/detail/call_stack.hpp +125 -0
  563. data/ext/couchbase/third_party/asio/asio/include/asio/detail/chrono.hpp +66 -0
  564. data/ext/couchbase/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +190 -0
  565. data/ext/couchbase/third_party/asio/asio/include/asio/detail/completion_handler.hpp +88 -0
  566. data/ext/couchbase/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +94 -0
  567. data/ext/couchbase/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +120 -0
  568. data/ext/couchbase/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +149 -0
  569. data/ext/couchbase/third_party/asio/asio/include/asio/detail/config.hpp +1998 -0
  570. data/ext/couchbase/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +451 -0
  571. data/ext/couchbase/third_party/asio/asio/include/asio/detail/cstddef.hpp +31 -0
  572. data/ext/couchbase/third_party/asio/asio/include/asio/detail/cstdint.hpp +62 -0
  573. data/ext/couchbase/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +34 -0
  574. data/ext/couchbase/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +335 -0
  575. data/ext/couchbase/third_party/asio/asio/include/asio/detail/dependent_type.hpp +36 -0
  576. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +179 -0
  577. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +148 -0
  578. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +148 -0
  579. data/ext/couchbase/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +230 -0
  580. data/ext/couchbase/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +278 -0
  581. data/ext/couchbase/third_party/asio/asio/include/asio/detail/event.hpp +48 -0
  582. data/ext/couchbase/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +83 -0
  583. data/ext/couchbase/third_party/asio/asio/include/asio/detail/executor_function.hpp +204 -0
  584. data/ext/couchbase/third_party/asio/asio/include/asio/detail/executor_op.hpp +84 -0
  585. data/ext/couchbase/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +39 -0
  586. data/ext/couchbase/third_party/asio/asio/include/asio/detail/fenced_block.hpp +80 -0
  587. data/ext/couchbase/third_party/asio/asio/include/asio/detail/functional.hpp +44 -0
  588. data/ext/couchbase/third_party/asio/asio/include/asio/detail/future.hpp +33 -0
  589. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +91 -0
  590. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +68 -0
  591. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +65 -0
  592. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +99 -0
  593. data/ext/couchbase/third_party/asio/asio/include/asio/detail/global.hpp +52 -0
  594. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +288 -0
  595. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +45 -0
  596. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +80 -0
  597. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +264 -0
  598. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +559 -0
  599. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_work.hpp +525 -0
  600. data/ext/couchbase/third_party/asio/asio/include/asio/detail/hash_map.hpp +331 -0
  601. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +118 -0
  602. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +933 -0
  603. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +111 -0
  604. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +460 -0
  605. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +109 -0
  606. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +817 -0
  607. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +171 -0
  608. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +396 -0
  609. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +202 -0
  610. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +131 -0
  611. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_service.hpp +112 -0
  612. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_service.ipp +879 -0
  613. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +249 -0
  614. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +113 -0
  615. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +599 -0
  616. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +74 -0
  617. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +129 -0
  618. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +63 -0
  619. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +46 -0
  620. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +149 -0
  621. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +84 -0
  622. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +46 -0
  623. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +225 -0
  624. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +302 -0
  625. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +158 -0
  626. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +674 -0
  627. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +124 -0
  628. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +357 -0
  629. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +94 -0
  630. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +197 -0
  631. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +746 -0
  632. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +3964 -0
  633. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +185 -0
  634. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +354 -0
  635. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +158 -0
  636. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +87 -0
  637. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +202 -0
  638. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/thread_context.ipp +35 -0
  639. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +66 -0
  640. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +97 -0
  641. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +101 -0
  642. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +76 -0
  643. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +250 -0
  644. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +525 -0
  645. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +120 -0
  646. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +608 -0
  647. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +192 -0
  648. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +821 -0
  649. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +84 -0
  650. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +448 -0
  651. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +136 -0
  652. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +150 -0
  653. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +57 -0
  654. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +626 -0
  655. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +92 -0
  656. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +121 -0
  657. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +82 -0
  658. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_control.hpp +84 -0
  659. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +172 -0
  660. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +190 -0
  661. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +185 -0
  662. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +661 -0
  663. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +184 -0
  664. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +180 -0
  665. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_file_service.hpp +251 -0
  666. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +111 -0
  667. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_operation.hpp +84 -0
  668. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_service.hpp +318 -0
  669. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +277 -0
  670. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +137 -0
  671. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +200 -0
  672. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +201 -0
  673. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +187 -0
  674. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +186 -0
  675. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +189 -0
  676. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_service.hpp +613 -0
  677. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +663 -0
  678. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_wait_op.hpp +109 -0
  679. data/ext/couchbase/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +338 -0
  680. data/ext/couchbase/third_party/asio/asio/include/asio/detail/is_executor.hpp +126 -0
  681. data/ext/couchbase/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +70 -0
  682. data/ext/couchbase/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +254 -0
  683. data/ext/{third_party → couchbase/third_party}/asio/asio/include/asio/detail/limits.hpp +0 -0
  684. data/ext/couchbase/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +59 -0
  685. data/ext/couchbase/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +62 -0
  686. data/ext/couchbase/third_party/asio/asio/include/asio/detail/memory.hpp +133 -0
  687. data/ext/couchbase/third_party/asio/asio/include/asio/detail/mutex.hpp +48 -0
  688. data/ext/couchbase/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +54 -0
  689. data/ext/couchbase/third_party/asio/asio/include/asio/detail/noncopyable.hpp +43 -0
  690. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_event.hpp +106 -0
  691. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +47 -0
  692. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_global.hpp +59 -0
  693. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_mutex.hpp +60 -0
  694. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_reactor.hpp +83 -0
  695. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +69 -0
  696. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +519 -0
  697. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +60 -0
  698. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_thread.hpp +67 -0
  699. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +68 -0
  700. data/ext/couchbase/third_party/asio/asio/include/asio/detail/object_pool.hpp +171 -0
  701. data/ext/couchbase/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +214 -0
  702. data/ext/couchbase/third_party/asio/asio/include/asio/detail/op_queue.hpp +162 -0
  703. data/ext/couchbase/third_party/asio/asio/include/asio/detail/operation.hpp +38 -0
  704. data/ext/couchbase/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +89 -0
  705. data/ext/couchbase/third_party/asio/asio/include/asio/detail/pop_options.hpp +153 -0
  706. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_event.hpp +175 -0
  707. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +118 -0
  708. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_global.hpp +80 -0
  709. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +76 -0
  710. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_serial_port_service.hpp +248 -0
  711. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +85 -0
  712. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +64 -0
  713. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_thread.hpp +109 -0
  714. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +79 -0
  715. data/ext/couchbase/third_party/asio/asio/include/asio/detail/push_options.hpp +219 -0
  716. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +511 -0
  717. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +98 -0
  718. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +242 -0
  719. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +123 -0
  720. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +159 -0
  721. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +164 -0
  722. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +145 -0
  723. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +162 -0
  724. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +156 -0
  725. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +607 -0
  726. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +654 -0
  727. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +98 -0
  728. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor.hpp +54 -0
  729. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor_op.hpp +71 -0
  730. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +212 -0
  731. data/ext/couchbase/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +105 -0
  732. data/ext/couchbase/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +44 -0
  733. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +140 -0
  734. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_op.hpp +45 -0
  735. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +150 -0
  736. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolver_service.hpp +145 -0
  737. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +158 -0
  738. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler.hpp +241 -0
  739. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +78 -0
  740. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_task.hpp +49 -0
  741. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +40 -0
  742. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +101 -0
  743. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +87 -0
  744. data/ext/couchbase/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +46 -0
  745. data/ext/couchbase/third_party/asio/asio/include/asio/detail/select_reactor.hpp +252 -0
  746. data/ext/couchbase/third_party/asio/asio/include/asio/detail/service_registry.hpp +164 -0
  747. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +44 -0
  748. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_handler.hpp +90 -0
  749. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_init.hpp +47 -0
  750. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_op.hpp +49 -0
  751. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +241 -0
  752. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_holder.hpp +98 -0
  753. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_ops.hpp +383 -0
  754. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_option.hpp +316 -0
  755. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +91 -0
  756. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_types.hpp +417 -0
  757. data/ext/couchbase/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +62 -0
  758. data/ext/couchbase/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  759. data/ext/couchbase/third_party/asio/asio/include/asio/detail/static_mutex.hpp +52 -0
  760. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_event.hpp +188 -0
  761. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +62 -0
  762. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_global.hpp +70 -0
  763. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_mutex.hpp +73 -0
  764. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +81 -0
  765. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_thread.hpp +71 -0
  766. data/ext/couchbase/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +173 -0
  767. data/ext/couchbase/third_party/asio/asio/include/asio/detail/strand_service.hpp +144 -0
  768. data/ext/couchbase/third_party/asio/asio/include/asio/detail/string_view.hpp +47 -0
  769. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread.hpp +60 -0
  770. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_context.hpp +51 -0
  771. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_group.hpp +99 -0
  772. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +260 -0
  773. data/ext/couchbase/third_party/asio/asio/include/asio/detail/throw_error.hpp +53 -0
  774. data/ext/couchbase/third_party/asio/asio/include/asio/detail/throw_exception.hpp +51 -0
  775. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue.hpp +389 -0
  776. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +68 -0
  777. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +103 -0
  778. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +66 -0
  779. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +37 -0
  780. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +42 -0
  781. data/ext/couchbase/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +69 -0
  782. data/ext/couchbase/third_party/asio/asio/include/asio/detail/type_traits.hpp +156 -0
  783. data/ext/couchbase/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +294 -0
  784. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wait_handler.hpp +90 -0
  785. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wait_op.hpp +49 -0
  786. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_event.hpp +164 -0
  787. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +149 -0
  788. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +90 -0
  789. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_global.hpp +71 -0
  790. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_file_service.hpp +280 -0
  791. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +117 -0
  792. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +403 -0
  793. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +110 -0
  794. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +345 -0
  795. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +127 -0
  796. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +96 -0
  797. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +96 -0
  798. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +171 -0
  799. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +232 -0
  800. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +338 -0
  801. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +135 -0
  802. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +124 -0
  803. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +133 -0
  804. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +125 -0
  805. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +118 -0
  806. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +659 -0
  807. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +832 -0
  808. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +34 -0
  809. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +128 -0
  810. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_mutex.hpp +78 -0
  811. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +195 -0
  812. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +74 -0
  813. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_thread.hpp +147 -0
  814. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +79 -0
  815. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +124 -0
  816. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wince_thread.hpp +124 -0
  817. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +305 -0
  818. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +65 -0
  819. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +125 -0
  820. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +212 -0
  821. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +98 -0
  822. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +119 -0
  823. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +110 -0
  824. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +250 -0
  825. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +362 -0
  826. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +147 -0
  827. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +106 -0
  828. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winsock_init.hpp +128 -0
  829. data/ext/couchbase/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +151 -0
  830. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +327 -0
  831. data/ext/couchbase/third_party/asio/asio/include/asio/dispatch.hpp +121 -0
  832. data/ext/couchbase/third_party/asio/asio/include/asio/error.hpp +356 -0
  833. data/ext/couchbase/third_party/asio/asio/include/asio/error_code.hpp +202 -0
  834. data/ext/couchbase/third_party/asio/asio/include/asio/execution/allocator.hpp +337 -0
  835. data/ext/couchbase/third_party/asio/asio/include/asio/execution/any_executor.hpp +2351 -0
  836. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  837. data/ext/couchbase/third_party/asio/asio/include/asio/execution/blocking.hpp +1551 -0
  838. data/ext/couchbase/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1212 -0
  839. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +397 -0
  840. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1215 -0
  841. data/ext/couchbase/third_party/asio/asio/include/asio/execution/connect.hpp +489 -0
  842. data/ext/couchbase/third_party/asio/asio/include/asio/execution/context.hpp +233 -0
  843. data/ext/couchbase/third_party/asio/asio/include/asio/execution/context_as.hpp +221 -0
  844. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  845. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  846. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  847. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  848. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  849. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  850. data/ext/couchbase/third_party/asio/asio/include/asio/execution/execute.hpp +283 -0
  851. data/ext/couchbase/third_party/asio/asio/include/asio/execution/executor.hpp +252 -0
  852. data/ext/couchbase/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  853. data/ext/couchbase/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  854. data/ext/couchbase/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  855. data/ext/couchbase/third_party/asio/asio/include/asio/execution/mapping.hpp +1116 -0
  856. data/ext/couchbase/third_party/asio/asio/include/asio/execution/occupancy.hpp +226 -0
  857. data/ext/couchbase/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  858. data/ext/couchbase/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +867 -0
  859. data/ext/couchbase/third_party/asio/asio/include/asio/execution/prefer_only.hpp +331 -0
  860. data/ext/couchbase/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  861. data/ext/couchbase/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  862. data/ext/couchbase/third_party/asio/asio/include/asio/execution/relationship.hpp +865 -0
  863. data/ext/couchbase/third_party/asio/asio/include/asio/execution/schedule.hpp +287 -0
  864. data/ext/couchbase/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  865. data/ext/couchbase/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  866. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_done.hpp +250 -0
  867. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_error.hpp +250 -0
  868. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_value.hpp +483 -0
  869. data/ext/couchbase/third_party/asio/asio/include/asio/execution/start.hpp +247 -0
  870. data/ext/couchbase/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  871. data/ext/couchbase/third_party/asio/asio/include/asio/execution.hpp +48 -0
  872. data/ext/couchbase/third_party/asio/asio/include/asio/execution_context.hpp +412 -0
  873. data/ext/couchbase/third_party/asio/asio/include/asio/executor.hpp +347 -0
  874. data/ext/couchbase/third_party/asio/asio/include/asio/executor_work_guard.hpp +302 -0
  875. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/append.hpp +71 -0
  876. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/as_single.hpp +135 -0
  877. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/as_tuple.hpp +131 -0
  878. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/awaitable_operators.hpp +536 -0
  879. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/basic_channel.hpp +415 -0
  880. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +424 -0
  881. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/cancellation_condition.hpp +155 -0
  882. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel.hpp +70 -0
  883. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel_error.hpp +84 -0
  884. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel_traits.hpp +231 -0
  885. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/co_spawn.hpp +191 -0
  886. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/concurrent_channel.hpp +70 -0
  887. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/coro.hpp +263 -0
  888. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/coro_traits.hpp +228 -0
  889. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/deferred.hpp +605 -0
  890. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_handler.hpp +70 -0
  891. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_message.hpp +122 -0
  892. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_operation.hpp +199 -0
  893. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_payload.hpp +93 -0
  894. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +112 -0
  895. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +131 -0
  896. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +140 -0
  897. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_service.hpp +497 -0
  898. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/completion_handler_erasure.hpp +158 -0
  899. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/coro_promise_allocator.hpp +118 -0
  900. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/has_signature.hpp +54 -0
  901. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +611 -0
  902. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/partial_promise.hpp +176 -0
  903. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/append.hpp +217 -0
  904. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/as_single.hpp +229 -0
  905. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/as_tuple.hpp +246 -0
  906. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/channel_error.ipp +61 -0
  907. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/coro.hpp +1204 -0
  908. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/deferred.hpp +104 -0
  909. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/parallel_group.hpp +432 -0
  910. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/prepend.hpp +217 -0
  911. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/promise.hpp +102 -0
  912. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/use_coro.hpp +267 -0
  913. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/parallel_group.hpp +215 -0
  914. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/prepend.hpp +71 -0
  915. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/promise.hpp +610 -0
  916. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/use_coro.hpp +169 -0
  917. data/ext/couchbase/third_party/asio/asio/include/asio/file_base.hpp +160 -0
  918. data/ext/couchbase/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +193 -0
  919. data/ext/couchbase/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +123 -0
  920. data/ext/couchbase/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +133 -0
  921. data/ext/couchbase/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +110 -0
  922. data/ext/couchbase/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +121 -0
  923. data/ext/couchbase/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +122 -0
  924. data/ext/couchbase/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +127 -0
  925. data/ext/couchbase/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +104 -0
  926. data/ext/couchbase/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +54 -0
  927. data/ext/couchbase/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +111 -0
  928. data/ext/couchbase/third_party/asio/asio/include/asio/high_resolution_timer.hpp +44 -0
  929. data/ext/couchbase/third_party/asio/asio/include/asio/impl/any_io_executor.ipp +124 -0
  930. data/ext/couchbase/third_party/asio/asio/include/asio/impl/awaitable.hpp +760 -0
  931. data/ext/couchbase/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +498 -0
  932. data/ext/couchbase/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +478 -0
  933. data/ext/couchbase/third_party/asio/asio/include/asio/impl/cancellation_signal.ipp +96 -0
  934. data/ext/couchbase/third_party/asio/asio/include/asio/impl/co_spawn.hpp +346 -0
  935. data/ext/couchbase/third_party/asio/asio/include/asio/impl/compose.hpp +707 -0
  936. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect.hpp +905 -0
  937. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect_pipe.hpp +73 -0
  938. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect_pipe.ipp +149 -0
  939. data/ext/couchbase/third_party/asio/asio/include/asio/impl/defer.hpp +256 -0
  940. data/ext/couchbase/third_party/asio/asio/include/asio/impl/detached.hpp +130 -0
  941. data/ext/couchbase/third_party/asio/asio/include/asio/impl/dispatch.hpp +251 -0
  942. data/ext/couchbase/third_party/asio/asio/include/asio/impl/error.ipp +128 -0
  943. data/ext/couchbase/third_party/asio/asio/include/asio/impl/error_code.ipp +206 -0
  944. data/ext/couchbase/third_party/asio/asio/include/asio/impl/execution_context.hpp +109 -0
  945. data/ext/couchbase/third_party/asio/asio/include/asio/impl/execution_context.ipp +82 -0
  946. data/ext/couchbase/third_party/asio/asio/include/asio/impl/executor.hpp +300 -0
  947. data/ext/couchbase/third_party/asio/asio/include/asio/impl/executor.ipp +43 -0
  948. data/ext/couchbase/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +62 -0
  949. data/ext/couchbase/third_party/asio/asio/include/asio/impl/io_context.hpp +444 -0
  950. data/ext/couchbase/third_party/asio/asio/include/asio/impl/io_context.ipp +175 -0
  951. data/ext/couchbase/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  952. data/ext/couchbase/third_party/asio/asio/include/asio/impl/post.hpp +256 -0
  953. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read.hpp +1199 -0
  954. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read_at.hpp +733 -0
  955. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read_until.hpp +3315 -0
  956. data/ext/couchbase/third_party/asio/asio/include/asio/impl/redirect_error.hpp +609 -0
  957. data/ext/couchbase/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +59 -0
  958. data/ext/couchbase/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +554 -0
  959. data/ext/couchbase/third_party/asio/asio/include/asio/impl/spawn.hpp +517 -0
  960. data/ext/couchbase/third_party/asio/asio/include/asio/impl/src.hpp +95 -0
  961. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_context.hpp +34 -0
  962. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_context.ipp +92 -0
  963. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_executor.hpp +185 -0
  964. data/ext/couchbase/third_party/asio/asio/include/asio/impl/thread_pool.hpp +354 -0
  965. data/ext/couchbase/third_party/asio/asio/include/asio/impl/thread_pool.ipp +141 -0
  966. data/ext/couchbase/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +291 -0
  967. data/ext/couchbase/third_party/asio/asio/include/asio/impl/use_future.hpp +1028 -0
  968. data/ext/couchbase/third_party/asio/asio/include/asio/impl/write.hpp +1100 -0
  969. data/ext/couchbase/third_party/asio/asio/include/asio/impl/write_at.hpp +644 -0
  970. data/ext/couchbase/third_party/asio/asio/include/asio/io_context.hpp +1560 -0
  971. data/ext/couchbase/third_party/asio/asio/include/asio/io_context_strand.hpp +376 -0
  972. data/ext/couchbase/third_party/asio/asio/include/asio/io_service.hpp +33 -0
  973. data/ext/couchbase/third_party/asio/asio/include/asio/io_service_strand.hpp +20 -0
  974. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address.hpp +290 -0
  975. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4.hpp +355 -0
  976. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +162 -0
  977. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +134 -0
  978. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6.hpp +382 -0
  979. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +183 -0
  980. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +129 -0
  981. data/ext/couchbase/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +53 -0
  982. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +291 -0
  983. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +1076 -0
  984. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +113 -0
  985. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +192 -0
  986. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +244 -0
  987. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +311 -0
  988. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +141 -0
  989. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +199 -0
  990. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +566 -0
  991. data/ext/couchbase/third_party/asio/asio/include/asio/ip/host_name.hpp +42 -0
  992. data/ext/couchbase/third_party/asio/asio/include/asio/ip/icmp.hpp +115 -0
  993. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address.hpp +67 -0
  994. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address.ipp +239 -0
  995. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +67 -0
  996. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +210 -0
  997. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +67 -0
  998. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +350 -0
  999. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +43 -0
  1000. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +54 -0
  1001. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +54 -0
  1002. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +216 -0
  1003. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +53 -0
  1004. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +185 -0
  1005. data/ext/couchbase/third_party/asio/asio/include/asio/ip/multicast.hpp +191 -0
  1006. data/ext/couchbase/third_party/asio/asio/include/asio/ip/network_v4.hpp +261 -0
  1007. data/ext/couchbase/third_party/asio/asio/include/asio/ip/network_v6.hpp +235 -0
  1008. data/ext/couchbase/third_party/asio/asio/include/asio/ip/resolver_base.hpp +129 -0
  1009. data/ext/couchbase/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +43 -0
  1010. data/ext/couchbase/third_party/asio/asio/include/asio/ip/tcp.hpp +155 -0
  1011. data/ext/couchbase/third_party/asio/asio/include/asio/ip/udp.hpp +111 -0
  1012. data/ext/couchbase/third_party/asio/asio/include/asio/ip/unicast.hpp +70 -0
  1013. data/ext/couchbase/third_party/asio/asio/include/asio/ip/v6_only.hpp +69 -0
  1014. data/ext/couchbase/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  1015. data/ext/couchbase/third_party/asio/asio/include/asio/is_executor.hpp +46 -0
  1016. data/ext/couchbase/third_party/asio/asio/include/asio/is_read_buffered.hpp +59 -0
  1017. data/ext/couchbase/third_party/asio/asio/include/asio/is_write_buffered.hpp +59 -0
  1018. data/ext/couchbase/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +247 -0
  1019. data/ext/couchbase/third_party/asio/asio/include/asio/local/connect_pair.hpp +101 -0
  1020. data/ext/couchbase/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +80 -0
  1021. data/ext/couchbase/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +139 -0
  1022. data/ext/couchbase/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +131 -0
  1023. data/ext/couchbase/third_party/asio/asio/include/asio/local/stream_protocol.hpp +90 -0
  1024. data/ext/couchbase/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  1025. data/ext/couchbase/third_party/asio/asio/include/asio/packaged_task.hpp +126 -0
  1026. data/ext/couchbase/third_party/asio/asio/include/asio/placeholders.hpp +151 -0
  1027. data/ext/couchbase/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +720 -0
  1028. data/ext/couchbase/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +501 -0
  1029. data/ext/couchbase/third_party/asio/asio/include/asio/posix/descriptor.hpp +37 -0
  1030. data/ext/couchbase/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +90 -0
  1031. data/ext/couchbase/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +37 -0
  1032. data/ext/couchbase/third_party/asio/asio/include/asio/post.hpp +126 -0
  1033. data/ext/couchbase/third_party/asio/asio/include/asio/prefer.hpp +734 -0
  1034. data/ext/couchbase/third_party/asio/asio/include/asio/query.hpp +324 -0
  1035. data/ext/couchbase/third_party/asio/asio/include/asio/random_access_file.hpp +35 -0
  1036. data/ext/couchbase/third_party/asio/asio/include/asio/read.hpp +1388 -0
  1037. data/ext/couchbase/third_party/asio/asio/include/asio/read_at.hpp +738 -0
  1038. data/ext/couchbase/third_party/asio/asio/include/asio/read_until.hpp +3031 -0
  1039. data/ext/couchbase/third_party/asio/asio/include/asio/readable_pipe.hpp +35 -0
  1040. data/ext/couchbase/third_party/asio/asio/include/asio/redirect_error.hpp +66 -0
  1041. data/ext/couchbase/third_party/asio/asio/include/asio/registered_buffer.hpp +356 -0
  1042. data/ext/couchbase/third_party/asio/asio/include/asio/require.hpp +571 -0
  1043. data/ext/couchbase/third_party/asio/asio/include/asio/require_concept.hpp +352 -0
  1044. data/ext/couchbase/third_party/asio/asio/include/asio/serial_port.hpp +36 -0
  1045. data/ext/couchbase/third_party/asio/asio/include/asio/serial_port_base.hpp +167 -0
  1046. data/ext/couchbase/third_party/asio/asio/include/asio/signal_set.hpp +28 -0
  1047. data/ext/couchbase/third_party/asio/asio/include/asio/socket_base.hpp +559 -0
  1048. data/ext/couchbase/third_party/asio/asio/include/asio/spawn.hpp +344 -0
  1049. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/context.hpp +761 -0
  1050. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/context_base.hpp +209 -0
  1051. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +119 -0
  1052. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +170 -0
  1053. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +67 -0
  1054. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +363 -0
  1055. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +165 -0
  1056. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/io.hpp +425 -0
  1057. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +101 -0
  1058. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +34 -0
  1059. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +66 -0
  1060. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +72 -0
  1061. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +69 -0
  1062. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +206 -0
  1063. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +62 -0
  1064. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +76 -0
  1065. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/error.hpp +125 -0
  1066. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +90 -0
  1067. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/context.hpp +67 -0
  1068. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/context.ipp +1245 -0
  1069. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/error.ipp +102 -0
  1070. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +73 -0
  1071. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +164 -0
  1072. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/src.hpp +29 -0
  1073. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +98 -0
  1074. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/stream.hpp +972 -0
  1075. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/stream_base.hpp +52 -0
  1076. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/verify_context.hpp +67 -0
  1077. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +63 -0
  1078. data/ext/couchbase/third_party/asio/asio/include/asio/ssl.hpp +28 -0
  1079. data/ext/couchbase/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  1080. data/ext/couchbase/third_party/asio/asio/include/asio/steady_timer.hpp +42 -0
  1081. data/ext/couchbase/third_party/asio/asio/include/asio/strand.hpp +569 -0
  1082. data/ext/couchbase/third_party/asio/asio/include/asio/stream_file.hpp +35 -0
  1083. data/ext/couchbase/third_party/asio/asio/include/asio/streambuf.hpp +33 -0
  1084. data/ext/couchbase/third_party/asio/asio/include/asio/system_context.hpp +90 -0
  1085. data/ext/couchbase/third_party/asio/asio/include/asio/system_error.hpp +131 -0
  1086. data/ext/couchbase/third_party/asio/asio/include/asio/system_executor.hpp +684 -0
  1087. data/ext/couchbase/third_party/asio/asio/include/asio/system_timer.hpp +42 -0
  1088. data/ext/couchbase/third_party/asio/asio/include/asio/this_coro.hpp +280 -0
  1089. data/ext/couchbase/third_party/asio/asio/include/asio/thread.hpp +92 -0
  1090. data/ext/couchbase/third_party/asio/asio/include/asio/thread_pool.hpp +1140 -0
  1091. data/ext/couchbase/third_party/asio/asio/include/asio/time_traits.hpp +86 -0
  1092. data/ext/couchbase/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  1093. data/ext/couchbase/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  1094. data/ext/couchbase/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  1095. data/ext/couchbase/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  1096. data/ext/couchbase/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +104 -0
  1097. data/ext/couchbase/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  1098. data/ext/couchbase/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  1099. data/ext/couchbase/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  1100. data/ext/couchbase/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  1101. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  1102. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  1103. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  1104. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  1105. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  1106. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  1107. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  1108. data/ext/couchbase/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  1109. data/ext/couchbase/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  1110. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  1111. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  1112. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  1113. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  1114. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  1115. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  1116. data/ext/couchbase/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  1117. data/ext/couchbase/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  1118. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  1119. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  1120. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +124 -0
  1121. data/ext/couchbase/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  1122. data/ext/couchbase/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  1123. data/ext/couchbase/third_party/asio/asio/include/asio/ts/buffer.hpp +24 -0
  1124. data/ext/couchbase/third_party/asio/asio/include/asio/ts/executor.hpp +35 -0
  1125. data/ext/couchbase/third_party/asio/asio/include/asio/ts/internet.hpp +40 -0
  1126. data/ext/couchbase/third_party/asio/asio/include/asio/ts/io_context.hpp +20 -0
  1127. data/ext/couchbase/third_party/asio/asio/include/asio/ts/net.hpp +26 -0
  1128. data/ext/couchbase/third_party/asio/asio/include/asio/ts/netfwd.hpp +254 -0
  1129. data/ext/couchbase/third_party/asio/asio/include/asio/ts/socket.hpp +27 -0
  1130. data/ext/couchbase/third_party/asio/asio/include/asio/ts/timer.hpp +26 -0
  1131. data/ext/couchbase/third_party/asio/asio/include/asio/unyield.hpp +21 -0
  1132. data/ext/couchbase/third_party/asio/asio/include/asio/use_awaitable.hpp +166 -0
  1133. data/ext/couchbase/third_party/asio/asio/include/asio/use_future.hpp +160 -0
  1134. data/ext/couchbase/third_party/asio/asio/include/asio/uses_executor.hpp +71 -0
  1135. data/ext/couchbase/third_party/asio/asio/include/asio/version.hpp +23 -0
  1136. data/ext/couchbase/third_party/asio/asio/include/asio/wait_traits.hpp +56 -0
  1137. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +435 -0
  1138. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +361 -0
  1139. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +510 -0
  1140. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +494 -0
  1141. data/ext/couchbase/third_party/asio/asio/include/asio/windows/object_handle.hpp +38 -0
  1142. data/ext/couchbase/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +39 -0
  1143. data/ext/couchbase/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +145 -0
  1144. data/ext/couchbase/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +37 -0
  1145. data/ext/couchbase/third_party/asio/asio/include/asio/windows/stream_handle.hpp +37 -0
  1146. data/ext/couchbase/third_party/asio/asio/include/asio/writable_pipe.hpp +35 -0
  1147. data/ext/couchbase/third_party/asio/asio/include/asio/write.hpp +1346 -0
  1148. data/ext/couchbase/third_party/asio/asio/include/asio/write_at.hpp +746 -0
  1149. data/ext/couchbase/third_party/asio/asio/include/asio/yield.hpp +23 -0
  1150. data/ext/couchbase/third_party/asio/asio/include/asio.hpp +201 -0
  1151. data/ext/couchbase/third_party/fmt/CMakeLists.txt +410 -0
  1152. data/ext/couchbase/third_party/fmt/ChangeLog.rst +4364 -0
  1153. data/ext/{third_party/spdlog/include/spdlog/fmt/bundled → couchbase/third_party/fmt}/LICENSE.rst +0 -0
  1154. data/ext/couchbase/third_party/fmt/README.rst +528 -0
  1155. data/ext/couchbase/third_party/fmt/include/fmt/args.h +244 -0
  1156. data/ext/couchbase/third_party/fmt/include/fmt/chrono.h +2055 -0
  1157. data/ext/couchbase/third_party/fmt/include/fmt/color.h +638 -0
  1158. data/ext/couchbase/third_party/fmt/include/fmt/compile.h +642 -0
  1159. data/ext/couchbase/third_party/fmt/include/fmt/core.h +3217 -0
  1160. data/ext/couchbase/third_party/fmt/include/fmt/format-inl.h +2637 -0
  1161. data/ext/couchbase/third_party/fmt/include/fmt/format.h +3120 -0
  1162. data/ext/couchbase/third_party/fmt/include/fmt/locale.h +2 -0
  1163. data/ext/couchbase/third_party/fmt/include/fmt/os.h +527 -0
  1164. data/ext/couchbase/third_party/fmt/include/fmt/ostream.h +135 -0
  1165. data/ext/couchbase/third_party/fmt/include/fmt/printf.h +657 -0
  1166. data/ext/couchbase/third_party/fmt/include/fmt/ranges.h +742 -0
  1167. data/ext/couchbase/third_party/fmt/include/fmt/xchar.h +236 -0
  1168. data/ext/couchbase/third_party/fmt/src/fmt.cc +99 -0
  1169. data/ext/couchbase/third_party/fmt/src/format.cc +124 -0
  1170. data/ext/couchbase/third_party/fmt/src/os.cc +361 -0
  1171. data/ext/couchbase/third_party/fmt/support/cmake/FindSetEnv.cmake +7 -0
  1172. data/ext/couchbase/third_party/fmt/support/cmake/JoinPaths.cmake +26 -0
  1173. data/ext/couchbase/third_party/fmt/support/cmake/cxx14.cmake +70 -0
  1174. data/ext/couchbase/third_party/fmt/support/cmake/fmt-config.cmake.in +4 -0
  1175. data/ext/couchbase/third_party/fmt/support/cmake/fmt.pc.in +11 -0
  1176. data/ext/couchbase/third_party/gsl/CMakeLists.txt +61 -0
  1177. data/ext/{third_party → couchbase/third_party}/gsl/LICENSE +0 -0
  1178. data/ext/{third_party → couchbase/third_party}/gsl/ThirdPartyNotices.txt +0 -0
  1179. data/ext/couchbase/third_party/gsl/cmake/guidelineSupportLibrary.cmake +116 -0
  1180. data/ext/couchbase/third_party/gsl/include/CMakeLists.txt +20 -0
  1181. data/ext/couchbase/third_party/gsl/include/gsl/algorithm +63 -0
  1182. data/ext/couchbase/third_party/gsl/include/gsl/assert +136 -0
  1183. data/ext/couchbase/third_party/gsl/include/gsl/byte +213 -0
  1184. data/ext/couchbase/third_party/gsl/include/gsl/gsl +32 -0
  1185. data/ext/couchbase/third_party/gsl/include/gsl/gsl_algorithm +4 -0
  1186. data/ext/couchbase/third_party/gsl/include/gsl/gsl_assert +3 -0
  1187. data/ext/couchbase/third_party/gsl/include/gsl/gsl_byte +3 -0
  1188. data/ext/couchbase/third_party/gsl/include/gsl/gsl_narrow +3 -0
  1189. data/ext/couchbase/third_party/gsl/include/gsl/gsl_util +3 -0
  1190. data/ext/couchbase/third_party/gsl/include/gsl/narrow +66 -0
  1191. data/ext/couchbase/third_party/gsl/include/gsl/pointers +323 -0
  1192. data/ext/couchbase/third_party/gsl/include/gsl/span +821 -0
  1193. data/ext/couchbase/third_party/gsl/include/gsl/span_ext +212 -0
  1194. data/ext/couchbase/third_party/gsl/include/gsl/string_span +767 -0
  1195. data/ext/couchbase/third_party/gsl/include/gsl/util +157 -0
  1196. data/ext/couchbase/third_party/hdr_histogram_c/CMakeLists.txt +84 -0
  1197. data/ext/couchbase/third_party/hdr_histogram_c/COPYING.txt +121 -0
  1198. data/ext/couchbase/third_party/hdr_histogram_c/LICENSE.txt +41 -0
  1199. data/ext/couchbase/third_party/hdr_histogram_c/config.cmake.in +6 -0
  1200. data/ext/couchbase/third_party/hdr_histogram_c/src/CMakeLists.txt +83 -0
  1201. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_atomic.h +146 -0
  1202. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_encoding.c +322 -0
  1203. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_encoding.h +79 -0
  1204. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_endian.h +116 -0
  1205. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram.c +1211 -0
  1206. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram.h +516 -0
  1207. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram_log.c +1290 -0
  1208. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram_log.h +236 -0
  1209. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram_log_no_op.c +171 -0
  1210. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_interval_recorder.c +227 -0
  1211. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_interval_recorder.h +109 -0
  1212. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_malloc.h +19 -0
  1213. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_tests.h +22 -0
  1214. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_thread.c +108 -0
  1215. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_thread.h +55 -0
  1216. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_time.c +98 -0
  1217. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_time.h +49 -0
  1218. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_writer_reader_phaser.c +143 -0
  1219. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_writer_reader_phaser.h +51 -0
  1220. data/ext/{third_party → couchbase/third_party}/http_parser/LICENSE-MIT +0 -0
  1221. data/ext/{third_party → couchbase/third_party}/http_parser/http_parser.c +0 -0
  1222. data/ext/{third_party → couchbase/third_party}/http_parser/http_parser.h +0 -0
  1223. data/ext/couchbase/third_party/json/CMakeLists.txt +90 -0
  1224. data/ext/couchbase/third_party/json/LICENSE +21 -0
  1225. data/ext/{third_party → couchbase/third_party}/json/LICENSE.double-conversion +0 -0
  1226. data/ext/{third_party → couchbase/third_party}/json/LICENSE.itoa +0 -0
  1227. data/ext/{third_party → couchbase/third_party}/json/LICENSE.ryu +0 -0
  1228. data/ext/couchbase/third_party/json/external/PEGTL/.cmake/pegtl-config.cmake.in +4 -0
  1229. data/ext/couchbase/third_party/json/external/PEGTL/.cmake/test_filesystem.cpp.in +22 -0
  1230. data/ext/couchbase/third_party/json/external/PEGTL/CMakeLists.txt +155 -0
  1231. data/ext/couchbase/third_party/json/external/PEGTL/LICENSE +21 -0
  1232. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/apply_mode.hpp +19 -0
  1233. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/argv_input.hpp +49 -0
  1234. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/ascii.hpp +54 -0
  1235. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/buffer_input.hpp +226 -0
  1236. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action.hpp +38 -0
  1237. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action_and_state.hpp +71 -0
  1238. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action_and_states.hpp +62 -0
  1239. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_control.hpp +36 -0
  1240. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_state.hpp +69 -0
  1241. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_states.hpp +61 -0
  1242. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/config.hpp +11 -0
  1243. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/abnf.hpp +35 -0
  1244. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/add_state.hpp +69 -0
  1245. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/alphabet.hpp +67 -0
  1246. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/analyze.hpp +189 -0
  1247. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/analyze_traits.hpp +277 -0
  1248. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/check_bytes.hpp +55 -0
  1249. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/control_action.hpp +81 -0
  1250. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/coverage.hpp +151 -0
  1251. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/forward.hpp +16 -0
  1252. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/function.hpp +52 -0
  1253. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/http.hpp +277 -0
  1254. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/internal.hpp +98 -0
  1255. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf16.hpp +196 -0
  1256. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf32.hpp +196 -0
  1257. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf8.hpp +103 -0
  1258. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/if_then.hpp +56 -0
  1259. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/instantiate.hpp +38 -0
  1260. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/integer.hpp +468 -0
  1261. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian.hpp +77 -0
  1262. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian_gcc.hpp +198 -0
  1263. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian_win.hpp +102 -0
  1264. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint.hpp +54 -0
  1265. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint8.hpp +33 -0
  1266. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_uint.hpp +45 -0
  1267. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_uint8.hpp +32 -0
  1268. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_utf16.hpp +54 -0
  1269. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_utf32.hpp +43 -0
  1270. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/read_uint.hpp +77 -0
  1271. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  1272. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/vector_stack_guard.hpp +45 -0
  1273. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/iri.hpp +106 -0
  1274. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/json.hpp +91 -0
  1275. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/json_pointer.hpp +33 -0
  1276. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/limit_bytes.hpp +88 -0
  1277. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/limit_depth.hpp +83 -0
  1278. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/parse_tree.hpp +443 -0
  1279. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/parse_tree_to_dot.hpp +111 -0
  1280. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/peg.hpp +121 -0
  1281. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/predicates.hpp +126 -0
  1282. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/print.hpp +75 -0
  1283. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/print_coverage.hpp +53 -0
  1284. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/proto3.hpp +142 -0
  1285. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/raw_string.hpp +232 -0
  1286. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/remove_first_state.hpp +72 -0
  1287. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/remove_last_states.hpp +121 -0
  1288. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/rep_one_min_max.hpp +100 -0
  1289. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/rep_string.hpp +43 -0
  1290. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/separated_seq.hpp +45 -0
  1291. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/shuffle_states.hpp +193 -0
  1292. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/state_control.hpp +122 -0
  1293. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/to_string.hpp +38 -0
  1294. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/trace.hpp +227 -0
  1295. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint16.hpp +62 -0
  1296. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint32.hpp +62 -0
  1297. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint64.hpp +63 -0
  1298. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint8.hpp +36 -0
  1299. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/unescape.hpp +214 -0
  1300. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uri.hpp +111 -0
  1301. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/utf16.hpp +57 -0
  1302. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/utf32.hpp +57 -0
  1303. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/cstream_input.hpp +32 -0
  1304. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/demangle.hpp +175 -0
  1305. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/disable_action.hpp +35 -0
  1306. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input.hpp +37 -0
  1307. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input_on_failure.hpp +39 -0
  1308. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input_on_success.hpp +39 -0
  1309. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/enable_action.hpp +35 -0
  1310. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/eol.hpp +37 -0
  1311. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/eol_pair.hpp +18 -0
  1312. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/file_input.hpp +44 -0
  1313. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/action.hpp +54 -0
  1314. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/action_input.hpp +106 -0
  1315. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/any.hpp +77 -0
  1316. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply.hpp +53 -0
  1317. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply0.hpp +51 -0
  1318. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply0_single.hpp +34 -0
  1319. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply_single.hpp +34 -0
  1320. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/at.hpp +55 -0
  1321. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bof.hpp +32 -0
  1322. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bol.hpp +31 -0
  1323. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bump.hpp +45 -0
  1324. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bump_help.hpp +26 -0
  1325. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bytes.hpp +43 -0
  1326. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/control.hpp +54 -0
  1327. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cr_crlf_eol.hpp +32 -0
  1328. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cr_eol.hpp +32 -0
  1329. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/crlf_eol.hpp +32 -0
  1330. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cstream_reader.hpp +58 -0
  1331. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cstring_reader.hpp +40 -0
  1332. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/dependent_false.hpp +16 -0
  1333. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/dependent_true.hpp +16 -0
  1334. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/disable.hpp +54 -0
  1335. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/discard.hpp +34 -0
  1336. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/enable.hpp +54 -0
  1337. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/enable_control.hpp +25 -0
  1338. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eof.hpp +32 -0
  1339. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eol.hpp +32 -0
  1340. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eolf.hpp +33 -0
  1341. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/failure.hpp +32 -0
  1342. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_mapper_posix.hpp +159 -0
  1343. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_mapper_win32.hpp +243 -0
  1344. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_reader.hpp +152 -0
  1345. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/filesystem.hpp +64 -0
  1346. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_apply.hpp +21 -0
  1347. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_apply0.hpp +21 -0
  1348. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_match.hpp +40 -0
  1349. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_unwind.hpp +21 -0
  1350. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/identifier.hpp +22 -0
  1351. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_apply.hpp +54 -0
  1352. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_must.hpp +52 -0
  1353. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_must_else.hpp +26 -0
  1354. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_then_else.hpp +51 -0
  1355. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/input_pair.hpp +29 -0
  1356. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/istream_reader.hpp +50 -0
  1357. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/istring.hpp +81 -0
  1358. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/iterator.hpp +49 -0
  1359. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/lf_crlf_eol.hpp +37 -0
  1360. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/lf_eol.hpp +32 -0
  1361. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list.hpp +19 -0
  1362. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_must.hpp +25 -0
  1363. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_tail.hpp +22 -0
  1364. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_tail_pad.hpp +22 -0
  1365. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/marker.hpp +80 -0
  1366. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/minus.hpp +21 -0
  1367. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/missing_apply.hpp +28 -0
  1368. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/missing_apply0.hpp +26 -0
  1369. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/must.hpp +69 -0
  1370. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/not_at.hpp +55 -0
  1371. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/one.hpp +66 -0
  1372. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/opt.hpp +57 -0
  1373. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pad.hpp +19 -0
  1374. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pad_opt.hpp +20 -0
  1375. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/path_to_string.hpp +28 -0
  1376. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/peek_char.hpp +32 -0
  1377. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/peek_utf8.hpp +89 -0
  1378. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pegtl_string.hpp +90 -0
  1379. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/plus.hpp +60 -0
  1380. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/raise.hpp +49 -0
  1381. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/range.hpp +60 -0
  1382. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/ranges.hpp +90 -0
  1383. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rematch.hpp +72 -0
  1384. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep.hpp +67 -0
  1385. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_min.hpp +20 -0
  1386. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_min_max.hpp +81 -0
  1387. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_opt.hpp +61 -0
  1388. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/require.hpp +42 -0
  1389. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/result_on_found.hpp +19 -0
  1390. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rules.hpp +64 -0
  1391. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/seq.hpp +58 -0
  1392. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/sor.hpp +67 -0
  1393. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/star.hpp +52 -0
  1394. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/star_must.hpp +24 -0
  1395. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/state.hpp +75 -0
  1396. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/string.hpp +67 -0
  1397. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/success.hpp +32 -0
  1398. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/try_catch_type.hpp +69 -0
  1399. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/until.hpp +88 -0
  1400. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/istream_input.hpp +32 -0
  1401. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/match.hpp +173 -0
  1402. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/memory_input.hpp +378 -0
  1403. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/mmap_input.hpp +79 -0
  1404. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/must_if.hpp +69 -0
  1405. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/normal.hpp +99 -0
  1406. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/nothing.hpp +19 -0
  1407. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/parse.hpp +72 -0
  1408. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/parse_error.hpp +119 -0
  1409. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/position.hpp +98 -0
  1410. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/read_input.hpp +54 -0
  1411. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/require_apply.hpp +16 -0
  1412. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/require_apply0.hpp +16 -0
  1413. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/rewind_mode.hpp +20 -0
  1414. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/rules.hpp +71 -0
  1415. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/string_input.hpp +64 -0
  1416. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/tracking_mode.hpp +19 -0
  1417. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/type_list.hpp +46 -0
  1418. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/utf8.hpp +28 -0
  1419. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/version.hpp +13 -0
  1420. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/visit.hpp +80 -0
  1421. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl.hpp +48 -0
  1422. data/ext/couchbase/third_party/json/include/tao/json/basic_value.hpp +962 -0
  1423. data/ext/couchbase/third_party/json/include/tao/json/binary.hpp +103 -0
  1424. data/ext/couchbase/third_party/json/include/tao/json/binary_view.hpp +31 -0
  1425. data/ext/couchbase/third_party/json/include/tao/json/binding/constant.hpp +231 -0
  1426. data/ext/couchbase/third_party/json/include/tao/json/binding/element.hpp +71 -0
  1427. data/ext/couchbase/third_party/json/include/tao/json/binding/element2.hpp +35 -0
  1428. data/ext/couchbase/third_party/json/include/tao/json/binding/factory.hpp +253 -0
  1429. data/ext/couchbase/third_party/json/include/tao/json/binding/for_nothing_value.hpp +17 -0
  1430. data/ext/couchbase/third_party/json/include/tao/json/binding/for_unknown_key.hpp +17 -0
  1431. data/ext/couchbase/third_party/json/include/tao/json/binding/inherit.hpp +14 -0
  1432. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/array.hpp +105 -0
  1433. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/elementr.hpp +134 -0
  1434. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/elementw.hpp +251 -0
  1435. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/inherit.hpp +45 -0
  1436. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/object.hpp +269 -0
  1437. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/type_key.hpp +54 -0
  1438. data/ext/couchbase/third_party/json/include/tao/json/binding/member.hpp +47 -0
  1439. data/ext/couchbase/third_party/json/include/tao/json/binding/member_kind.hpp +17 -0
  1440. data/ext/couchbase/third_party/json/include/tao/json/binding/versions.hpp +130 -0
  1441. data/ext/couchbase/third_party/json/include/tao/json/binding.hpp +74 -0
  1442. data/ext/couchbase/third_party/json/include/tao/json/cbor/consume_file.hpp +34 -0
  1443. data/ext/couchbase/third_party/json/include/tao/json/cbor/consume_string.hpp +32 -0
  1444. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/from_binary.hpp +44 -0
  1445. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/from_file.hpp +27 -0
  1446. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/from_input.hpp +43 -0
  1447. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/from_string.hpp +37 -0
  1448. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/to_stream.hpp +161 -0
  1449. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/to_string.hpp +37 -0
  1450. data/ext/couchbase/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  1451. data/ext/couchbase/third_party/json/include/tao/json/cbor/from_file.hpp +33 -0
  1452. data/ext/couchbase/third_party/json/include/tao/json/cbor/from_input.hpp +33 -0
  1453. data/ext/couchbase/third_party/json/include/tao/json/cbor/from_string.hpp +32 -0
  1454. data/ext/couchbase/third_party/json/include/tao/json/cbor/internal/grammar.hpp +424 -0
  1455. data/ext/couchbase/third_party/json/include/tao/json/cbor/internal/major.hpp +28 -0
  1456. data/ext/couchbase/third_party/json/include/tao/json/cbor/parts_parser.hpp +395 -0
  1457. data/ext/couchbase/third_party/json/include/tao/json/cbor/to_stream.hpp +27 -0
  1458. data/ext/couchbase/third_party/json/include/tao/json/cbor/to_string.hpp +29 -0
  1459. data/ext/couchbase/third_party/json/include/tao/json/cbor.hpp +19 -0
  1460. data/ext/couchbase/third_party/json/include/tao/json/consume.hpp +43 -0
  1461. data/ext/couchbase/third_party/json/include/tao/json/consume_file.hpp +33 -0
  1462. data/ext/couchbase/third_party/json/include/tao/json/consume_string.hpp +31 -0
  1463. data/ext/couchbase/third_party/json/include/tao/json/contrib/array_traits.hpp +43 -0
  1464. data/ext/couchbase/third_party/json/include/tao/json/contrib/deque_traits.hpp +41 -0
  1465. data/ext/couchbase/third_party/json/include/tao/json/contrib/diff.hpp +106 -0
  1466. data/ext/couchbase/third_party/json/include/tao/json/contrib/get.hpp +152 -0
  1467. data/ext/couchbase/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +92 -0
  1468. data/ext/couchbase/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +76 -0
  1469. data/ext/couchbase/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +105 -0
  1470. data/ext/couchbase/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +36 -0
  1471. data/ext/couchbase/third_party/json/include/tao/json/contrib/list_traits.hpp +41 -0
  1472. data/ext/couchbase/third_party/json/include/tao/json/contrib/map_traits.hpp +43 -0
  1473. data/ext/couchbase/third_party/json/include/tao/json/contrib/multimap_traits.hpp +43 -0
  1474. data/ext/couchbase/third_party/json/include/tao/json/contrib/multiset_traits.hpp +41 -0
  1475. data/ext/couchbase/third_party/json/include/tao/json/contrib/pair_traits.hpp +21 -0
  1476. data/ext/couchbase/third_party/json/include/tao/json/contrib/patch.hpp +117 -0
  1477. data/ext/{third_party → couchbase/third_party}/json/include/tao/json/contrib/pointer_traits.hpp +0 -0
  1478. data/ext/couchbase/third_party/json/include/tao/json/contrib/position.hpp +166 -0
  1479. data/ext/couchbase/third_party/json/include/tao/json/contrib/reference.hpp +113 -0
  1480. data/ext/couchbase/third_party/json/include/tao/json/contrib/schema.hpp +1874 -0
  1481. data/ext/couchbase/third_party/json/include/tao/json/contrib/set_traits.hpp +41 -0
  1482. data/ext/couchbase/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +98 -0
  1483. data/ext/couchbase/third_party/json/include/tao/json/contrib/traits.hpp +128 -0
  1484. data/ext/couchbase/third_party/json/include/tao/json/contrib/tuple_traits.hpp +51 -0
  1485. data/ext/couchbase/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +97 -0
  1486. data/ext/couchbase/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +43 -0
  1487. data/ext/couchbase/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +41 -0
  1488. data/ext/couchbase/third_party/json/include/tao/json/contrib/variant_traits.hpp +73 -0
  1489. data/ext/couchbase/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +45 -0
  1490. data/ext/couchbase/third_party/json/include/tao/json/contrib/vector_traits.hpp +51 -0
  1491. data/ext/couchbase/third_party/json/include/tao/json/events/apply.hpp +20 -0
  1492. data/ext/couchbase/third_party/json/include/tao/json/events/binary_to_base64.hpp +26 -0
  1493. data/ext/couchbase/third_party/json/include/tao/json/events/binary_to_base64url.hpp +28 -0
  1494. data/ext/couchbase/third_party/json/include/tao/json/events/binary_to_exception.hpp +27 -0
  1495. data/ext/couchbase/third_party/json/include/tao/json/events/binary_to_hex.hpp +26 -0
  1496. data/ext/couchbase/third_party/json/include/tao/json/events/compare.hpp +255 -0
  1497. data/ext/couchbase/third_party/json/include/tao/json/events/debug.hpp +145 -0
  1498. data/ext/couchbase/third_party/json/include/tao/json/events/discard.hpp +43 -0
  1499. data/ext/couchbase/third_party/json/include/tao/json/events/from_file.hpp +28 -0
  1500. data/ext/couchbase/third_party/json/include/tao/json/events/from_input.hpp +45 -0
  1501. data/ext/couchbase/third_party/json/include/tao/json/events/from_stream.hpp +33 -0
  1502. data/ext/couchbase/third_party/json/include/tao/json/events/from_string.hpp +38 -0
  1503. data/ext/couchbase/third_party/json/include/tao/json/events/from_value.hpp +205 -0
  1504. data/ext/couchbase/third_party/json/include/tao/json/events/hash.hpp +174 -0
  1505. data/ext/couchbase/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +50 -0
  1506. data/ext/couchbase/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +49 -0
  1507. data/ext/couchbase/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +48 -0
  1508. data/ext/couchbase/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +62 -0
  1509. data/ext/couchbase/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +57 -0
  1510. data/ext/couchbase/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +82 -0
  1511. data/ext/couchbase/third_party/json/include/tao/json/events/limit_value_count.hpp +46 -0
  1512. data/ext/couchbase/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +31 -0
  1513. data/ext/couchbase/third_party/json/include/tao/json/events/non_finite_to_null.hpp +32 -0
  1514. data/ext/couchbase/third_party/json/include/tao/json/events/non_finite_to_string.hpp +40 -0
  1515. data/ext/couchbase/third_party/json/include/tao/json/events/prefer_signed.hpp +32 -0
  1516. data/ext/couchbase/third_party/json/include/tao/json/events/prefer_unsigned.hpp +32 -0
  1517. data/ext/couchbase/third_party/json/include/tao/json/events/produce.hpp +120 -0
  1518. data/ext/couchbase/third_party/json/include/tao/json/events/ref.hpp +114 -0
  1519. data/ext/couchbase/third_party/json/include/tao/json/events/statistics.hpp +112 -0
  1520. data/ext/couchbase/third_party/json/include/tao/json/events/tee.hpp +386 -0
  1521. data/ext/couchbase/third_party/json/include/tao/json/events/to_pretty_stream.hpp +172 -0
  1522. data/ext/couchbase/third_party/json/include/tao/json/events/to_stream.hpp +142 -0
  1523. data/ext/couchbase/third_party/json/include/tao/json/events/to_string.hpp +39 -0
  1524. data/ext/couchbase/third_party/json/include/tao/json/events/to_value.hpp +137 -0
  1525. data/ext/couchbase/third_party/json/include/tao/json/events/transformer.hpp +70 -0
  1526. data/ext/couchbase/third_party/json/include/tao/json/events/validate_event_order.hpp +415 -0
  1527. data/ext/couchbase/third_party/json/include/tao/json/events/validate_keys.hpp +52 -0
  1528. data/ext/couchbase/third_party/json/include/tao/json/events/virtual_base.hpp +192 -0
  1529. data/ext/couchbase/third_party/json/include/tao/json/events/virtual_ref.hpp +179 -0
  1530. data/ext/couchbase/third_party/json/include/tao/json/events/virtual_wrap.hpp +166 -0
  1531. data/ext/couchbase/third_party/json/include/tao/json/events.hpp +52 -0
  1532. data/ext/couchbase/third_party/json/include/tao/json/external/double.hpp +1306 -0
  1533. data/ext/couchbase/third_party/json/include/tao/json/external/itoa.hpp +151 -0
  1534. data/ext/couchbase/third_party/json/include/tao/json/external/ryu.hpp +1216 -0
  1535. data/ext/couchbase/third_party/json/include/tao/json/forward.hpp +44 -0
  1536. data/ext/couchbase/third_party/json/include/tao/json/from_file.hpp +32 -0
  1537. data/ext/couchbase/third_party/json/include/tao/json/from_input.hpp +32 -0
  1538. data/ext/couchbase/third_party/json/include/tao/json/from_stream.hpp +45 -0
  1539. data/ext/couchbase/third_party/json/include/tao/json/from_string.hpp +41 -0
  1540. data/ext/couchbase/third_party/json/include/tao/json/internal/action.hpp +271 -0
  1541. data/ext/couchbase/third_party/json/include/tao/json/internal/base64.hpp +55 -0
  1542. data/ext/couchbase/third_party/json/include/tao/json/internal/base64url.hpp +53 -0
  1543. data/ext/couchbase/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  1544. data/ext/couchbase/third_party/json/include/tao/json/internal/endian.hpp +60 -0
  1545. data/ext/couchbase/third_party/json/include/tao/json/internal/endian_gcc.hpp +198 -0
  1546. data/ext/couchbase/third_party/json/include/tao/json/internal/endian_win.hpp +103 -0
  1547. data/ext/couchbase/third_party/json/include/tao/json/internal/errors.hpp +86 -0
  1548. data/ext/couchbase/third_party/json/include/tao/json/internal/escape.hpp +69 -0
  1549. data/ext/couchbase/third_party/json/include/tao/json/internal/filesystem.hpp +15 -0
  1550. data/ext/couchbase/third_party/json/include/tao/json/internal/format.hpp +59 -0
  1551. data/ext/couchbase/third_party/json/include/tao/json/internal/grammar.hpp +231 -0
  1552. data/ext/couchbase/third_party/json/include/tao/json/internal/hexdump.hpp +33 -0
  1553. data/ext/couchbase/third_party/json/include/tao/json/internal/identity.hpp +22 -0
  1554. data/ext/couchbase/third_party/json/include/tao/json/internal/number_state.hpp +81 -0
  1555. data/ext/couchbase/third_party/json/include/tao/json/internal/number_traits.hpp +267 -0
  1556. data/ext/couchbase/third_party/json/include/tao/json/internal/pair.hpp +42 -0
  1557. data/ext/couchbase/third_party/json/include/tao/json/internal/parse_util.hpp +113 -0
  1558. data/ext/couchbase/third_party/json/include/tao/json/internal/sha256.hpp +218 -0
  1559. data/ext/couchbase/third_party/json/include/tao/json/internal/single.hpp +40 -0
  1560. data/ext/couchbase/third_party/json/include/tao/json/internal/string_t.hpp +35 -0
  1561. data/ext/couchbase/third_party/json/include/tao/json/internal/type_traits.hpp +97 -0
  1562. data/ext/couchbase/third_party/json/include/tao/json/internal/unescape_action.hpp +24 -0
  1563. data/ext/couchbase/third_party/json/include/tao/json/internal/uri_fragment.hpp +182 -0
  1564. data/ext/couchbase/third_party/json/include/tao/json/jaxn/consume_file.hpp +34 -0
  1565. data/ext/couchbase/third_party/json/include/tao/json/jaxn/consume_string.hpp +32 -0
  1566. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/from_file.hpp +29 -0
  1567. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/from_input.hpp +45 -0
  1568. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +33 -0
  1569. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/from_string.hpp +39 -0
  1570. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +69 -0
  1571. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +67 -0
  1572. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/to_string.hpp +39 -0
  1573. data/ext/couchbase/third_party/json/include/tao/json/jaxn/from_file.hpp +33 -0
  1574. data/ext/couchbase/third_party/json/include/tao/json/jaxn/from_input.hpp +33 -0
  1575. data/ext/couchbase/third_party/json/include/tao/json/jaxn/from_stream.hpp +48 -0
  1576. data/ext/couchbase/third_party/json/include/tao/json/jaxn/from_string.hpp +42 -0
  1577. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/action.hpp +380 -0
  1578. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +115 -0
  1579. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/errors.hpp +110 -0
  1580. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +381 -0
  1581. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/integer.hpp +255 -0
  1582. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +28 -0
  1583. data/ext/couchbase/third_party/json/include/tao/json/jaxn/is_identifier.hpp +23 -0
  1584. data/ext/couchbase/third_party/json/include/tao/json/jaxn/parts_parser.hpp +261 -0
  1585. data/ext/couchbase/third_party/json/include/tao/json/jaxn/to_stream.hpp +36 -0
  1586. data/ext/couchbase/third_party/json/include/tao/json/jaxn/to_string.hpp +34 -0
  1587. data/ext/couchbase/third_party/json/include/tao/json/jaxn.hpp +19 -0
  1588. data/ext/couchbase/third_party/json/include/tao/json/message_extension.hpp +49 -0
  1589. data/ext/couchbase/third_party/json/include/tao/json/msgpack/consume_file.hpp +34 -0
  1590. data/ext/couchbase/third_party/json/include/tao/json/msgpack/consume_string.hpp +32 -0
  1591. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +44 -0
  1592. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/from_file.hpp +27 -0
  1593. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/from_input.hpp +43 -0
  1594. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/from_string.hpp +37 -0
  1595. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +214 -0
  1596. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/to_string.hpp +37 -0
  1597. data/ext/couchbase/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  1598. data/ext/couchbase/third_party/json/include/tao/json/msgpack/from_file.hpp +33 -0
  1599. data/ext/couchbase/third_party/json/include/tao/json/msgpack/from_input.hpp +33 -0
  1600. data/ext/couchbase/third_party/json/include/tao/json/msgpack/from_string.hpp +32 -0
  1601. data/ext/couchbase/third_party/json/include/tao/json/msgpack/internal/format.hpp +57 -0
  1602. data/ext/couchbase/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +230 -0
  1603. data/ext/couchbase/third_party/json/include/tao/json/msgpack/parts_parser.hpp +315 -0
  1604. data/ext/couchbase/third_party/json/include/tao/json/msgpack/to_stream.hpp +27 -0
  1605. data/ext/couchbase/third_party/json/include/tao/json/msgpack/to_string.hpp +29 -0
  1606. data/ext/couchbase/third_party/json/include/tao/json/msgpack.hpp +19 -0
  1607. data/ext/couchbase/third_party/json/include/tao/json/operators.hpp +490 -0
  1608. data/ext/couchbase/third_party/json/include/tao/json/parts_parser.hpp +333 -0
  1609. data/ext/couchbase/third_party/json/include/tao/json/pointer.hpp +433 -0
  1610. data/ext/couchbase/third_party/json/include/tao/json/produce.hpp +61 -0
  1611. data/ext/couchbase/third_party/json/include/tao/json/self_contained.hpp +130 -0
  1612. data/ext/couchbase/third_party/json/include/tao/json/span.hpp +496 -0
  1613. data/ext/couchbase/third_party/json/include/tao/json/stream.hpp +38 -0
  1614. data/ext/couchbase/third_party/json/include/tao/json/to_stream.hpp +42 -0
  1615. data/ext/couchbase/third_party/json/include/tao/json/to_string.hpp +25 -0
  1616. data/ext/couchbase/third_party/json/include/tao/json/traits.hpp +975 -0
  1617. data/ext/couchbase/third_party/json/include/tao/json/type.hpp +112 -0
  1618. data/ext/couchbase/third_party/json/include/tao/json/ubjson/consume_file.hpp +34 -0
  1619. data/ext/couchbase/third_party/json/include/tao/json/ubjson/consume_string.hpp +32 -0
  1620. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +44 -0
  1621. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/from_file.hpp +27 -0
  1622. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/from_input.hpp +43 -0
  1623. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/from_string.hpp +37 -0
  1624. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +174 -0
  1625. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/to_string.hpp +37 -0
  1626. data/ext/couchbase/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  1627. data/ext/couchbase/third_party/json/include/tao/json/ubjson/from_file.hpp +33 -0
  1628. data/ext/couchbase/third_party/json/include/tao/json/ubjson/from_input.hpp +33 -0
  1629. data/ext/couchbase/third_party/json/include/tao/json/ubjson/from_string.hpp +32 -0
  1630. data/ext/couchbase/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +415 -0
  1631. data/ext/couchbase/third_party/json/include/tao/json/ubjson/internal/marker.hpp +46 -0
  1632. data/ext/couchbase/third_party/json/include/tao/json/ubjson/parts_parser.hpp +396 -0
  1633. data/ext/couchbase/third_party/json/include/tao/json/ubjson/to_stream.hpp +28 -0
  1634. data/ext/couchbase/third_party/json/include/tao/json/ubjson/to_string.hpp +30 -0
  1635. data/ext/couchbase/third_party/json/include/tao/json/ubjson.hpp +19 -0
  1636. data/ext/couchbase/third_party/json/include/tao/json/utf8.hpp +56 -0
  1637. data/ext/couchbase/third_party/json/include/tao/json/value.hpp +12 -0
  1638. data/ext/couchbase/third_party/json/include/tao/json.hpp +45 -0
  1639. data/ext/couchbase/third_party/jsonsl/LICENSE +20 -0
  1640. data/ext/couchbase/third_party/jsonsl/jsonsl.c +3059 -0
  1641. data/ext/couchbase/third_party/jsonsl/jsonsl.h +978 -0
  1642. data/ext/couchbase/third_party/snappy/CMakeLists.txt +297 -0
  1643. data/ext/{third_party → couchbase/third_party}/snappy/COPYING +0 -0
  1644. data/ext/{third_party → couchbase/third_party}/snappy/cmake/SnappyConfig.cmake.in +0 -0
  1645. data/ext/couchbase/third_party/snappy/cmake/config.h.in +62 -0
  1646. data/ext/{third_party → couchbase/third_party}/snappy/snappy-c.cc +0 -0
  1647. data/ext/{third_party → couchbase/third_party}/snappy/snappy-c.h +0 -0
  1648. data/ext/couchbase/third_party/snappy/snappy-internal.h +231 -0
  1649. data/ext/couchbase/third_party/snappy/snappy-sinksource.cc +104 -0
  1650. data/ext/{third_party → couchbase/third_party}/snappy/snappy-sinksource.h +0 -0
  1651. data/ext/couchbase/third_party/snappy/snappy-stubs-internal.cc +42 -0
  1652. data/ext/couchbase/third_party/snappy/snappy-stubs-internal.h +606 -0
  1653. data/ext/couchbase/third_party/snappy/snappy-stubs-public.h.in +74 -0
  1654. data/ext/couchbase/third_party/snappy/snappy.cc +1661 -0
  1655. data/ext/couchbase/third_party/snappy/snappy.h +207 -0
  1656. data/ext/couchbase/third_party/spdlog/CMakeLists.txt +320 -0
  1657. data/ext/{third_party → couchbase/third_party}/spdlog/LICENSE +0 -0
  1658. data/ext/{third_party → couchbase/third_party}/spdlog/cmake/ide.cmake +0 -0
  1659. data/ext/{third_party → couchbase/third_party}/spdlog/cmake/pch.h.in +0 -0
  1660. data/ext/{third_party → couchbase/third_party}/spdlog/cmake/spdlog.pc.in +0 -0
  1661. data/ext/couchbase/third_party/spdlog/cmake/spdlogCPack.cmake +60 -0
  1662. data/ext/couchbase/third_party/spdlog/cmake/spdlogConfig.cmake.in +19 -0
  1663. data/ext/couchbase/third_party/spdlog/cmake/utils.cmake +62 -0
  1664. data/ext/{third_party → couchbase/third_party}/spdlog/cmake/version.rc.in +0 -0
  1665. data/ext/couchbase/third_party/spdlog/include/spdlog/async.h +93 -0
  1666. data/ext/couchbase/third_party/spdlog/include/spdlog/async_logger-inl.h +92 -0
  1667. data/ext/couchbase/third_party/spdlog/include/spdlog/async_logger.h +68 -0
  1668. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/cfg/argv.h +0 -0
  1669. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/cfg/env.h +0 -0
  1670. data/ext/couchbase/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +120 -0
  1671. data/ext/couchbase/third_party/spdlog/include/spdlog/cfg/helpers.h +29 -0
  1672. data/ext/couchbase/third_party/spdlog/include/spdlog/common-inl.h +78 -0
  1673. data/ext/couchbase/third_party/spdlog/include/spdlog/common.h +276 -0
  1674. data/ext/couchbase/third_party/spdlog/include/spdlog/details/backtracer-inl.h +69 -0
  1675. data/ext/couchbase/third_party/spdlog/include/spdlog/details/backtracer.h +45 -0
  1676. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/details/circular_q.h +0 -0
  1677. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/details/console_globals.h +0 -0
  1678. data/ext/couchbase/third_party/spdlog/include/spdlog/details/file_helper-inl.h +147 -0
  1679. data/ext/couchbase/third_party/spdlog/include/spdlog/details/file_helper.h +59 -0
  1680. data/ext/couchbase/third_party/spdlog/include/spdlog/details/fmt_helper.h +117 -0
  1681. data/ext/couchbase/third_party/spdlog/include/spdlog/details/log_msg-inl.h +37 -0
  1682. data/ext/couchbase/third_party/spdlog/include/spdlog/details/log_msg.h +37 -0
  1683. data/ext/couchbase/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +58 -0
  1684. data/ext/couchbase/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +33 -0
  1685. data/ext/couchbase/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +126 -0
  1686. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/details/null_mutex.h +0 -0
  1687. data/ext/couchbase/third_party/spdlog/include/spdlog/details/os-inl.h +599 -0
  1688. data/ext/couchbase/third_party/spdlog/include/spdlog/details/os.h +118 -0
  1689. data/ext/couchbase/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +49 -0
  1690. data/ext/couchbase/third_party/spdlog/include/spdlog/details/periodic_worker.h +40 -0
  1691. data/ext/couchbase/third_party/spdlog/include/spdlog/details/registry-inl.h +313 -0
  1692. data/ext/couchbase/third_party/spdlog/include/spdlog/details/registry.h +115 -0
  1693. data/ext/couchbase/third_party/spdlog/include/spdlog/details/synchronous_factory.h +24 -0
  1694. data/ext/couchbase/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +175 -0
  1695. data/ext/couchbase/third_party/spdlog/include/spdlog/details/tcp_client.h +146 -0
  1696. data/ext/couchbase/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +129 -0
  1697. data/ext/couchbase/third_party/spdlog/include/spdlog/details/thread_pool.h +120 -0
  1698. data/ext/couchbase/third_party/spdlog/include/spdlog/details/windows_include.h +11 -0
  1699. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +217 -0
  1700. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/args.h +232 -0
  1701. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +1308 -0
  1702. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/color.h +627 -0
  1703. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +639 -0
  1704. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/core.h +3002 -0
  1705. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +2620 -0
  1706. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/format.h +2830 -0
  1707. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +2 -0
  1708. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/os.h +515 -0
  1709. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +181 -0
  1710. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +652 -0
  1711. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +468 -0
  1712. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/xchar.h +236 -0
  1713. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  1714. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/compile.h +20 -0
  1715. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/fmt.h +27 -0
  1716. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/ostr.h +20 -0
  1717. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/xchar.h +20 -0
  1718. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/formatter.h +0 -0
  1719. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/fwd.h +0 -0
  1720. data/ext/couchbase/third_party/spdlog/include/spdlog/logger-inl.h +257 -0
  1721. data/ext/couchbase/third_party/spdlog/include/spdlog/logger.h +403 -0
  1722. data/ext/couchbase/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +1395 -0
  1723. data/ext/couchbase/third_party/spdlog/include/spdlog/pattern_formatter.h +126 -0
  1724. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/android_sink.h +119 -0
  1725. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +145 -0
  1726. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +118 -0
  1727. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +63 -0
  1728. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/base_sink.h +52 -0
  1729. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +43 -0
  1730. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +58 -0
  1731. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +242 -0
  1732. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/sinks/dist_sink.h +0 -0
  1733. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +94 -0
  1734. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/hourly_file_sink.h +194 -0
  1735. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/mongo_sink.h +98 -0
  1736. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +48 -0
  1737. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/sinks/null_sink.h +0 -0
  1738. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/sinks/ostream_sink.h +0 -0
  1739. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/qt_sinks.h +93 -0
  1740. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -0
  1741. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +131 -0
  1742. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +78 -0
  1743. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/sink-inl.h +25 -0
  1744. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/sink.h +35 -0
  1745. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +38 -0
  1746. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +45 -0
  1747. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +139 -0
  1748. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +87 -0
  1749. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/sinks/syslog_sink.h +0 -0
  1750. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +103 -0
  1751. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +81 -0
  1752. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +276 -0
  1753. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +175 -0
  1754. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +85 -0
  1755. data/ext/couchbase/third_party/spdlog/include/spdlog/spdlog-inl.h +125 -0
  1756. data/ext/couchbase/third_party/spdlog/include/spdlog/spdlog.h +345 -0
  1757. data/ext/{third_party → couchbase/third_party}/spdlog/include/spdlog/stopwatch.h +0 -0
  1758. data/ext/couchbase/third_party/spdlog/include/spdlog/tweakme.h +124 -0
  1759. data/ext/couchbase/third_party/spdlog/include/spdlog/version.h +10 -0
  1760. data/ext/couchbase/third_party/spdlog/src/async.cpp +13 -0
  1761. data/ext/couchbase/third_party/spdlog/src/cfg.cpp +8 -0
  1762. data/ext/couchbase/third_party/spdlog/src/color_sinks.cpp +51 -0
  1763. data/ext/couchbase/third_party/spdlog/src/file_sinks.cpp +20 -0
  1764. data/ext/couchbase/third_party/spdlog/src/fmt.cpp +68 -0
  1765. data/ext/couchbase/third_party/spdlog/src/spdlog.cpp +26 -0
  1766. data/ext/couchbase/third_party/spdlog/src/stdout_sinks.cpp +29 -0
  1767. data/ext/couchbase.cxx +7422 -0
  1768. data/ext/ext_build_version.hxx.in +20 -0
  1769. data/ext/extconf.rb +56 -17
  1770. data/ext/revisions.rb +2 -0
  1771. data/lib/active_support/cache/couchbase_store.rb +32 -55
  1772. data/lib/couchbase/binary_collection.rb +5 -5
  1773. data/lib/couchbase/bucket.rb +2 -2
  1774. data/lib/couchbase/cluster.rb +17 -14
  1775. data/lib/couchbase/collection.rb +26 -25
  1776. data/lib/couchbase/collection_options.rb +23 -9
  1777. data/lib/couchbase/configuration.rb +1 -1
  1778. data/lib/couchbase/errors.rb +6 -0
  1779. data/lib/couchbase/management/analytics_index_manager.rb +920 -226
  1780. data/lib/couchbase/management/bucket_manager.rb +215 -71
  1781. data/lib/couchbase/management/collection_manager.rb +173 -61
  1782. data/lib/couchbase/management/query_index_manager.rb +360 -180
  1783. data/lib/couchbase/options.rb +122 -3
  1784. data/lib/couchbase/scope.rb +107 -3
  1785. data/lib/couchbase/search_options.rb +84 -0
  1786. data/lib/couchbase/subdoc.rb +1 -1
  1787. data/lib/couchbase/utils/time.rb +4 -0
  1788. data/lib/couchbase/version.rb +10 -10
  1789. metadata +1775 -1314
  1790. data/ext/build_config.hxx.in +0 -22
  1791. data/ext/build_version.hxx.in +0 -30
  1792. data/ext/cmake/CompilerWarnings.cmake +0 -84
  1793. data/ext/cmake/PreventInSourceBuilds.cmake +0 -21
  1794. data/ext/cmake/Sanitizers.cmake +0 -66
  1795. data/ext/cmake/StandardProjectSettings.cmake +0 -40
  1796. data/ext/cmake/Testing.cmake +0 -49
  1797. data/ext/cmake/ThirdPartyDependencies.cmake +0 -20
  1798. data/ext/cmake/VersionInfo.cmake +0 -37
  1799. data/ext/couchbase/bucket.hxx +0 -372
  1800. data/ext/couchbase/capabilities.hxx +0 -117
  1801. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  1802. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  1803. data/ext/couchbase/cbsasl/client.cc +0 -48
  1804. data/ext/couchbase/cbsasl/client.h +0 -127
  1805. data/ext/couchbase/cbsasl/context.cc +0 -33
  1806. data/ext/couchbase/cbsasl/context.h +0 -52
  1807. data/ext/couchbase/cbsasl/error.h +0 -72
  1808. data/ext/couchbase/cbsasl/mechanism.cc +0 -48
  1809. data/ext/couchbase/cbsasl/mechanism.h +0 -55
  1810. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  1811. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  1812. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -390
  1813. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  1814. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  1815. data/ext/couchbase/cluster.hxx +0 -356
  1816. data/ext/couchbase/cluster_options.hxx +0 -56
  1817. data/ext/couchbase/collections_manifest.hxx +0 -88
  1818. data/ext/couchbase/configuration.hxx +0 -652
  1819. data/ext/couchbase/couchbase.cxx +0 -7800
  1820. data/ext/couchbase/diagnostics.hxx +0 -248
  1821. data/ext/couchbase/document_id.hxx +0 -40
  1822. data/ext/couchbase/error_context/analytics.hxx +0 -46
  1823. data/ext/couchbase/error_context/http.hxx +0 -44
  1824. data/ext/couchbase/error_context/key_value.hxx +0 -47
  1825. data/ext/couchbase/error_context/query.hxx +0 -46
  1826. data/ext/couchbase/error_context/search.hxx +0 -47
  1827. data/ext/couchbase/error_context/view.hxx +0 -47
  1828. data/ext/couchbase/error_map.hxx +0 -261
  1829. data/ext/couchbase/errors.hxx +0 -706
  1830. data/ext/couchbase/io/dns_client.hxx +0 -217
  1831. data/ext/couchbase/io/dns_codec.hxx +0 -206
  1832. data/ext/couchbase/io/dns_config.hxx +0 -116
  1833. data/ext/couchbase/io/dns_message.hxx +0 -555
  1834. data/ext/couchbase/io/http_command.hxx +0 -111
  1835. data/ext/couchbase/io/http_context.hxx +0 -37
  1836. data/ext/couchbase/io/http_message.hxx +0 -47
  1837. data/ext/couchbase/io/http_parser.hxx +0 -176
  1838. data/ext/couchbase/io/http_session.hxx +0 -444
  1839. data/ext/couchbase/io/http_session_manager.hxx +0 -264
  1840. data/ext/couchbase/io/mcbp_command.hxx +0 -249
  1841. data/ext/couchbase/io/mcbp_context.hxx +0 -37
  1842. data/ext/couchbase/io/mcbp_message.hxx +0 -63
  1843. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  1844. data/ext/couchbase/io/mcbp_session.hxx +0 -1356
  1845. data/ext/couchbase/io/query_cache.hxx +0 -61
  1846. data/ext/couchbase/io/retry_context.hxx +0 -38
  1847. data/ext/couchbase/io/retry_orchestrator.hxx +0 -112
  1848. data/ext/couchbase/io/retry_reason.hxx +0 -235
  1849. data/ext/couchbase/io/retry_strategy.hxx +0 -156
  1850. data/ext/couchbase/io/streams.hxx +0 -216
  1851. data/ext/couchbase/mutation_token.hxx +0 -38
  1852. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -125
  1853. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -112
  1854. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -114
  1855. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -112
  1856. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -111
  1857. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -99
  1858. data/ext/couchbase/operations/analytics_index_create.hxx +0 -135
  1859. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -117
  1860. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -113
  1861. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -109
  1862. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -108
  1863. data/ext/couchbase/operations/bucket_create.hxx +0 -171
  1864. data/ext/couchbase/operations/bucket_drop.hxx +0 -70
  1865. data/ext/couchbase/operations/bucket_flush.hxx +0 -69
  1866. data/ext/couchbase/operations/bucket_get.hxx +0 -78
  1867. data/ext/couchbase/operations/bucket_get_all.hxx +0 -73
  1868. data/ext/couchbase/operations/bucket_settings.hxx +0 -166
  1869. data/ext/couchbase/operations/bucket_update.hxx +0 -147
  1870. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -64
  1871. data/ext/couchbase/operations/collection_create.hxx +0 -102
  1872. data/ext/couchbase/operations/collection_drop.hxx +0 -92
  1873. data/ext/couchbase/operations/collections_manifest_get.hxx +0 -66
  1874. data/ext/couchbase/operations/design_document.hxx +0 -59
  1875. data/ext/couchbase/operations/document_analytics.hxx +0 -316
  1876. data/ext/couchbase/operations/document_append.hxx +0 -72
  1877. data/ext/couchbase/operations/document_decrement.hxx +0 -83
  1878. data/ext/couchbase/operations/document_exists.hxx +0 -83
  1879. data/ext/couchbase/operations/document_get.hxx +0 -66
  1880. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -67
  1881. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -67
  1882. data/ext/couchbase/operations/document_get_projected.hxx +0 -257
  1883. data/ext/couchbase/operations/document_increment.hxx +0 -85
  1884. data/ext/couchbase/operations/document_insert.hxx +0 -77
  1885. data/ext/couchbase/operations/document_lookup_in.hxx +0 -112
  1886. data/ext/couchbase/operations/document_mutate_in.hxx +0 -151
  1887. data/ext/couchbase/operations/document_prepend.hxx +0 -72
  1888. data/ext/couchbase/operations/document_query.hxx +0 -440
  1889. data/ext/couchbase/operations/document_remove.hxx +0 -72
  1890. data/ext/couchbase/operations/document_replace.hxx +0 -79
  1891. data/ext/couchbase/operations/document_search.hxx +0 -392
  1892. data/ext/couchbase/operations/document_touch.hxx +0 -63
  1893. data/ext/couchbase/operations/document_unlock.hxx +0 -63
  1894. data/ext/couchbase/operations/document_upsert.hxx +0 -77
  1895. data/ext/couchbase/operations/document_view.hxx +0 -245
  1896. data/ext/couchbase/operations/group_drop.hxx +0 -72
  1897. data/ext/couchbase/operations/group_get.hxx +0 -80
  1898. data/ext/couchbase/operations/group_get_all.hxx +0 -77
  1899. data/ext/couchbase/operations/group_upsert.hxx +0 -125
  1900. data/ext/couchbase/operations/http_noop.hxx +0 -78
  1901. data/ext/couchbase/operations/mcbp_noop.hxx +0 -55
  1902. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -93
  1903. data/ext/couchbase/operations/query_index_create.hxx +0 -152
  1904. data/ext/couchbase/operations/query_index_drop.hxx +0 -126
  1905. data/ext/couchbase/operations/query_index_get_all.hxx +0 -124
  1906. data/ext/couchbase/operations/rbac.hxx +0 -276
  1907. data/ext/couchbase/operations/role_get_all.hxx +0 -77
  1908. data/ext/couchbase/operations/scope_create.hxx +0 -95
  1909. data/ext/couchbase/operations/scope_drop.hxx +0 -89
  1910. data/ext/couchbase/operations/scope_get_all.hxx +0 -82
  1911. data/ext/couchbase/operations/search_get_stats.hxx +0 -60
  1912. data/ext/couchbase/operations/search_index.hxx +0 -79
  1913. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -105
  1914. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -93
  1915. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -93
  1916. data/ext/couchbase/operations/search_index_control_query.hxx +0 -93
  1917. data/ext/couchbase/operations/search_index_drop.hxx +0 -90
  1918. data/ext/couchbase/operations/search_index_get.hxx +0 -93
  1919. data/ext/couchbase/operations/search_index_get_all.hxx +0 -89
  1920. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -101
  1921. data/ext/couchbase/operations/search_index_get_stats.hxx +0 -88
  1922. data/ext/couchbase/operations/search_index_upsert.hxx +0 -119
  1923. data/ext/couchbase/operations/user_drop.hxx +0 -73
  1924. data/ext/couchbase/operations/user_get.hxx +0 -81
  1925. data/ext/couchbase/operations/user_get_all.hxx +0 -78
  1926. data/ext/couchbase/operations/user_upsert.hxx +0 -132
  1927. data/ext/couchbase/operations/view_index_drop.hxx +0 -68
  1928. data/ext/couchbase/operations/view_index_get.hxx +0 -97
  1929. data/ext/couchbase/operations/view_index_get_all.hxx +0 -132
  1930. data/ext/couchbase/operations/view_index_upsert.hxx +0 -88
  1931. data/ext/couchbase/operations.hxx +0 -109
  1932. data/ext/couchbase/origin.hxx +0 -179
  1933. data/ext/couchbase/platform/backtrace.c +0 -189
  1934. data/ext/couchbase/platform/base64.cc +0 -234
  1935. data/ext/couchbase/platform/base64.h +0 -47
  1936. data/ext/couchbase/platform/random.cc +0 -119
  1937. data/ext/couchbase/platform/string_hex.cc +0 -99
  1938. data/ext/couchbase/platform/string_hex.h +0 -50
  1939. data/ext/couchbase/platform/terminate_handler.cc +0 -130
  1940. data/ext/couchbase/platform/uuid.cc +0 -96
  1941. data/ext/couchbase/protocol/client_opcode.hxx +0 -632
  1942. data/ext/couchbase/protocol/client_request.hxx +0 -161
  1943. data/ext/couchbase/protocol/client_response.hxx +0 -221
  1944. data/ext/couchbase/protocol/cmd_append.hxx +0 -145
  1945. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -79
  1946. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -187
  1947. data/ext/couchbase/protocol/cmd_exists.hxx +0 -172
  1948. data/ext/couchbase/protocol/cmd_get.hxx +0 -122
  1949. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -142
  1950. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -142
  1951. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -126
  1952. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -117
  1953. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -99
  1954. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -126
  1955. data/ext/couchbase/protocol/cmd_hello.hxx +0 -165
  1956. data/ext/couchbase/protocol/cmd_increment.hxx +0 -187
  1957. data/ext/couchbase/protocol/cmd_info.hxx +0 -25
  1958. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  1959. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -227
  1960. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -406
  1961. data/ext/couchbase/protocol/cmd_noop.hxx +0 -82
  1962. data/ext/couchbase/protocol/cmd_prepend.hxx +0 -145
  1963. data/ext/couchbase/protocol/cmd_remove.hxx +0 -134
  1964. data/ext/couchbase/protocol/cmd_replace.hxx +0 -172
  1965. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -106
  1966. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -100
  1967. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -104
  1968. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -85
  1969. data/ext/couchbase/protocol/cmd_touch.hxx +0 -102
  1970. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -95
  1971. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -172
  1972. data/ext/couchbase/protocol/datatype.hxx +0 -48
  1973. data/ext/couchbase/protocol/durability_level.hxx +0 -83
  1974. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  1975. data/ext/couchbase/protocol/hello_feature.hxx +0 -264
  1976. data/ext/couchbase/protocol/magic.hxx +0 -83
  1977. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  1978. data/ext/couchbase/protocol/server_request.hxx +0 -122
  1979. data/ext/couchbase/protocol/status.hxx +0 -343
  1980. data/ext/couchbase/protocol/unsigned_leb128.h +0 -195
  1981. data/ext/couchbase/service_type.hxx +0 -60
  1982. data/ext/couchbase/timeout_defaults.hxx +0 -41
  1983. data/ext/couchbase/utils/byteswap.hxx +0 -33
  1984. data/ext/couchbase/utils/connection_string.hxx +0 -397
  1985. data/ext/couchbase/utils/url_codec.hxx +0 -225
  1986. data/ext/couchbase/version.hxx +0 -38
  1987. data/ext/test/CMakeLists.txt +0 -5
  1988. data/ext/test/test_helper.hxx +0 -141
  1989. data/ext/test/test_helper_native.hxx +0 -56
  1990. data/ext/test/test_helper_ruby.hxx +0 -72
  1991. data/ext/test/test_native_binary_operations.cxx +0 -186
  1992. data/ext/test/test_native_diagnostics.cxx +0 -436
  1993. data/ext/test/test_native_trivial_crud.cxx +0 -83
  1994. data/ext/test/test_ruby_trivial_crud.cxx +0 -35
  1995. data/ext/test/test_ruby_trivial_query.cxx +0 -34
  1996. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +0 -71
  1997. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -125
  1998. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -166
  1999. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -582
  2000. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -133
  2001. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1215
  2002. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  2003. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  2004. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1206
  2005. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -761
  2006. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  2007. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  2008. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  2009. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2501
  2010. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  2011. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  2012. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1053
  2013. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  2014. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  2015. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -811
  2016. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -575
  2017. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2496
  2018. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  2019. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  2020. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  2021. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  2022. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  2023. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  2024. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  2025. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -471
  2026. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  2027. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  2028. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  2029. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  2030. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  2031. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -130
  2032. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -112
  2033. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  2034. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  2035. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  2036. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -64
  2037. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  2038. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -934
  2039. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +0 -107
  2040. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  2041. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -650
  2042. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  2043. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +0 -88
  2044. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  2045. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  2046. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  2047. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -88
  2048. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  2049. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -120
  2050. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  2051. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1822
  2052. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  2053. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  2054. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  2055. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  2056. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -295
  2057. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  2058. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -139
  2059. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -148
  2060. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -148
  2061. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  2062. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  2063. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  2064. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  2065. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -203
  2066. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  2067. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  2068. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  2069. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  2070. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  2071. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  2072. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  2073. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  2074. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  2075. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  2076. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -284
  2077. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  2078. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -80
  2079. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -264
  2080. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  2081. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -438
  2082. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  2083. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  2084. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -608
  2085. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  2086. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  2087. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  2088. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  2089. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  2090. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -396
  2091. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  2092. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  2093. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  2094. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  2095. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  2096. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  2097. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  2098. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  2099. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  2100. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -149
  2101. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  2102. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  2103. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -654
  2104. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  2105. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  2106. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  2107. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  2108. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -668
  2109. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3962
  2110. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  2111. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -385
  2112. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  2113. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -117
  2114. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -178
  2115. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  2116. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  2117. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  2118. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  2119. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  2120. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  2121. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -603
  2122. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  2123. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  2124. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  2125. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  2126. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  2127. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  2128. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  2129. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  2130. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  2131. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  2132. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  2133. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  2134. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -175
  2135. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  2136. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  2137. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  2138. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  2139. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  2140. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  2141. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -73
  2142. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  2143. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  2144. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  2145. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -106
  2146. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  2147. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  2148. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  2149. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  2150. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  2151. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  2152. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  2153. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  2154. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  2155. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  2156. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  2157. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  2158. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  2159. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  2160. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  2161. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -175
  2162. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  2163. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  2164. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  2165. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  2166. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  2167. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  2168. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  2169. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  2170. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -416
  2171. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -98
  2172. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -237
  2173. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -242
  2174. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -123
  2175. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -159
  2176. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -164
  2177. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -145
  2178. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -162
  2179. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -156
  2180. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -528
  2181. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -541
  2182. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -98
  2183. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  2184. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  2185. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -67
  2186. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  2187. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  2188. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  2189. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -140
  2190. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  2191. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -150
  2192. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  2193. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  2194. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -232
  2195. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  2196. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  2197. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  2198. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  2199. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  2200. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  2201. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  2202. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  2203. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -90
  2204. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  2205. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  2206. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  2207. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  2208. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -383
  2209. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  2210. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  2211. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  2212. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  2213. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +0 -45
  2214. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  2215. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -188
  2216. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  2217. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  2218. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  2219. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  2220. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  2221. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -166
  2222. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -145
  2223. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  2224. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  2225. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  2226. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  2227. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -183
  2228. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  2229. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  2230. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  2231. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  2232. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  2233. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  2234. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  2235. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  2236. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  2237. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -148
  2238. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -294
  2239. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -90
  2240. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  2241. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -164
  2242. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  2243. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  2244. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  2245. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -117
  2246. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  2247. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -110
  2248. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -342
  2249. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -127
  2250. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  2251. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -96
  2252. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -171
  2253. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  2254. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -312
  2255. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -135
  2256. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -124
  2257. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -133
  2258. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -125
  2259. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -118
  2260. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  2261. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  2262. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  2263. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -128
  2264. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  2265. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  2266. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  2267. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  2268. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  2269. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  2270. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  2271. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  2272. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  2273. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -125
  2274. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  2275. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -98
  2276. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -119
  2277. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -110
  2278. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  2279. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  2280. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  2281. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  2282. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  2283. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -148
  2284. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -327
  2285. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -121
  2286. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  2287. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  2288. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +0 -249
  2289. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +0 -2264
  2290. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +0 -47
  2291. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +0 -1351
  2292. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +0 -1064
  2293. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +0 -390
  2294. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +0 -1018
  2295. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +0 -486
  2296. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +0 -185
  2297. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +0 -201
  2298. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +0 -152
  2299. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +0 -105
  2300. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +0 -128
  2301. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +0 -261
  2302. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +0 -233
  2303. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +0 -90
  2304. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +0 -264
  2305. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +0 -238
  2306. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +0 -40
  2307. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +0 -36
  2308. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +0 -71
  2309. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +0 -917
  2310. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +0 -178
  2311. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +0 -94
  2312. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +0 -721
  2313. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +0 -327
  2314. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +0 -280
  2315. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +0 -48
  2316. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +0 -720
  2317. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +0 -290
  2318. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +0 -86
  2319. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +0 -311
  2320. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +0 -253
  2321. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +0 -253
  2322. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +0 -486
  2323. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +0 -250
  2324. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +0 -450
  2325. data/ext/third_party/asio/asio/include/asio/execution.hpp +0 -48
  2326. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  2327. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -347
  2328. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -287
  2329. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  2330. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  2331. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  2332. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  2333. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  2334. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  2335. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  2336. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -104
  2337. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  2338. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -111
  2339. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  2340. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -436
  2341. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -527
  2342. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -507
  2343. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -298
  2344. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -635
  2345. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -916
  2346. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -248
  2347. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  2348. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -243
  2349. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  2350. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  2351. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  2352. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  2353. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -301
  2354. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -43
  2355. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -61
  2356. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -440
  2357. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  2358. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +0 -49
  2359. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -248
  2360. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1202
  2361. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -744
  2362. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3335
  2363. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -390
  2364. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  2365. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  2366. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -526
  2367. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -85
  2368. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  2369. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -92
  2370. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -186
  2371. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -350
  2372. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -141
  2373. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -279
  2374. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -1028
  2375. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1104
  2376. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -666
  2377. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -1530
  2378. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -376
  2379. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  2380. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  2381. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  2382. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  2383. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  2384. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  2385. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  2386. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  2387. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  2388. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  2389. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  2390. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  2391. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  2392. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  2393. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  2394. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  2395. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  2396. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  2397. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  2398. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  2399. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  2400. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  2401. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  2402. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  2403. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  2404. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  2405. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  2406. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  2407. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  2408. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  2409. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  2410. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  2411. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  2412. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  2413. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  2414. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  2415. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  2416. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  2417. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  2418. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  2419. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  2420. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  2421. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +0 -61
  2422. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  2423. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  2424. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  2425. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  2426. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  2427. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  2428. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  2429. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  2430. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  2431. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +0 -58
  2432. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  2433. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  2434. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  2435. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  2436. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  2437. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  2438. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  2439. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -126
  2440. data/ext/third_party/asio/asio/include/asio/prefer.hpp +0 -656
  2441. data/ext/third_party/asio/asio/include/asio/query.hpp +0 -296
  2442. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  2443. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  2444. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  2445. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  2446. data/ext/third_party/asio/asio/include/asio/require.hpp +0 -524
  2447. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +0 -310
  2448. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  2449. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  2450. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  2451. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  2452. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -344
  2453. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  2454. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  2455. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -119
  2456. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -165
  2457. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -67
  2458. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -349
  2459. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  2460. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -415
  2461. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  2462. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  2463. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  2464. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -72
  2465. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -69
  2466. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -169
  2467. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  2468. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -76
  2469. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  2470. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  2471. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  2472. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  2473. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  2474. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  2475. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  2476. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  2477. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  2478. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -900
  2479. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  2480. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  2481. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  2482. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  2483. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +0 -31
  2484. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  2485. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -537
  2486. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  2487. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -90
  2488. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  2489. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -662
  2490. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  2491. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  2492. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  2493. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -1111
  2494. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  2495. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +0 -114
  2496. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +0 -114
  2497. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +0 -112
  2498. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +0 -112
  2499. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +0 -100
  2500. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +0 -108
  2501. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +0 -108
  2502. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +0 -108
  2503. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +0 -108
  2504. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +0 -108
  2505. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +0 -108
  2506. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +0 -108
  2507. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +0 -108
  2508. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +0 -108
  2509. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +0 -108
  2510. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +0 -108
  2511. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +0 -108
  2512. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +0 -108
  2513. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +0 -108
  2514. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +0 -108
  2515. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +0 -112
  2516. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +0 -112
  2517. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +0 -234
  2518. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +0 -234
  2519. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +0 -108
  2520. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +0 -108
  2521. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +0 -108
  2522. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +0 -123
  2523. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +0 -123
  2524. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +0 -112
  2525. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +0 -112
  2526. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  2527. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -35
  2528. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  2529. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  2530. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  2531. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -262
  2532. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  2533. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  2534. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  2535. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -169
  2536. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  2537. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  2538. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  2539. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  2540. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  2541. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  2542. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  2543. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  2544. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  2545. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  2546. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -145
  2547. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  2548. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  2549. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  2550. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  2551. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  2552. data/ext/third_party/asio/asio/include/asio.hpp +0 -182
  2553. data/ext/third_party/gsl/CMakeLists.txt +0 -127
  2554. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  2555. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  2556. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  2557. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  2558. data/ext/third_party/gsl/include/gsl/gsl_narrow +0 -52
  2559. data/ext/third_party/gsl/include/gsl/gsl_util +0 -129
  2560. data/ext/third_party/gsl/include/gsl/multi_span +0 -2263
  2561. data/ext/third_party/gsl/include/gsl/pointers +0 -287
  2562. data/ext/third_party/gsl/include/gsl/span +0 -816
  2563. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  2564. data/ext/third_party/gsl/include/gsl/string_span +0 -706
  2565. data/ext/third_party/json/CMakeLists.txt +0 -44
  2566. data/ext/third_party/json/LICENSE +0 -21
  2567. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -942
  2568. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  2569. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  2570. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  2571. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  2572. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -251
  2573. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  2574. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  2575. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  2576. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -104
  2577. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  2578. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -268
  2579. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  2580. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  2581. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  2582. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -129
  2583. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  2584. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  2585. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  2586. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +0 -43
  2587. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  2588. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  2589. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  2590. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  2591. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  2592. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +0 -32
  2593. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  2594. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  2595. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  2596. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -418
  2597. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  2598. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  2599. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  2600. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  2601. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -19
  2602. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  2603. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  2604. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  2605. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  2606. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  2607. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  2608. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  2609. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  2610. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -76
  2611. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  2612. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  2613. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  2614. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  2615. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  2616. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  2617. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  2618. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  2619. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  2620. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -113
  2621. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1874
  2622. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  2623. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -98
  2624. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  2625. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  2626. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -97
  2627. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  2628. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  2629. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  2630. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  2631. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  2632. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  2633. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  2634. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  2635. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  2636. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -255
  2637. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  2638. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  2639. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  2640. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  2641. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  2642. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  2643. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  2644. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  2645. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  2646. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  2647. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  2648. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  2649. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  2650. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  2651. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  2652. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  2653. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  2654. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  2655. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  2656. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  2657. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  2658. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  2659. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  2660. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  2661. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  2662. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  2663. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  2664. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  2665. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  2666. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  2667. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  2668. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  2669. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -176
  2670. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  2671. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  2672. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  2673. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  2674. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -49
  2675. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -54
  2676. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  2677. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  2678. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  2679. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  2680. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  2681. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  2682. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  2683. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  2684. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  2685. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  2686. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +0 -176
  2687. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +0 -275
  2688. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +0 -77
  2689. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +0 -151
  2690. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +0 -16
  2691. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -272
  2692. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -66
  2693. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -196
  2694. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -196
  2695. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -103
  2696. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -56
  2697. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -431
  2698. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +0 -62
  2699. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +0 -206
  2700. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +0 -106
  2701. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +0 -54
  2702. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +0 -33
  2703. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +0 -45
  2704. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +0 -32
  2705. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +0 -54
  2706. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +0 -43
  2707. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +0 -77
  2708. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +0 -52
  2709. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  2710. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  2711. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -440
  2712. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -105
  2713. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +0 -75
  2714. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +0 -53
  2715. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -234
  2716. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -69
  2717. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +0 -117
  2718. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -94
  2719. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -43
  2720. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +0 -193
  2721. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +0 -118
  2722. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  2723. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +0 -227
  2724. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +0 -62
  2725. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +0 -62
  2726. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +0 -63
  2727. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +0 -36
  2728. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  2729. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  2730. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +0 -49
  2731. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +0 -49
  2732. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -32
  2733. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +0 -138
  2734. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  2735. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  2736. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  2737. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  2738. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  2739. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  2740. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  2741. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  2742. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -54
  2743. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -106
  2744. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  2745. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  2746. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -51
  2747. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  2748. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  2749. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -55
  2750. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -32
  2751. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  2752. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  2753. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  2754. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -43
  2755. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -54
  2756. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  2757. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  2758. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  2759. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  2760. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  2761. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +0 -16
  2762. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -54
  2763. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -34
  2764. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -54
  2765. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +0 -25
  2766. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -32
  2767. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -32
  2768. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -33
  2769. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +0 -32
  2770. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -134
  2771. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -213
  2772. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -113
  2773. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -21
  2774. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -21
  2775. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -40
  2776. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +0 -21
  2777. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  2778. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -54
  2779. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -47
  2780. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -21
  2781. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  2782. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  2783. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -39
  2784. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  2785. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -49
  2786. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  2787. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  2788. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  2789. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  2790. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -22
  2791. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  2792. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -80
  2793. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +0 -21
  2794. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -28
  2795. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -26
  2796. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -64
  2797. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -55
  2798. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -55
  2799. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  2800. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  2801. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  2802. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +0 -26
  2803. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  2804. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -89
  2805. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  2806. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -60
  2807. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -44
  2808. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -56
  2809. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -103
  2810. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -72
  2811. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -67
  2812. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  2813. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -81
  2814. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -61
  2815. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  2816. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  2817. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  2818. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -58
  2819. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -67
  2820. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -52
  2821. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  2822. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -59
  2823. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  2824. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +0 -32
  2825. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  2826. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -88
  2827. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -32
  2828. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -169
  2829. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -365
  2830. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  2831. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +0 -64
  2832. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  2833. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -19
  2834. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -51
  2835. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -114
  2836. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -83
  2837. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -54
  2838. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  2839. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  2840. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  2841. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -68
  2842. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -64
  2843. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  2844. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +0 -46
  2845. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  2846. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  2847. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +0 -66
  2848. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -44
  2849. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  2850. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  2851. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  2852. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  2853. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  2854. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  2855. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  2856. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  2857. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  2858. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +0 -14
  2859. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  2860. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  2861. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  2862. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  2863. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  2864. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -57
  2865. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  2866. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  2867. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  2868. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  2869. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  2870. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  2871. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  2872. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  2873. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  2874. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  2875. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -96
  2876. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  2877. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  2878. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  2879. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  2880. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  2881. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  2882. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  2883. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  2884. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  2885. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  2886. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  2887. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  2888. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  2889. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  2890. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  2891. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  2892. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  2893. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  2894. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  2895. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -255
  2896. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  2897. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  2898. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -261
  2899. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  2900. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  2901. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  2902. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  2903. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  2904. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  2905. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +0 -43
  2906. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  2907. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  2908. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  2909. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  2910. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  2911. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +0 -32
  2912. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  2913. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  2914. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  2915. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  2916. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -250
  2917. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  2918. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  2919. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  2920. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -19
  2921. data/ext/third_party/json/include/tao/json/operators.hpp +0 -490
  2922. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -302
  2923. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  2924. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  2925. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -131
  2926. data/ext/third_party/json/include/tao/json/span.hpp +0 -496
  2927. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  2928. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  2929. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  2930. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  2931. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  2932. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  2933. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  2934. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +0 -43
  2935. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  2936. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  2937. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  2938. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  2939. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  2940. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +0 -32
  2941. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  2942. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  2943. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  2944. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -415
  2945. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  2946. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  2947. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  2948. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  2949. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -19
  2950. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  2951. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  2952. data/ext/third_party/json/include/tao/json.hpp +0 -45
  2953. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  2954. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  2955. data/ext/third_party/snappy/snappy-internal.h +0 -315
  2956. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  2957. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  2958. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  2959. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  2960. data/ext/third_party/snappy/snappy.cc +0 -1774
  2961. data/ext/third_party/snappy/snappy.h +0 -209
  2962. data/ext/third_party/spdlog/CMakeLists.txt +0 -291
  2963. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  2964. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  2965. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  2966. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  2967. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  2968. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  2969. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -119
  2970. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -29
  2971. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  2972. data/ext/third_party/spdlog/include/spdlog/common.h +0 -245
  2973. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  2974. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  2975. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  2976. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  2977. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -116
  2978. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  2979. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  2980. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  2981. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  2982. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  2983. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  2984. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  2985. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  2986. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  2987. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -313
  2988. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -115
  2989. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  2990. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  2991. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -146
  2992. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  2993. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  2994. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  2995. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  2996. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1123
  2997. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -566
  2998. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -665
  2999. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1882
  3000. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1453
  3001. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3729
  3002. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  3003. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +0 -450
  3004. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -167
  3005. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  3006. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -751
  3007. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -386
  3008. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +0 -20
  3009. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -27
  3010. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  3011. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -257
  3012. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -366
  3013. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1373
  3014. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  3015. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  3016. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  3017. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  3018. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  3019. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  3020. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  3021. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  3022. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  3023. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  3024. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  3025. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  3026. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  3027. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  3028. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  3029. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  3030. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  3031. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -123
  3032. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -87
  3033. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  3034. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  3035. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  3036. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -170
  3037. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  3038. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -125
  3039. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -295
  3040. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  3041. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  3042. data/ext/third_party/spdlog/src/async.cpp +0 -13
  3043. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  3044. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  3045. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  3046. data/ext/third_party/spdlog/src/fmt.cpp +0 -63
  3047. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  3048. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
@@ -0,0 +1,2637 @@
1
+ // Formatting library for C++ - implementation
2
+ //
3
+ // Copyright (c) 2012 - 2016, Victor Zverovich
4
+ // All rights reserved.
5
+ //
6
+ // For the license information refer to format.h.
7
+
8
+ #ifndef FMT_FORMAT_INL_H_
9
+ #define FMT_FORMAT_INL_H_
10
+
11
+ #include <algorithm>
12
+ #include <cctype>
13
+ #include <cerrno> // errno
14
+ #include <climits>
15
+ #include <cmath>
16
+ #include <cstdarg>
17
+ #include <cstring> // std::memmove
18
+ #include <cwchar>
19
+ #include <exception>
20
+
21
+ #ifndef FMT_STATIC_THOUSANDS_SEPARATOR
22
+ # include <locale>
23
+ #endif
24
+
25
+ #ifdef _WIN32
26
+ # include <io.h> // _isatty
27
+ #endif
28
+
29
+ #include "format.h"
30
+
31
+ FMT_BEGIN_NAMESPACE
32
+ namespace detail {
33
+
34
+ FMT_FUNC void assert_fail(const char* file, int line, const char* message) {
35
+ // Use unchecked std::fprintf to avoid triggering another assertion when
36
+ // writing to stderr fails
37
+ std::fprintf(stderr, "%s:%d: assertion failed: %s", file, line, message);
38
+ // Chosen instead of std::abort to satisfy Clang in CUDA mode during device
39
+ // code pass.
40
+ std::terminate();
41
+ }
42
+
43
+ FMT_FUNC void throw_format_error(const char* message) {
44
+ FMT_THROW(format_error(message));
45
+ }
46
+
47
+ #ifndef _MSC_VER
48
+ # define FMT_SNPRINTF snprintf
49
+ #else // _MSC_VER
50
+ inline int fmt_snprintf(char* buffer, size_t size, const char* format, ...) {
51
+ va_list args;
52
+ va_start(args, format);
53
+ int result = vsnprintf_s(buffer, size, _TRUNCATE, format, args);
54
+ va_end(args);
55
+ return result;
56
+ }
57
+ # define FMT_SNPRINTF fmt_snprintf
58
+ #endif // _MSC_VER
59
+
60
+ FMT_FUNC void format_error_code(detail::buffer<char>& out, int error_code,
61
+ string_view message) FMT_NOEXCEPT {
62
+ // Report error code making sure that the output fits into
63
+ // inline_buffer_size to avoid dynamic memory allocation and potential
64
+ // bad_alloc.
65
+ out.try_resize(0);
66
+ static const char SEP[] = ": ";
67
+ static const char ERROR_STR[] = "error ";
68
+ // Subtract 2 to account for terminating null characters in SEP and ERROR_STR.
69
+ size_t error_code_size = sizeof(SEP) + sizeof(ERROR_STR) - 2;
70
+ auto abs_value = static_cast<uint32_or_64_or_128_t<int>>(error_code);
71
+ if (detail::is_negative(error_code)) {
72
+ abs_value = 0 - abs_value;
73
+ ++error_code_size;
74
+ }
75
+ error_code_size += detail::to_unsigned(detail::count_digits(abs_value));
76
+ auto it = buffer_appender<char>(out);
77
+ if (message.size() <= inline_buffer_size - error_code_size)
78
+ format_to(it, FMT_STRING("{}{}"), message, SEP);
79
+ format_to(it, FMT_STRING("{}{}"), ERROR_STR, error_code);
80
+ FMT_ASSERT(out.size() <= inline_buffer_size, "");
81
+ }
82
+
83
+ FMT_FUNC void report_error(format_func func, int error_code,
84
+ const char* message) FMT_NOEXCEPT {
85
+ memory_buffer full_message;
86
+ func(full_message, error_code, message);
87
+ // Don't use fwrite_fully because the latter may throw.
88
+ if (std::fwrite(full_message.data(), full_message.size(), 1, stderr) > 0)
89
+ std::fputc('\n', stderr);
90
+ }
91
+
92
+ // A wrapper around fwrite that throws on error.
93
+ inline void fwrite_fully(const void* ptr, size_t size, size_t count,
94
+ FILE* stream) {
95
+ size_t written = std::fwrite(ptr, size, count, stream);
96
+ if (written < count) FMT_THROW(system_error(errno, "cannot write to file"));
97
+ }
98
+
99
+ #ifndef FMT_STATIC_THOUSANDS_SEPARATOR
100
+ template <typename Locale>
101
+ locale_ref::locale_ref(const Locale& loc) : locale_(&loc) {
102
+ static_assert(std::is_same<Locale, std::locale>::value, "");
103
+ }
104
+
105
+ template <typename Locale> Locale locale_ref::get() const {
106
+ static_assert(std::is_same<Locale, std::locale>::value, "");
107
+ return locale_ ? *static_cast<const std::locale*>(locale_) : std::locale();
108
+ }
109
+
110
+ template <typename Char>
111
+ FMT_FUNC auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result<Char> {
112
+ auto& facet = std::use_facet<std::numpunct<Char>>(loc.get<std::locale>());
113
+ auto grouping = facet.grouping();
114
+ auto thousands_sep = grouping.empty() ? Char() : facet.thousands_sep();
115
+ return {std::move(grouping), thousands_sep};
116
+ }
117
+ template <typename Char> FMT_FUNC Char decimal_point_impl(locale_ref loc) {
118
+ return std::use_facet<std::numpunct<Char>>(loc.get<std::locale>())
119
+ .decimal_point();
120
+ }
121
+ #else
122
+ template <typename Char>
123
+ FMT_FUNC auto thousands_sep_impl(locale_ref) -> thousands_sep_result<Char> {
124
+ return {"\03", FMT_STATIC_THOUSANDS_SEPARATOR};
125
+ }
126
+ template <typename Char> FMT_FUNC Char decimal_point_impl(locale_ref) {
127
+ return '.';
128
+ }
129
+ #endif
130
+ } // namespace detail
131
+
132
+ #if !FMT_MSC_VER
133
+ FMT_API FMT_FUNC format_error::~format_error() FMT_NOEXCEPT = default;
134
+ #endif
135
+
136
+ FMT_FUNC std::system_error vsystem_error(int error_code, string_view format_str,
137
+ format_args args) {
138
+ auto ec = std::error_code(error_code, std::generic_category());
139
+ return std::system_error(ec, vformat(format_str, args));
140
+ }
141
+
142
+ namespace detail {
143
+
144
+ template <> FMT_FUNC int count_digits<4>(detail::fallback_uintptr n) {
145
+ // fallback_uintptr is always stored in little endian.
146
+ int i = static_cast<int>(sizeof(void*)) - 1;
147
+ while (i > 0 && n.value[i] == 0) --i;
148
+ auto char_digits = std::numeric_limits<unsigned char>::digits / 4;
149
+ return i >= 0 ? i * char_digits + count_digits<4, unsigned>(n.value[i]) : 1;
150
+ }
151
+
152
+ // log10(2) = 0x0.4d104d427de7fbcc...
153
+ static constexpr uint64_t log10_2_significand = 0x4d104d427de7fbcc;
154
+
155
+ template <typename T = void> struct basic_impl_data {
156
+ // Normalized 64-bit significands of pow(10, k), for k = -348, -340, ..., 340.
157
+ // These are generated by support/compute-powers.py.
158
+ static constexpr uint64_t pow10_significands[87] = {
159
+ 0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76,
160
+ 0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df,
161
+ 0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c,
162
+ 0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8fada6c9b5,
163
+ 0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57,
164
+ 0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7,
165
+ 0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e,
166
+ 0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996,
167
+ 0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126,
168
+ 0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053,
169
+ 0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f,
170
+ 0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b,
171
+ 0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06,
172
+ 0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb,
173
+ 0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000,
174
+ 0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984,
175
+ 0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068,
176
+ 0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8,
177
+ 0x83c7088e1aab65db, 0xc45d1df942711d9a, 0x924d692ca61be758,
178
+ 0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85,
179
+ 0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d,
180
+ 0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25,
181
+ 0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2,
182
+ 0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a,
183
+ 0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410,
184
+ 0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129,
185
+ 0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85,
186
+ 0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841,
187
+ 0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b,
188
+ };
189
+
190
+ #if FMT_GCC_VERSION && FMT_GCC_VERSION < 409
191
+ # pragma GCC diagnostic push
192
+ # pragma GCC diagnostic ignored "-Wnarrowing"
193
+ #endif
194
+ // Binary exponents of pow(10, k), for k = -348, -340, ..., 340, corresponding
195
+ // to significands above.
196
+ static constexpr int16_t pow10_exponents[87] = {
197
+ -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954,
198
+ -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661,
199
+ -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369,
200
+ -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77,
201
+ -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216,
202
+ 242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508,
203
+ 534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800,
204
+ 827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066};
205
+ #if FMT_GCC_VERSION && FMT_GCC_VERSION < 409
206
+ # pragma GCC diagnostic pop
207
+ #endif
208
+
209
+ static constexpr uint64_t power_of_10_64[20] = {
210
+ 1, FMT_POWERS_OF_10(1ULL), FMT_POWERS_OF_10(1000000000ULL),
211
+ 10000000000000000000ULL};
212
+ };
213
+
214
+ // This is a struct rather than an alias to avoid shadowing warnings in gcc.
215
+ struct impl_data : basic_impl_data<> {};
216
+
217
+ #if __cplusplus < 201703L
218
+ template <typename T>
219
+ constexpr uint64_t basic_impl_data<T>::pow10_significands[];
220
+ template <typename T> constexpr int16_t basic_impl_data<T>::pow10_exponents[];
221
+ template <typename T> constexpr uint64_t basic_impl_data<T>::power_of_10_64[];
222
+ #endif
223
+
224
+ template <typename T> struct bits {
225
+ static FMT_CONSTEXPR_DECL const int value =
226
+ static_cast<int>(sizeof(T) * std::numeric_limits<unsigned char>::digits);
227
+ };
228
+
229
+ // Returns the number of significand bits in Float excluding the implicit bit.
230
+ template <typename Float> constexpr int num_significand_bits() {
231
+ // Subtract 1 to account for an implicit most significant bit in the
232
+ // normalized form.
233
+ return std::numeric_limits<Float>::digits - 1;
234
+ }
235
+
236
+ // A floating-point number f * pow(2, e).
237
+ struct fp {
238
+ uint64_t f;
239
+ int e;
240
+
241
+ static constexpr const int num_significand_bits = bits<decltype(f)>::value;
242
+
243
+ constexpr fp() : f(0), e(0) {}
244
+ constexpr fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {}
245
+
246
+ // Constructs fp from an IEEE754 floating-point number. It is a template to
247
+ // prevent compile errors on systems where n is not IEEE754.
248
+ template <typename Float> explicit FMT_CONSTEXPR fp(Float n) { assign(n); }
249
+
250
+ template <typename Float>
251
+ using is_supported = bool_constant<sizeof(Float) == sizeof(uint64_t) ||
252
+ sizeof(Float) == sizeof(uint32_t)>;
253
+
254
+ // Assigns d to this and return true iff predecessor is closer than successor.
255
+ template <typename Float, FMT_ENABLE_IF(is_supported<Float>::value)>
256
+ FMT_CONSTEXPR bool assign(Float n) {
257
+ // Assume float is in the format [sign][exponent][significand].
258
+ const int num_float_significand_bits =
259
+ detail::num_significand_bits<Float>();
260
+ const uint64_t implicit_bit = 1ULL << num_float_significand_bits;
261
+ const uint64_t significand_mask = implicit_bit - 1;
262
+ constexpr bool is_double = sizeof(Float) == sizeof(uint64_t);
263
+ auto u = bit_cast<conditional_t<is_double, uint64_t, uint32_t>>(n);
264
+ f = u & significand_mask;
265
+ const uint64_t exponent_mask = (~0ULL >> 1) & ~significand_mask;
266
+ int biased_e =
267
+ static_cast<int>((u & exponent_mask) >> num_float_significand_bits);
268
+ // The predecessor is closer if n is a normalized power of 2 (f == 0) other
269
+ // than the smallest normalized number (biased_e > 1).
270
+ bool is_predecessor_closer = f == 0 && biased_e > 1;
271
+ if (biased_e != 0)
272
+ f += implicit_bit;
273
+ else
274
+ biased_e = 1; // Subnormals use biased exponent 1 (min exponent).
275
+ const int exponent_bias = std::numeric_limits<Float>::max_exponent - 1;
276
+ e = biased_e - exponent_bias - num_float_significand_bits;
277
+ return is_predecessor_closer;
278
+ }
279
+
280
+ template <typename Float, FMT_ENABLE_IF(!is_supported<Float>::value)>
281
+ bool assign(Float) {
282
+ FMT_ASSERT(false, "");
283
+ return false;
284
+ }
285
+ };
286
+
287
+ // Normalizes the value converted from double and multiplied by (1 << SHIFT).
288
+ template <int SHIFT = 0> FMT_CONSTEXPR fp normalize(fp value) {
289
+ // Handle subnormals.
290
+ const uint64_t implicit_bit = 1ULL << num_significand_bits<double>();
291
+ const auto shifted_implicit_bit = implicit_bit << SHIFT;
292
+ while ((value.f & shifted_implicit_bit) == 0) {
293
+ value.f <<= 1;
294
+ --value.e;
295
+ }
296
+ // Subtract 1 to account for hidden bit.
297
+ const auto offset =
298
+ fp::num_significand_bits - num_significand_bits<double>() - SHIFT - 1;
299
+ value.f <<= offset;
300
+ value.e -= offset;
301
+ return value;
302
+ }
303
+
304
+ inline bool operator==(fp x, fp y) { return x.f == y.f && x.e == y.e; }
305
+
306
+ // Computes lhs * rhs / pow(2, 64) rounded to nearest with half-up tie breaking.
307
+ FMT_CONSTEXPR inline uint64_t multiply(uint64_t lhs, uint64_t rhs) {
308
+ #if FMT_USE_INT128
309
+ auto product = static_cast<__uint128_t>(lhs) * rhs;
310
+ auto f = static_cast<uint64_t>(product >> 64);
311
+ return (static_cast<uint64_t>(product) & (1ULL << 63)) != 0 ? f + 1 : f;
312
+ #else
313
+ // Multiply 32-bit parts of significands.
314
+ uint64_t mask = (1ULL << 32) - 1;
315
+ uint64_t a = lhs >> 32, b = lhs & mask;
316
+ uint64_t c = rhs >> 32, d = rhs & mask;
317
+ uint64_t ac = a * c, bc = b * c, ad = a * d, bd = b * d;
318
+ // Compute mid 64-bit of result and round.
319
+ uint64_t mid = (bd >> 32) + (ad & mask) + (bc & mask) + (1U << 31);
320
+ return ac + (ad >> 32) + (bc >> 32) + (mid >> 32);
321
+ #endif
322
+ }
323
+
324
+ FMT_CONSTEXPR inline fp operator*(fp x, fp y) {
325
+ return {multiply(x.f, y.f), x.e + y.e + 64};
326
+ }
327
+
328
+ // Returns a cached power of 10 `c_k = c_k.f * pow(2, c_k.e)` such that its
329
+ // (binary) exponent satisfies `min_exponent <= c_k.e <= min_exponent + 28`.
330
+ FMT_CONSTEXPR inline fp get_cached_power(int min_exponent,
331
+ int& pow10_exponent) {
332
+ const int shift = 32;
333
+ const auto significand = static_cast<int64_t>(log10_2_significand);
334
+ int index = static_cast<int>(
335
+ ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) +
336
+ ((int64_t(1) << shift) - 1)) // ceil
337
+ >> 32 // arithmetic shift
338
+ );
339
+ // Decimal exponent of the first (smallest) cached power of 10.
340
+ const int first_dec_exp = -348;
341
+ // Difference between 2 consecutive decimal exponents in cached powers of 10.
342
+ const int dec_exp_step = 8;
343
+ index = (index - first_dec_exp - 1) / dec_exp_step + 1;
344
+ pow10_exponent = first_dec_exp + index * dec_exp_step;
345
+ return {impl_data::pow10_significands[index],
346
+ impl_data::pow10_exponents[index]};
347
+ }
348
+
349
+ // A simple accumulator to hold the sums of terms in bigint::square if uint128_t
350
+ // is not available.
351
+ struct accumulator {
352
+ uint64_t lower;
353
+ uint64_t upper;
354
+
355
+ constexpr accumulator() : lower(0), upper(0) {}
356
+ constexpr explicit operator uint32_t() const {
357
+ return static_cast<uint32_t>(lower);
358
+ }
359
+
360
+ FMT_CONSTEXPR void operator+=(uint64_t n) {
361
+ lower += n;
362
+ if (lower < n) ++upper;
363
+ }
364
+ FMT_CONSTEXPR void operator>>=(int shift) {
365
+ FMT_ASSERT(shift == 32, "");
366
+ (void)shift;
367
+ lower = (upper << 32) | (lower >> 32);
368
+ upper >>= 32;
369
+ }
370
+ };
371
+
372
+ class bigint {
373
+ private:
374
+ // A bigint is stored as an array of bigits (big digits), with bigit at index
375
+ // 0 being the least significant one.
376
+ using bigit = uint32_t;
377
+ using double_bigit = uint64_t;
378
+ enum { bigits_capacity = 32 };
379
+ basic_memory_buffer<bigit, bigits_capacity> bigits_;
380
+ int exp_;
381
+
382
+ FMT_CONSTEXPR20 bigit operator[](int index) const {
383
+ return bigits_[to_unsigned(index)];
384
+ }
385
+ FMT_CONSTEXPR20 bigit& operator[](int index) {
386
+ return bigits_[to_unsigned(index)];
387
+ }
388
+
389
+ static FMT_CONSTEXPR_DECL const int bigit_bits = bits<bigit>::value;
390
+
391
+ friend struct formatter<bigint>;
392
+
393
+ FMT_CONSTEXPR20 void subtract_bigits(int index, bigit other, bigit& borrow) {
394
+ auto result = static_cast<double_bigit>((*this)[index]) - other - borrow;
395
+ (*this)[index] = static_cast<bigit>(result);
396
+ borrow = static_cast<bigit>(result >> (bigit_bits * 2 - 1));
397
+ }
398
+
399
+ FMT_CONSTEXPR20 void remove_leading_zeros() {
400
+ int num_bigits = static_cast<int>(bigits_.size()) - 1;
401
+ while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits;
402
+ bigits_.resize(to_unsigned(num_bigits + 1));
403
+ }
404
+
405
+ // Computes *this -= other assuming aligned bigints and *this >= other.
406
+ FMT_CONSTEXPR20 void subtract_aligned(const bigint& other) {
407
+ FMT_ASSERT(other.exp_ >= exp_, "unaligned bigints");
408
+ FMT_ASSERT(compare(*this, other) >= 0, "");
409
+ bigit borrow = 0;
410
+ int i = other.exp_ - exp_;
411
+ for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j)
412
+ subtract_bigits(i, other.bigits_[j], borrow);
413
+ while (borrow > 0) subtract_bigits(i, 0, borrow);
414
+ remove_leading_zeros();
415
+ }
416
+
417
+ FMT_CONSTEXPR20 void multiply(uint32_t value) {
418
+ const double_bigit wide_value = value;
419
+ bigit carry = 0;
420
+ for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
421
+ double_bigit result = bigits_[i] * wide_value + carry;
422
+ bigits_[i] = static_cast<bigit>(result);
423
+ carry = static_cast<bigit>(result >> bigit_bits);
424
+ }
425
+ if (carry != 0) bigits_.push_back(carry);
426
+ }
427
+
428
+ FMT_CONSTEXPR20 void multiply(uint64_t value) {
429
+ const bigit mask = ~bigit(0);
430
+ const double_bigit lower = value & mask;
431
+ const double_bigit upper = value >> bigit_bits;
432
+ double_bigit carry = 0;
433
+ for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
434
+ double_bigit result = bigits_[i] * lower + (carry & mask);
435
+ carry =
436
+ bigits_[i] * upper + (result >> bigit_bits) + (carry >> bigit_bits);
437
+ bigits_[i] = static_cast<bigit>(result);
438
+ }
439
+ while (carry != 0) {
440
+ bigits_.push_back(carry & mask);
441
+ carry >>= bigit_bits;
442
+ }
443
+ }
444
+
445
+ public:
446
+ FMT_CONSTEXPR20 bigint() : exp_(0) {}
447
+ explicit bigint(uint64_t n) { assign(n); }
448
+ FMT_CONSTEXPR20 ~bigint() {
449
+ FMT_ASSERT(bigits_.capacity() <= bigits_capacity, "");
450
+ }
451
+
452
+ bigint(const bigint&) = delete;
453
+ void operator=(const bigint&) = delete;
454
+
455
+ FMT_CONSTEXPR20 void assign(const bigint& other) {
456
+ auto size = other.bigits_.size();
457
+ bigits_.resize(size);
458
+ auto data = other.bigits_.data();
459
+ std::copy(data, data + size, make_checked(bigits_.data(), size));
460
+ exp_ = other.exp_;
461
+ }
462
+
463
+ FMT_CONSTEXPR20 void assign(uint64_t n) {
464
+ size_t num_bigits = 0;
465
+ do {
466
+ bigits_[num_bigits++] = n & ~bigit(0);
467
+ n >>= bigit_bits;
468
+ } while (n != 0);
469
+ bigits_.resize(num_bigits);
470
+ exp_ = 0;
471
+ }
472
+
473
+ FMT_CONSTEXPR20 int num_bigits() const {
474
+ return static_cast<int>(bigits_.size()) + exp_;
475
+ }
476
+
477
+ FMT_NOINLINE FMT_CONSTEXPR20 bigint& operator<<=(int shift) {
478
+ FMT_ASSERT(shift >= 0, "");
479
+ exp_ += shift / bigit_bits;
480
+ shift %= bigit_bits;
481
+ if (shift == 0) return *this;
482
+ bigit carry = 0;
483
+ for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
484
+ bigit c = bigits_[i] >> (bigit_bits - shift);
485
+ bigits_[i] = (bigits_[i] << shift) + carry;
486
+ carry = c;
487
+ }
488
+ if (carry != 0) bigits_.push_back(carry);
489
+ return *this;
490
+ }
491
+
492
+ template <typename Int> FMT_CONSTEXPR20 bigint& operator*=(Int value) {
493
+ FMT_ASSERT(value > 0, "");
494
+ multiply(uint32_or_64_or_128_t<Int>(value));
495
+ return *this;
496
+ }
497
+
498
+ friend FMT_CONSTEXPR20 int compare(const bigint& lhs, const bigint& rhs) {
499
+ int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits();
500
+ if (num_lhs_bigits != num_rhs_bigits)
501
+ return num_lhs_bigits > num_rhs_bigits ? 1 : -1;
502
+ int i = static_cast<int>(lhs.bigits_.size()) - 1;
503
+ int j = static_cast<int>(rhs.bigits_.size()) - 1;
504
+ int end = i - j;
505
+ if (end < 0) end = 0;
506
+ for (; i >= end; --i, --j) {
507
+ bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j];
508
+ if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1;
509
+ }
510
+ if (i != j) return i > j ? 1 : -1;
511
+ return 0;
512
+ }
513
+
514
+ // Returns compare(lhs1 + lhs2, rhs).
515
+ friend FMT_CONSTEXPR20 int add_compare(const bigint& lhs1, const bigint& lhs2,
516
+ const bigint& rhs) {
517
+ int max_lhs_bigits = (std::max)(lhs1.num_bigits(), lhs2.num_bigits());
518
+ int num_rhs_bigits = rhs.num_bigits();
519
+ if (max_lhs_bigits + 1 < num_rhs_bigits) return -1;
520
+ if (max_lhs_bigits > num_rhs_bigits) return 1;
521
+ auto get_bigit = [](const bigint& n, int i) -> bigit {
522
+ return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0;
523
+ };
524
+ double_bigit borrow = 0;
525
+ int min_exp = (std::min)((std::min)(lhs1.exp_, lhs2.exp_), rhs.exp_);
526
+ for (int i = num_rhs_bigits - 1; i >= min_exp; --i) {
527
+ double_bigit sum =
528
+ static_cast<double_bigit>(get_bigit(lhs1, i)) + get_bigit(lhs2, i);
529
+ bigit rhs_bigit = get_bigit(rhs, i);
530
+ if (sum > rhs_bigit + borrow) return 1;
531
+ borrow = rhs_bigit + borrow - sum;
532
+ if (borrow > 1) return -1;
533
+ borrow <<= bigit_bits;
534
+ }
535
+ return borrow != 0 ? -1 : 0;
536
+ }
537
+
538
+ // Assigns pow(10, exp) to this bigint.
539
+ FMT_CONSTEXPR20 void assign_pow10(int exp) {
540
+ FMT_ASSERT(exp >= 0, "");
541
+ if (exp == 0) return assign(1);
542
+ // Find the top bit.
543
+ int bitmask = 1;
544
+ while (exp >= bitmask) bitmask <<= 1;
545
+ bitmask >>= 1;
546
+ // pow(10, exp) = pow(5, exp) * pow(2, exp). First compute pow(5, exp) by
547
+ // repeated squaring and multiplication.
548
+ assign(5);
549
+ bitmask >>= 1;
550
+ while (bitmask != 0) {
551
+ square();
552
+ if ((exp & bitmask) != 0) *this *= 5;
553
+ bitmask >>= 1;
554
+ }
555
+ *this <<= exp; // Multiply by pow(2, exp) by shifting.
556
+ }
557
+
558
+ FMT_CONSTEXPR20 void square() {
559
+ int num_bigits = static_cast<int>(bigits_.size());
560
+ int num_result_bigits = 2 * num_bigits;
561
+ basic_memory_buffer<bigit, bigits_capacity> n(std::move(bigits_));
562
+ bigits_.resize(to_unsigned(num_result_bigits));
563
+ using accumulator_t = conditional_t<FMT_USE_INT128, uint128_t, accumulator>;
564
+ auto sum = accumulator_t();
565
+ for (int bigit_index = 0; bigit_index < num_bigits; ++bigit_index) {
566
+ // Compute bigit at position bigit_index of the result by adding
567
+ // cross-product terms n[i] * n[j] such that i + j == bigit_index.
568
+ for (int i = 0, j = bigit_index; j >= 0; ++i, --j) {
569
+ // Most terms are multiplied twice which can be optimized in the future.
570
+ sum += static_cast<double_bigit>(n[i]) * n[j];
571
+ }
572
+ (*this)[bigit_index] = static_cast<bigit>(sum);
573
+ sum >>= bits<bigit>::value; // Compute the carry.
574
+ }
575
+ // Do the same for the top half.
576
+ for (int bigit_index = num_bigits; bigit_index < num_result_bigits;
577
+ ++bigit_index) {
578
+ for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;)
579
+ sum += static_cast<double_bigit>(n[i++]) * n[j--];
580
+ (*this)[bigit_index] = static_cast<bigit>(sum);
581
+ sum >>= bits<bigit>::value;
582
+ }
583
+ remove_leading_zeros();
584
+ exp_ *= 2;
585
+ }
586
+
587
+ // If this bigint has a bigger exponent than other, adds trailing zero to make
588
+ // exponents equal. This simplifies some operations such as subtraction.
589
+ FMT_CONSTEXPR20 void align(const bigint& other) {
590
+ int exp_difference = exp_ - other.exp_;
591
+ if (exp_difference <= 0) return;
592
+ int num_bigits = static_cast<int>(bigits_.size());
593
+ bigits_.resize(to_unsigned(num_bigits + exp_difference));
594
+ for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j)
595
+ bigits_[j] = bigits_[i];
596
+ std::uninitialized_fill_n(bigits_.data(), exp_difference, 0);
597
+ exp_ -= exp_difference;
598
+ }
599
+
600
+ // Divides this bignum by divisor, assigning the remainder to this and
601
+ // returning the quotient.
602
+ FMT_CONSTEXPR20 int divmod_assign(const bigint& divisor) {
603
+ FMT_ASSERT(this != &divisor, "");
604
+ if (compare(*this, divisor) < 0) return 0;
605
+ FMT_ASSERT(divisor.bigits_[divisor.bigits_.size() - 1u] != 0, "");
606
+ align(divisor);
607
+ int quotient = 0;
608
+ do {
609
+ subtract_aligned(divisor);
610
+ ++quotient;
611
+ } while (compare(*this, divisor) >= 0);
612
+ return quotient;
613
+ }
614
+ };
615
+
616
+ enum class round_direction { unknown, up, down };
617
+
618
+ // Given the divisor (normally a power of 10), the remainder = v % divisor for
619
+ // some number v and the error, returns whether v should be rounded up, down, or
620
+ // whether the rounding direction can't be determined due to error.
621
+ // error should be less than divisor / 2.
622
+ FMT_CONSTEXPR inline round_direction get_round_direction(uint64_t divisor,
623
+ uint64_t remainder,
624
+ uint64_t error) {
625
+ FMT_ASSERT(remainder < divisor, ""); // divisor - remainder won't overflow.
626
+ FMT_ASSERT(error < divisor, ""); // divisor - error won't overflow.
627
+ FMT_ASSERT(error < divisor - error, ""); // error * 2 won't overflow.
628
+ // Round down if (remainder + error) * 2 <= divisor.
629
+ if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2)
630
+ return round_direction::down;
631
+ // Round up if (remainder - error) * 2 >= divisor.
632
+ if (remainder >= error &&
633
+ remainder - error >= divisor - (remainder - error)) {
634
+ return round_direction::up;
635
+ }
636
+ return round_direction::unknown;
637
+ }
638
+
639
+ namespace digits {
640
+ enum result {
641
+ more, // Generate more digits.
642
+ done, // Done generating digits.
643
+ error // Digit generation cancelled due to an error.
644
+ };
645
+ }
646
+
647
+ struct gen_digits_handler {
648
+ char* buf;
649
+ int size;
650
+ int precision;
651
+ int exp10;
652
+ bool fixed;
653
+
654
+ FMT_CONSTEXPR digits::result on_digit(char digit, uint64_t divisor,
655
+ uint64_t remainder, uint64_t error,
656
+ bool integral) {
657
+ FMT_ASSERT(remainder < divisor, "");
658
+ buf[size++] = digit;
659
+ if (!integral && error >= remainder) return digits::error;
660
+ if (size < precision) return digits::more;
661
+ if (!integral) {
662
+ // Check if error * 2 < divisor with overflow prevention.
663
+ // The check is not needed for the integral part because error = 1
664
+ // and divisor > (1 << 32) there.
665
+ if (error >= divisor || error >= divisor - error) return digits::error;
666
+ } else {
667
+ FMT_ASSERT(error == 1 && divisor > 2, "");
668
+ }
669
+ auto dir = get_round_direction(divisor, remainder, error);
670
+ if (dir != round_direction::up)
671
+ return dir == round_direction::down ? digits::done : digits::error;
672
+ ++buf[size - 1];
673
+ for (int i = size - 1; i > 0 && buf[i] > '9'; --i) {
674
+ buf[i] = '0';
675
+ ++buf[i - 1];
676
+ }
677
+ if (buf[0] > '9') {
678
+ buf[0] = '1';
679
+ if (fixed)
680
+ buf[size++] = '0';
681
+ else
682
+ ++exp10;
683
+ }
684
+ return digits::done;
685
+ }
686
+ };
687
+
688
+ // Generates output using the Grisu digit-gen algorithm.
689
+ // error: the size of the region (lower, upper) outside of which numbers
690
+ // definitely do not round to value (Delta in Grisu3).
691
+ FMT_INLINE FMT_CONSTEXPR20 digits::result grisu_gen_digits(
692
+ fp value, uint64_t error, int& exp, gen_digits_handler& handler) {
693
+ const fp one(1ULL << -value.e, value.e);
694
+ // The integral part of scaled value (p1 in Grisu) = value / one. It cannot be
695
+ // zero because it contains a product of two 64-bit numbers with MSB set (due
696
+ // to normalization) - 1, shifted right by at most 60 bits.
697
+ auto integral = static_cast<uint32_t>(value.f >> -one.e);
698
+ FMT_ASSERT(integral != 0, "");
699
+ FMT_ASSERT(integral == value.f >> -one.e, "");
700
+ // The fractional part of scaled value (p2 in Grisu) c = value % one.
701
+ uint64_t fractional = value.f & (one.f - 1);
702
+ exp = count_digits(integral); // kappa in Grisu.
703
+ // Non-fixed formats require at least one digit and no precision adjustment.
704
+ if (handler.fixed) {
705
+ // Adjust fixed precision by exponent because it is relative to decimal
706
+ // point.
707
+ int precision_offset = exp + handler.exp10;
708
+ if (precision_offset > 0 &&
709
+ handler.precision > max_value<int>() - precision_offset) {
710
+ throw format_error("number is too big");
711
+ }
712
+ handler.precision += precision_offset;
713
+ // Check if precision is satisfied just by leading zeros, e.g.
714
+ // format("{:.2f}", 0.001) gives "0.00" without generating any digits.
715
+ if (handler.precision <= 0) {
716
+ if (handler.precision < 0) return digits::done;
717
+ // Divide by 10 to prevent overflow.
718
+ uint64_t divisor = impl_data::power_of_10_64[exp - 1] << -one.e;
719
+ auto dir = get_round_direction(divisor, value.f / 10, error * 10);
720
+ if (dir == round_direction::unknown) return digits::error;
721
+ handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0';
722
+ return digits::done;
723
+ }
724
+ }
725
+ // Generate digits for the integral part. This can produce up to 10 digits.
726
+ do {
727
+ uint32_t digit = 0;
728
+ auto divmod_integral = [&](uint32_t divisor) {
729
+ digit = integral / divisor;
730
+ integral %= divisor;
731
+ };
732
+ // This optimization by Milo Yip reduces the number of integer divisions by
733
+ // one per iteration.
734
+ switch (exp) {
735
+ case 10:
736
+ divmod_integral(1000000000);
737
+ break;
738
+ case 9:
739
+ divmod_integral(100000000);
740
+ break;
741
+ case 8:
742
+ divmod_integral(10000000);
743
+ break;
744
+ case 7:
745
+ divmod_integral(1000000);
746
+ break;
747
+ case 6:
748
+ divmod_integral(100000);
749
+ break;
750
+ case 5:
751
+ divmod_integral(10000);
752
+ break;
753
+ case 4:
754
+ divmod_integral(1000);
755
+ break;
756
+ case 3:
757
+ divmod_integral(100);
758
+ break;
759
+ case 2:
760
+ divmod_integral(10);
761
+ break;
762
+ case 1:
763
+ digit = integral;
764
+ integral = 0;
765
+ break;
766
+ default:
767
+ FMT_ASSERT(false, "invalid number of digits");
768
+ }
769
+ --exp;
770
+ auto remainder = (static_cast<uint64_t>(integral) << -one.e) + fractional;
771
+ auto result = handler.on_digit(static_cast<char>('0' + digit),
772
+ impl_data::power_of_10_64[exp] << -one.e,
773
+ remainder, error, true);
774
+ if (result != digits::more) return result;
775
+ } while (exp > 0);
776
+ // Generate digits for the fractional part.
777
+ for (;;) {
778
+ fractional *= 10;
779
+ error *= 10;
780
+ char digit = static_cast<char>('0' + (fractional >> -one.e));
781
+ fractional &= one.f - 1;
782
+ --exp;
783
+ auto result = handler.on_digit(digit, one.f, fractional, error, false);
784
+ if (result != digits::more) return result;
785
+ }
786
+ }
787
+
788
+ // A 128-bit integer type used internally,
789
+ struct uint128_wrapper {
790
+ uint128_wrapper() = default;
791
+
792
+ #if FMT_USE_INT128
793
+ uint128_t internal_;
794
+
795
+ constexpr uint128_wrapper(uint64_t high, uint64_t low) FMT_NOEXCEPT
796
+ : internal_{static_cast<uint128_t>(low) |
797
+ (static_cast<uint128_t>(high) << 64)} {}
798
+
799
+ constexpr uint128_wrapper(uint128_t u) : internal_{u} {}
800
+
801
+ constexpr uint64_t high() const FMT_NOEXCEPT {
802
+ return uint64_t(internal_ >> 64);
803
+ }
804
+ constexpr uint64_t low() const FMT_NOEXCEPT { return uint64_t(internal_); }
805
+
806
+ uint128_wrapper& operator+=(uint64_t n) FMT_NOEXCEPT {
807
+ internal_ += n;
808
+ return *this;
809
+ }
810
+ #else
811
+ uint64_t high_;
812
+ uint64_t low_;
813
+
814
+ constexpr uint128_wrapper(uint64_t high, uint64_t low) FMT_NOEXCEPT
815
+ : high_{high},
816
+ low_{low} {}
817
+
818
+ constexpr uint64_t high() const FMT_NOEXCEPT { return high_; }
819
+ constexpr uint64_t low() const FMT_NOEXCEPT { return low_; }
820
+
821
+ uint128_wrapper& operator+=(uint64_t n) FMT_NOEXCEPT {
822
+ # if defined(_MSC_VER) && defined(_M_X64)
823
+ unsigned char carry = _addcarry_u64(0, low_, n, &low_);
824
+ _addcarry_u64(carry, high_, 0, &high_);
825
+ return *this;
826
+ # else
827
+ uint64_t sum = low_ + n;
828
+ high_ += (sum < low_ ? 1 : 0);
829
+ low_ = sum;
830
+ return *this;
831
+ # endif
832
+ }
833
+ #endif
834
+ };
835
+
836
+ // Implementation of Dragonbox algorithm: https://github.com/jk-jeon/dragonbox.
837
+ namespace dragonbox {
838
+ // Computes 128-bit result of multiplication of two 64-bit unsigned integers.
839
+ inline uint128_wrapper umul128(uint64_t x, uint64_t y) FMT_NOEXCEPT {
840
+ #if FMT_USE_INT128
841
+ return static_cast<uint128_t>(x) * static_cast<uint128_t>(y);
842
+ #elif defined(_MSC_VER) && defined(_M_X64)
843
+ uint128_wrapper result;
844
+ result.low_ = _umul128(x, y, &result.high_);
845
+ return result;
846
+ #else
847
+ const uint64_t mask = (uint64_t(1) << 32) - uint64_t(1);
848
+
849
+ uint64_t a = x >> 32;
850
+ uint64_t b = x & mask;
851
+ uint64_t c = y >> 32;
852
+ uint64_t d = y & mask;
853
+
854
+ uint64_t ac = a * c;
855
+ uint64_t bc = b * c;
856
+ uint64_t ad = a * d;
857
+ uint64_t bd = b * d;
858
+
859
+ uint64_t intermediate = (bd >> 32) + (ad & mask) + (bc & mask);
860
+
861
+ return {ac + (intermediate >> 32) + (ad >> 32) + (bc >> 32),
862
+ (intermediate << 32) + (bd & mask)};
863
+ #endif
864
+ }
865
+
866
+ // Computes upper 64 bits of multiplication of two 64-bit unsigned integers.
867
+ inline uint64_t umul128_upper64(uint64_t x, uint64_t y) FMT_NOEXCEPT {
868
+ #if FMT_USE_INT128
869
+ auto p = static_cast<uint128_t>(x) * static_cast<uint128_t>(y);
870
+ return static_cast<uint64_t>(p >> 64);
871
+ #elif defined(_MSC_VER) && defined(_M_X64)
872
+ return __umulh(x, y);
873
+ #else
874
+ return umul128(x, y).high();
875
+ #endif
876
+ }
877
+
878
+ // Computes upper 64 bits of multiplication of a 64-bit unsigned integer and a
879
+ // 128-bit unsigned integer.
880
+ inline uint64_t umul192_upper64(uint64_t x, uint128_wrapper y) FMT_NOEXCEPT {
881
+ uint128_wrapper g0 = umul128(x, y.high());
882
+ g0 += umul128_upper64(x, y.low());
883
+ return g0.high();
884
+ }
885
+
886
+ // Computes upper 32 bits of multiplication of a 32-bit unsigned integer and a
887
+ // 64-bit unsigned integer.
888
+ inline uint32_t umul96_upper32(uint32_t x, uint64_t y) FMT_NOEXCEPT {
889
+ return static_cast<uint32_t>(umul128_upper64(x, y));
890
+ }
891
+
892
+ // Computes middle 64 bits of multiplication of a 64-bit unsigned integer and a
893
+ // 128-bit unsigned integer.
894
+ inline uint64_t umul192_middle64(uint64_t x, uint128_wrapper y) FMT_NOEXCEPT {
895
+ uint64_t g01 = x * y.high();
896
+ uint64_t g10 = umul128_upper64(x, y.low());
897
+ return g01 + g10;
898
+ }
899
+
900
+ // Computes lower 64 bits of multiplication of a 32-bit unsigned integer and a
901
+ // 64-bit unsigned integer.
902
+ inline uint64_t umul96_lower64(uint32_t x, uint64_t y) FMT_NOEXCEPT {
903
+ return x * y;
904
+ }
905
+
906
+ // Computes floor(log10(pow(2, e))) for e in [-1700, 1700] using the method from
907
+ // https://fmt.dev/papers/Grisu-Exact.pdf#page=5, section 3.4.
908
+ inline int floor_log10_pow2(int e) FMT_NOEXCEPT {
909
+ FMT_ASSERT(e <= 1700 && e >= -1700, "too large exponent");
910
+ const int shift = 22;
911
+ return (e * static_cast<int>(log10_2_significand >> (64 - shift))) >> shift;
912
+ }
913
+
914
+ // Various fast log computations.
915
+ inline int floor_log2_pow10(int e) FMT_NOEXCEPT {
916
+ FMT_ASSERT(e <= 1233 && e >= -1233, "too large exponent");
917
+ const uint64_t log2_10_integer_part = 3;
918
+ const uint64_t log2_10_fractional_digits = 0x5269e12f346e2bf9;
919
+ const int shift_amount = 19;
920
+ return (e * static_cast<int>(
921
+ (log2_10_integer_part << shift_amount) |
922
+ (log2_10_fractional_digits >> (64 - shift_amount)))) >>
923
+ shift_amount;
924
+ }
925
+ inline int floor_log10_pow2_minus_log10_4_over_3(int e) FMT_NOEXCEPT {
926
+ FMT_ASSERT(e <= 1700 && e >= -1700, "too large exponent");
927
+ const uint64_t log10_4_over_3_fractional_digits = 0x1ffbfc2bbc780375;
928
+ const int shift_amount = 22;
929
+ return (e * static_cast<int>(log10_2_significand >> (64 - shift_amount)) -
930
+ static_cast<int>(log10_4_over_3_fractional_digits >>
931
+ (64 - shift_amount))) >>
932
+ shift_amount;
933
+ }
934
+
935
+ // Returns true iff x is divisible by pow(2, exp).
936
+ inline bool divisible_by_power_of_2(uint32_t x, int exp) FMT_NOEXCEPT {
937
+ FMT_ASSERT(exp >= 1, "");
938
+ FMT_ASSERT(x != 0, "");
939
+ #ifdef FMT_BUILTIN_CTZ
940
+ return FMT_BUILTIN_CTZ(x) >= exp;
941
+ #else
942
+ return exp < num_bits<uint32_t>() && x == ((x >> exp) << exp);
943
+ #endif
944
+ }
945
+ inline bool divisible_by_power_of_2(uint64_t x, int exp) FMT_NOEXCEPT {
946
+ FMT_ASSERT(exp >= 1, "");
947
+ FMT_ASSERT(x != 0, "");
948
+ #ifdef FMT_BUILTIN_CTZLL
949
+ return FMT_BUILTIN_CTZLL(x) >= exp;
950
+ #else
951
+ return exp < num_bits<uint64_t>() && x == ((x >> exp) << exp);
952
+ #endif
953
+ }
954
+
955
+ // Table entry type for divisibility test.
956
+ template <typename T> struct divtest_table_entry {
957
+ T mod_inv;
958
+ T max_quotient;
959
+ };
960
+
961
+ // Returns true iff x is divisible by pow(5, exp).
962
+ inline bool divisible_by_power_of_5(uint32_t x, int exp) FMT_NOEXCEPT {
963
+ FMT_ASSERT(exp <= 10, "too large exponent");
964
+ static constexpr const divtest_table_entry<uint32_t> divtest_table[] = {
965
+ {0x00000001, 0xffffffff}, {0xcccccccd, 0x33333333},
966
+ {0xc28f5c29, 0x0a3d70a3}, {0x26e978d5, 0x020c49ba},
967
+ {0x3afb7e91, 0x0068db8b}, {0x0bcbe61d, 0x0014f8b5},
968
+ {0x68c26139, 0x000431bd}, {0xae8d46a5, 0x0000d6bf},
969
+ {0x22e90e21, 0x00002af3}, {0x3a2e9c6d, 0x00000897},
970
+ {0x3ed61f49, 0x000001b7}};
971
+ return x * divtest_table[exp].mod_inv <= divtest_table[exp].max_quotient;
972
+ }
973
+ inline bool divisible_by_power_of_5(uint64_t x, int exp) FMT_NOEXCEPT {
974
+ FMT_ASSERT(exp <= 23, "too large exponent");
975
+ static constexpr const divtest_table_entry<uint64_t> divtest_table[] = {
976
+ {0x0000000000000001, 0xffffffffffffffff},
977
+ {0xcccccccccccccccd, 0x3333333333333333},
978
+ {0x8f5c28f5c28f5c29, 0x0a3d70a3d70a3d70},
979
+ {0x1cac083126e978d5, 0x020c49ba5e353f7c},
980
+ {0xd288ce703afb7e91, 0x0068db8bac710cb2},
981
+ {0x5d4e8fb00bcbe61d, 0x0014f8b588e368f0},
982
+ {0x790fb65668c26139, 0x000431bde82d7b63},
983
+ {0xe5032477ae8d46a5, 0x0000d6bf94d5e57a},
984
+ {0xc767074b22e90e21, 0x00002af31dc46118},
985
+ {0x8e47ce423a2e9c6d, 0x0000089705f4136b},
986
+ {0x4fa7f60d3ed61f49, 0x000001b7cdfd9d7b},
987
+ {0x0fee64690c913975, 0x00000057f5ff85e5},
988
+ {0x3662e0e1cf503eb1, 0x000000119799812d},
989
+ {0xa47a2cf9f6433fbd, 0x0000000384b84d09},
990
+ {0x54186f653140a659, 0x00000000b424dc35},
991
+ {0x7738164770402145, 0x0000000024075f3d},
992
+ {0xe4a4d1417cd9a041, 0x000000000734aca5},
993
+ {0xc75429d9e5c5200d, 0x000000000170ef54},
994
+ {0xc1773b91fac10669, 0x000000000049c977},
995
+ {0x26b172506559ce15, 0x00000000000ec1e4},
996
+ {0xd489e3a9addec2d1, 0x000000000002f394},
997
+ {0x90e860bb892c8d5d, 0x000000000000971d},
998
+ {0x502e79bf1b6f4f79, 0x0000000000001e39},
999
+ {0xdcd618596be30fe5, 0x000000000000060b}};
1000
+ return x * divtest_table[exp].mod_inv <= divtest_table[exp].max_quotient;
1001
+ }
1002
+
1003
+ // Replaces n by floor(n / pow(5, N)) returning true if and only if n is
1004
+ // divisible by pow(5, N).
1005
+ // Precondition: n <= 2 * pow(5, N + 1).
1006
+ template <int N>
1007
+ bool check_divisibility_and_divide_by_pow5(uint32_t& n) FMT_NOEXCEPT {
1008
+ static constexpr struct {
1009
+ uint32_t magic_number;
1010
+ int bits_for_comparison;
1011
+ uint32_t threshold;
1012
+ int shift_amount;
1013
+ } infos[] = {{0xcccd, 16, 0x3333, 18}, {0xa429, 8, 0x0a, 20}};
1014
+ constexpr auto info = infos[N - 1];
1015
+ n *= info.magic_number;
1016
+ const uint32_t comparison_mask = (1u << info.bits_for_comparison) - 1;
1017
+ bool result = (n & comparison_mask) <= info.threshold;
1018
+ n >>= info.shift_amount;
1019
+ return result;
1020
+ }
1021
+
1022
+ // Computes floor(n / pow(10, N)) for small n and N.
1023
+ // Precondition: n <= pow(10, N + 1).
1024
+ template <int N> uint32_t small_division_by_pow10(uint32_t n) FMT_NOEXCEPT {
1025
+ static constexpr struct {
1026
+ uint32_t magic_number;
1027
+ int shift_amount;
1028
+ uint32_t divisor_times_10;
1029
+ } infos[] = {{0xcccd, 19, 100}, {0xa3d8, 22, 1000}};
1030
+ constexpr auto info = infos[N - 1];
1031
+ FMT_ASSERT(n <= info.divisor_times_10, "n is too large");
1032
+ return n * info.magic_number >> info.shift_amount;
1033
+ }
1034
+
1035
+ // Computes floor(n / 10^(kappa + 1)) (float)
1036
+ inline uint32_t divide_by_10_to_kappa_plus_1(uint32_t n) FMT_NOEXCEPT {
1037
+ return n / float_info<float>::big_divisor;
1038
+ }
1039
+ // Computes floor(n / 10^(kappa + 1)) (double)
1040
+ inline uint64_t divide_by_10_to_kappa_plus_1(uint64_t n) FMT_NOEXCEPT {
1041
+ return umul128_upper64(n, 0x83126e978d4fdf3c) >> 9;
1042
+ }
1043
+
1044
+ // Various subroutines using pow10 cache
1045
+ template <class T> struct cache_accessor;
1046
+
1047
+ template <> struct cache_accessor<float> {
1048
+ using carrier_uint = float_info<float>::carrier_uint;
1049
+ using cache_entry_type = uint64_t;
1050
+
1051
+ static uint64_t get_cached_power(int k) FMT_NOEXCEPT {
1052
+ FMT_ASSERT(k >= float_info<float>::min_k && k <= float_info<float>::max_k,
1053
+ "k is out of range");
1054
+ static constexpr const uint64_t pow10_significands[] = {
1055
+ 0x81ceb32c4b43fcf5, 0xa2425ff75e14fc32, 0xcad2f7f5359a3b3f,
1056
+ 0xfd87b5f28300ca0e, 0x9e74d1b791e07e49, 0xc612062576589ddb,
1057
+ 0xf79687aed3eec552, 0x9abe14cd44753b53, 0xc16d9a0095928a28,
1058
+ 0xf1c90080baf72cb2, 0x971da05074da7bef, 0xbce5086492111aeb,
1059
+ 0xec1e4a7db69561a6, 0x9392ee8e921d5d08, 0xb877aa3236a4b44a,
1060
+ 0xe69594bec44de15c, 0x901d7cf73ab0acda, 0xb424dc35095cd810,
1061
+ 0xe12e13424bb40e14, 0x8cbccc096f5088cc, 0xafebff0bcb24aaff,
1062
+ 0xdbe6fecebdedd5bf, 0x89705f4136b4a598, 0xabcc77118461cefd,
1063
+ 0xd6bf94d5e57a42bd, 0x8637bd05af6c69b6, 0xa7c5ac471b478424,
1064
+ 0xd1b71758e219652c, 0x83126e978d4fdf3c, 0xa3d70a3d70a3d70b,
1065
+ 0xcccccccccccccccd, 0x8000000000000000, 0xa000000000000000,
1066
+ 0xc800000000000000, 0xfa00000000000000, 0x9c40000000000000,
1067
+ 0xc350000000000000, 0xf424000000000000, 0x9896800000000000,
1068
+ 0xbebc200000000000, 0xee6b280000000000, 0x9502f90000000000,
1069
+ 0xba43b74000000000, 0xe8d4a51000000000, 0x9184e72a00000000,
1070
+ 0xb5e620f480000000, 0xe35fa931a0000000, 0x8e1bc9bf04000000,
1071
+ 0xb1a2bc2ec5000000, 0xde0b6b3a76400000, 0x8ac7230489e80000,
1072
+ 0xad78ebc5ac620000, 0xd8d726b7177a8000, 0x878678326eac9000,
1073
+ 0xa968163f0a57b400, 0xd3c21bcecceda100, 0x84595161401484a0,
1074
+ 0xa56fa5b99019a5c8, 0xcecb8f27f4200f3a, 0x813f3978f8940984,
1075
+ 0xa18f07d736b90be5, 0xc9f2c9cd04674ede, 0xfc6f7c4045812296,
1076
+ 0x9dc5ada82b70b59d, 0xc5371912364ce305, 0xf684df56c3e01bc6,
1077
+ 0x9a130b963a6c115c, 0xc097ce7bc90715b3, 0xf0bdc21abb48db20,
1078
+ 0x96769950b50d88f4, 0xbc143fa4e250eb31, 0xeb194f8e1ae525fd,
1079
+ 0x92efd1b8d0cf37be, 0xb7abc627050305ad, 0xe596b7b0c643c719,
1080
+ 0x8f7e32ce7bea5c6f, 0xb35dbf821ae4f38b, 0xe0352f62a19e306e};
1081
+ return pow10_significands[k - float_info<float>::min_k];
1082
+ }
1083
+
1084
+ static carrier_uint compute_mul(carrier_uint u,
1085
+ const cache_entry_type& cache) FMT_NOEXCEPT {
1086
+ return umul96_upper32(u, cache);
1087
+ }
1088
+
1089
+ static uint32_t compute_delta(const cache_entry_type& cache,
1090
+ int beta_minus_1) FMT_NOEXCEPT {
1091
+ return static_cast<uint32_t>(cache >> (64 - 1 - beta_minus_1));
1092
+ }
1093
+
1094
+ static bool compute_mul_parity(carrier_uint two_f,
1095
+ const cache_entry_type& cache,
1096
+ int beta_minus_1) FMT_NOEXCEPT {
1097
+ FMT_ASSERT(beta_minus_1 >= 1, "");
1098
+ FMT_ASSERT(beta_minus_1 < 64, "");
1099
+
1100
+ return ((umul96_lower64(two_f, cache) >> (64 - beta_minus_1)) & 1) != 0;
1101
+ }
1102
+
1103
+ static carrier_uint compute_left_endpoint_for_shorter_interval_case(
1104
+ const cache_entry_type& cache, int beta_minus_1) FMT_NOEXCEPT {
1105
+ return static_cast<carrier_uint>(
1106
+ (cache - (cache >> (float_info<float>::significand_bits + 2))) >>
1107
+ (64 - float_info<float>::significand_bits - 1 - beta_minus_1));
1108
+ }
1109
+
1110
+ static carrier_uint compute_right_endpoint_for_shorter_interval_case(
1111
+ const cache_entry_type& cache, int beta_minus_1) FMT_NOEXCEPT {
1112
+ return static_cast<carrier_uint>(
1113
+ (cache + (cache >> (float_info<float>::significand_bits + 1))) >>
1114
+ (64 - float_info<float>::significand_bits - 1 - beta_minus_1));
1115
+ }
1116
+
1117
+ static carrier_uint compute_round_up_for_shorter_interval_case(
1118
+ const cache_entry_type& cache, int beta_minus_1) FMT_NOEXCEPT {
1119
+ return (static_cast<carrier_uint>(
1120
+ cache >>
1121
+ (64 - float_info<float>::significand_bits - 2 - beta_minus_1)) +
1122
+ 1) /
1123
+ 2;
1124
+ }
1125
+ };
1126
+
1127
+ template <> struct cache_accessor<double> {
1128
+ using carrier_uint = float_info<double>::carrier_uint;
1129
+ using cache_entry_type = uint128_wrapper;
1130
+
1131
+ static uint128_wrapper get_cached_power(int k) FMT_NOEXCEPT {
1132
+ FMT_ASSERT(k >= float_info<double>::min_k && k <= float_info<double>::max_k,
1133
+ "k is out of range");
1134
+
1135
+ static constexpr const uint128_wrapper pow10_significands[] = {
1136
+ #if FMT_USE_FULL_CACHE_DRAGONBOX
1137
+ {0xff77b1fcbebcdc4f, 0x25e8e89c13bb0f7b},
1138
+ {0x9faacf3df73609b1, 0x77b191618c54e9ad},
1139
+ {0xc795830d75038c1d, 0xd59df5b9ef6a2418},
1140
+ {0xf97ae3d0d2446f25, 0x4b0573286b44ad1e},
1141
+ {0x9becce62836ac577, 0x4ee367f9430aec33},
1142
+ {0xc2e801fb244576d5, 0x229c41f793cda740},
1143
+ {0xf3a20279ed56d48a, 0x6b43527578c11110},
1144
+ {0x9845418c345644d6, 0x830a13896b78aaaa},
1145
+ {0xbe5691ef416bd60c, 0x23cc986bc656d554},
1146
+ {0xedec366b11c6cb8f, 0x2cbfbe86b7ec8aa9},
1147
+ {0x94b3a202eb1c3f39, 0x7bf7d71432f3d6aa},
1148
+ {0xb9e08a83a5e34f07, 0xdaf5ccd93fb0cc54},
1149
+ {0xe858ad248f5c22c9, 0xd1b3400f8f9cff69},
1150
+ {0x91376c36d99995be, 0x23100809b9c21fa2},
1151
+ {0xb58547448ffffb2d, 0xabd40a0c2832a78b},
1152
+ {0xe2e69915b3fff9f9, 0x16c90c8f323f516d},
1153
+ {0x8dd01fad907ffc3b, 0xae3da7d97f6792e4},
1154
+ {0xb1442798f49ffb4a, 0x99cd11cfdf41779d},
1155
+ {0xdd95317f31c7fa1d, 0x40405643d711d584},
1156
+ {0x8a7d3eef7f1cfc52, 0x482835ea666b2573},
1157
+ {0xad1c8eab5ee43b66, 0xda3243650005eed0},
1158
+ {0xd863b256369d4a40, 0x90bed43e40076a83},
1159
+ {0x873e4f75e2224e68, 0x5a7744a6e804a292},
1160
+ {0xa90de3535aaae202, 0x711515d0a205cb37},
1161
+ {0xd3515c2831559a83, 0x0d5a5b44ca873e04},
1162
+ {0x8412d9991ed58091, 0xe858790afe9486c3},
1163
+ {0xa5178fff668ae0b6, 0x626e974dbe39a873},
1164
+ {0xce5d73ff402d98e3, 0xfb0a3d212dc81290},
1165
+ {0x80fa687f881c7f8e, 0x7ce66634bc9d0b9a},
1166
+ {0xa139029f6a239f72, 0x1c1fffc1ebc44e81},
1167
+ {0xc987434744ac874e, 0xa327ffb266b56221},
1168
+ {0xfbe9141915d7a922, 0x4bf1ff9f0062baa9},
1169
+ {0x9d71ac8fada6c9b5, 0x6f773fc3603db4aa},
1170
+ {0xc4ce17b399107c22, 0xcb550fb4384d21d4},
1171
+ {0xf6019da07f549b2b, 0x7e2a53a146606a49},
1172
+ {0x99c102844f94e0fb, 0x2eda7444cbfc426e},
1173
+ {0xc0314325637a1939, 0xfa911155fefb5309},
1174
+ {0xf03d93eebc589f88, 0x793555ab7eba27cb},
1175
+ {0x96267c7535b763b5, 0x4bc1558b2f3458df},
1176
+ {0xbbb01b9283253ca2, 0x9eb1aaedfb016f17},
1177
+ {0xea9c227723ee8bcb, 0x465e15a979c1cadd},
1178
+ {0x92a1958a7675175f, 0x0bfacd89ec191eca},
1179
+ {0xb749faed14125d36, 0xcef980ec671f667c},
1180
+ {0xe51c79a85916f484, 0x82b7e12780e7401b},
1181
+ {0x8f31cc0937ae58d2, 0xd1b2ecb8b0908811},
1182
+ {0xb2fe3f0b8599ef07, 0x861fa7e6dcb4aa16},
1183
+ {0xdfbdcece67006ac9, 0x67a791e093e1d49b},
1184
+ {0x8bd6a141006042bd, 0xe0c8bb2c5c6d24e1},
1185
+ {0xaecc49914078536d, 0x58fae9f773886e19},
1186
+ {0xda7f5bf590966848, 0xaf39a475506a899f},
1187
+ {0x888f99797a5e012d, 0x6d8406c952429604},
1188
+ {0xaab37fd7d8f58178, 0xc8e5087ba6d33b84},
1189
+ {0xd5605fcdcf32e1d6, 0xfb1e4a9a90880a65},
1190
+ {0x855c3be0a17fcd26, 0x5cf2eea09a550680},
1191
+ {0xa6b34ad8c9dfc06f, 0xf42faa48c0ea481f},
1192
+ {0xd0601d8efc57b08b, 0xf13b94daf124da27},
1193
+ {0x823c12795db6ce57, 0x76c53d08d6b70859},
1194
+ {0xa2cb1717b52481ed, 0x54768c4b0c64ca6f},
1195
+ {0xcb7ddcdda26da268, 0xa9942f5dcf7dfd0a},
1196
+ {0xfe5d54150b090b02, 0xd3f93b35435d7c4d},
1197
+ {0x9efa548d26e5a6e1, 0xc47bc5014a1a6db0},
1198
+ {0xc6b8e9b0709f109a, 0x359ab6419ca1091c},
1199
+ {0xf867241c8cc6d4c0, 0xc30163d203c94b63},
1200
+ {0x9b407691d7fc44f8, 0x79e0de63425dcf1e},
1201
+ {0xc21094364dfb5636, 0x985915fc12f542e5},
1202
+ {0xf294b943e17a2bc4, 0x3e6f5b7b17b2939e},
1203
+ {0x979cf3ca6cec5b5a, 0xa705992ceecf9c43},
1204
+ {0xbd8430bd08277231, 0x50c6ff782a838354},
1205
+ {0xece53cec4a314ebd, 0xa4f8bf5635246429},
1206
+ {0x940f4613ae5ed136, 0x871b7795e136be9a},
1207
+ {0xb913179899f68584, 0x28e2557b59846e40},
1208
+ {0xe757dd7ec07426e5, 0x331aeada2fe589d0},
1209
+ {0x9096ea6f3848984f, 0x3ff0d2c85def7622},
1210
+ {0xb4bca50b065abe63, 0x0fed077a756b53aa},
1211
+ {0xe1ebce4dc7f16dfb, 0xd3e8495912c62895},
1212
+ {0x8d3360f09cf6e4bd, 0x64712dd7abbbd95d},
1213
+ {0xb080392cc4349dec, 0xbd8d794d96aacfb4},
1214
+ {0xdca04777f541c567, 0xecf0d7a0fc5583a1},
1215
+ {0x89e42caaf9491b60, 0xf41686c49db57245},
1216
+ {0xac5d37d5b79b6239, 0x311c2875c522ced6},
1217
+ {0xd77485cb25823ac7, 0x7d633293366b828c},
1218
+ {0x86a8d39ef77164bc, 0xae5dff9c02033198},
1219
+ {0xa8530886b54dbdeb, 0xd9f57f830283fdfd},
1220
+ {0xd267caa862a12d66, 0xd072df63c324fd7c},
1221
+ {0x8380dea93da4bc60, 0x4247cb9e59f71e6e},
1222
+ {0xa46116538d0deb78, 0x52d9be85f074e609},
1223
+ {0xcd795be870516656, 0x67902e276c921f8c},
1224
+ {0x806bd9714632dff6, 0x00ba1cd8a3db53b7},
1225
+ {0xa086cfcd97bf97f3, 0x80e8a40eccd228a5},
1226
+ {0xc8a883c0fdaf7df0, 0x6122cd128006b2ce},
1227
+ {0xfad2a4b13d1b5d6c, 0x796b805720085f82},
1228
+ {0x9cc3a6eec6311a63, 0xcbe3303674053bb1},
1229
+ {0xc3f490aa77bd60fc, 0xbedbfc4411068a9d},
1230
+ {0xf4f1b4d515acb93b, 0xee92fb5515482d45},
1231
+ {0x991711052d8bf3c5, 0x751bdd152d4d1c4b},
1232
+ {0xbf5cd54678eef0b6, 0xd262d45a78a0635e},
1233
+ {0xef340a98172aace4, 0x86fb897116c87c35},
1234
+ {0x9580869f0e7aac0e, 0xd45d35e6ae3d4da1},
1235
+ {0xbae0a846d2195712, 0x8974836059cca10a},
1236
+ {0xe998d258869facd7, 0x2bd1a438703fc94c},
1237
+ {0x91ff83775423cc06, 0x7b6306a34627ddd0},
1238
+ {0xb67f6455292cbf08, 0x1a3bc84c17b1d543},
1239
+ {0xe41f3d6a7377eeca, 0x20caba5f1d9e4a94},
1240
+ {0x8e938662882af53e, 0x547eb47b7282ee9d},
1241
+ {0xb23867fb2a35b28d, 0xe99e619a4f23aa44},
1242
+ {0xdec681f9f4c31f31, 0x6405fa00e2ec94d5},
1243
+ {0x8b3c113c38f9f37e, 0xde83bc408dd3dd05},
1244
+ {0xae0b158b4738705e, 0x9624ab50b148d446},
1245
+ {0xd98ddaee19068c76, 0x3badd624dd9b0958},
1246
+ {0x87f8a8d4cfa417c9, 0xe54ca5d70a80e5d7},
1247
+ {0xa9f6d30a038d1dbc, 0x5e9fcf4ccd211f4d},
1248
+ {0xd47487cc8470652b, 0x7647c32000696720},
1249
+ {0x84c8d4dfd2c63f3b, 0x29ecd9f40041e074},
1250
+ {0xa5fb0a17c777cf09, 0xf468107100525891},
1251
+ {0xcf79cc9db955c2cc, 0x7182148d4066eeb5},
1252
+ {0x81ac1fe293d599bf, 0xc6f14cd848405531},
1253
+ {0xa21727db38cb002f, 0xb8ada00e5a506a7d},
1254
+ {0xca9cf1d206fdc03b, 0xa6d90811f0e4851d},
1255
+ {0xfd442e4688bd304a, 0x908f4a166d1da664},
1256
+ {0x9e4a9cec15763e2e, 0x9a598e4e043287ff},
1257
+ {0xc5dd44271ad3cdba, 0x40eff1e1853f29fe},
1258
+ {0xf7549530e188c128, 0xd12bee59e68ef47d},
1259
+ {0x9a94dd3e8cf578b9, 0x82bb74f8301958cf},
1260
+ {0xc13a148e3032d6e7, 0xe36a52363c1faf02},
1261
+ {0xf18899b1bc3f8ca1, 0xdc44e6c3cb279ac2},
1262
+ {0x96f5600f15a7b7e5, 0x29ab103a5ef8c0ba},
1263
+ {0xbcb2b812db11a5de, 0x7415d448f6b6f0e8},
1264
+ {0xebdf661791d60f56, 0x111b495b3464ad22},
1265
+ {0x936b9fcebb25c995, 0xcab10dd900beec35},
1266
+ {0xb84687c269ef3bfb, 0x3d5d514f40eea743},
1267
+ {0xe65829b3046b0afa, 0x0cb4a5a3112a5113},
1268
+ {0x8ff71a0fe2c2e6dc, 0x47f0e785eaba72ac},
1269
+ {0xb3f4e093db73a093, 0x59ed216765690f57},
1270
+ {0xe0f218b8d25088b8, 0x306869c13ec3532d},
1271
+ {0x8c974f7383725573, 0x1e414218c73a13fc},
1272
+ {0xafbd2350644eeacf, 0xe5d1929ef90898fb},
1273
+ {0xdbac6c247d62a583, 0xdf45f746b74abf3a},
1274
+ {0x894bc396ce5da772, 0x6b8bba8c328eb784},
1275
+ {0xab9eb47c81f5114f, 0x066ea92f3f326565},
1276
+ {0xd686619ba27255a2, 0xc80a537b0efefebe},
1277
+ {0x8613fd0145877585, 0xbd06742ce95f5f37},
1278
+ {0xa798fc4196e952e7, 0x2c48113823b73705},
1279
+ {0xd17f3b51fca3a7a0, 0xf75a15862ca504c6},
1280
+ {0x82ef85133de648c4, 0x9a984d73dbe722fc},
1281
+ {0xa3ab66580d5fdaf5, 0xc13e60d0d2e0ebbb},
1282
+ {0xcc963fee10b7d1b3, 0x318df905079926a9},
1283
+ {0xffbbcfe994e5c61f, 0xfdf17746497f7053},
1284
+ {0x9fd561f1fd0f9bd3, 0xfeb6ea8bedefa634},
1285
+ {0xc7caba6e7c5382c8, 0xfe64a52ee96b8fc1},
1286
+ {0xf9bd690a1b68637b, 0x3dfdce7aa3c673b1},
1287
+ {0x9c1661a651213e2d, 0x06bea10ca65c084f},
1288
+ {0xc31bfa0fe5698db8, 0x486e494fcff30a63},
1289
+ {0xf3e2f893dec3f126, 0x5a89dba3c3efccfb},
1290
+ {0x986ddb5c6b3a76b7, 0xf89629465a75e01d},
1291
+ {0xbe89523386091465, 0xf6bbb397f1135824},
1292
+ {0xee2ba6c0678b597f, 0x746aa07ded582e2d},
1293
+ {0x94db483840b717ef, 0xa8c2a44eb4571cdd},
1294
+ {0xba121a4650e4ddeb, 0x92f34d62616ce414},
1295
+ {0xe896a0d7e51e1566, 0x77b020baf9c81d18},
1296
+ {0x915e2486ef32cd60, 0x0ace1474dc1d122f},
1297
+ {0xb5b5ada8aaff80b8, 0x0d819992132456bb},
1298
+ {0xe3231912d5bf60e6, 0x10e1fff697ed6c6a},
1299
+ {0x8df5efabc5979c8f, 0xca8d3ffa1ef463c2},
1300
+ {0xb1736b96b6fd83b3, 0xbd308ff8a6b17cb3},
1301
+ {0xddd0467c64bce4a0, 0xac7cb3f6d05ddbdf},
1302
+ {0x8aa22c0dbef60ee4, 0x6bcdf07a423aa96c},
1303
+ {0xad4ab7112eb3929d, 0x86c16c98d2c953c7},
1304
+ {0xd89d64d57a607744, 0xe871c7bf077ba8b8},
1305
+ {0x87625f056c7c4a8b, 0x11471cd764ad4973},
1306
+ {0xa93af6c6c79b5d2d, 0xd598e40d3dd89bd0},
1307
+ {0xd389b47879823479, 0x4aff1d108d4ec2c4},
1308
+ {0x843610cb4bf160cb, 0xcedf722a585139bb},
1309
+ {0xa54394fe1eedb8fe, 0xc2974eb4ee658829},
1310
+ {0xce947a3da6a9273e, 0x733d226229feea33},
1311
+ {0x811ccc668829b887, 0x0806357d5a3f5260},
1312
+ {0xa163ff802a3426a8, 0xca07c2dcb0cf26f8},
1313
+ {0xc9bcff6034c13052, 0xfc89b393dd02f0b6},
1314
+ {0xfc2c3f3841f17c67, 0xbbac2078d443ace3},
1315
+ {0x9d9ba7832936edc0, 0xd54b944b84aa4c0e},
1316
+ {0xc5029163f384a931, 0x0a9e795e65d4df12},
1317
+ {0xf64335bcf065d37d, 0x4d4617b5ff4a16d6},
1318
+ {0x99ea0196163fa42e, 0x504bced1bf8e4e46},
1319
+ {0xc06481fb9bcf8d39, 0xe45ec2862f71e1d7},
1320
+ {0xf07da27a82c37088, 0x5d767327bb4e5a4d},
1321
+ {0x964e858c91ba2655, 0x3a6a07f8d510f870},
1322
+ {0xbbe226efb628afea, 0x890489f70a55368c},
1323
+ {0xeadab0aba3b2dbe5, 0x2b45ac74ccea842f},
1324
+ {0x92c8ae6b464fc96f, 0x3b0b8bc90012929e},
1325
+ {0xb77ada0617e3bbcb, 0x09ce6ebb40173745},
1326
+ {0xe55990879ddcaabd, 0xcc420a6a101d0516},
1327
+ {0x8f57fa54c2a9eab6, 0x9fa946824a12232e},
1328
+ {0xb32df8e9f3546564, 0x47939822dc96abfa},
1329
+ {0xdff9772470297ebd, 0x59787e2b93bc56f8},
1330
+ {0x8bfbea76c619ef36, 0x57eb4edb3c55b65b},
1331
+ {0xaefae51477a06b03, 0xede622920b6b23f2},
1332
+ {0xdab99e59958885c4, 0xe95fab368e45ecee},
1333
+ {0x88b402f7fd75539b, 0x11dbcb0218ebb415},
1334
+ {0xaae103b5fcd2a881, 0xd652bdc29f26a11a},
1335
+ {0xd59944a37c0752a2, 0x4be76d3346f04960},
1336
+ {0x857fcae62d8493a5, 0x6f70a4400c562ddc},
1337
+ {0xa6dfbd9fb8e5b88e, 0xcb4ccd500f6bb953},
1338
+ {0xd097ad07a71f26b2, 0x7e2000a41346a7a8},
1339
+ {0x825ecc24c873782f, 0x8ed400668c0c28c9},
1340
+ {0xa2f67f2dfa90563b, 0x728900802f0f32fb},
1341
+ {0xcbb41ef979346bca, 0x4f2b40a03ad2ffba},
1342
+ {0xfea126b7d78186bc, 0xe2f610c84987bfa9},
1343
+ {0x9f24b832e6b0f436, 0x0dd9ca7d2df4d7ca},
1344
+ {0xc6ede63fa05d3143, 0x91503d1c79720dbc},
1345
+ {0xf8a95fcf88747d94, 0x75a44c6397ce912b},
1346
+ {0x9b69dbe1b548ce7c, 0xc986afbe3ee11abb},
1347
+ {0xc24452da229b021b, 0xfbe85badce996169},
1348
+ {0xf2d56790ab41c2a2, 0xfae27299423fb9c4},
1349
+ {0x97c560ba6b0919a5, 0xdccd879fc967d41b},
1350
+ {0xbdb6b8e905cb600f, 0x5400e987bbc1c921},
1351
+ {0xed246723473e3813, 0x290123e9aab23b69},
1352
+ {0x9436c0760c86e30b, 0xf9a0b6720aaf6522},
1353
+ {0xb94470938fa89bce, 0xf808e40e8d5b3e6a},
1354
+ {0xe7958cb87392c2c2, 0xb60b1d1230b20e05},
1355
+ {0x90bd77f3483bb9b9, 0xb1c6f22b5e6f48c3},
1356
+ {0xb4ecd5f01a4aa828, 0x1e38aeb6360b1af4},
1357
+ {0xe2280b6c20dd5232, 0x25c6da63c38de1b1},
1358
+ {0x8d590723948a535f, 0x579c487e5a38ad0f},
1359
+ {0xb0af48ec79ace837, 0x2d835a9df0c6d852},
1360
+ {0xdcdb1b2798182244, 0xf8e431456cf88e66},
1361
+ {0x8a08f0f8bf0f156b, 0x1b8e9ecb641b5900},
1362
+ {0xac8b2d36eed2dac5, 0xe272467e3d222f40},
1363
+ {0xd7adf884aa879177, 0x5b0ed81dcc6abb10},
1364
+ {0x86ccbb52ea94baea, 0x98e947129fc2b4ea},
1365
+ {0xa87fea27a539e9a5, 0x3f2398d747b36225},
1366
+ {0xd29fe4b18e88640e, 0x8eec7f0d19a03aae},
1367
+ {0x83a3eeeef9153e89, 0x1953cf68300424ad},
1368
+ {0xa48ceaaab75a8e2b, 0x5fa8c3423c052dd8},
1369
+ {0xcdb02555653131b6, 0x3792f412cb06794e},
1370
+ {0x808e17555f3ebf11, 0xe2bbd88bbee40bd1},
1371
+ {0xa0b19d2ab70e6ed6, 0x5b6aceaeae9d0ec5},
1372
+ {0xc8de047564d20a8b, 0xf245825a5a445276},
1373
+ {0xfb158592be068d2e, 0xeed6e2f0f0d56713},
1374
+ {0x9ced737bb6c4183d, 0x55464dd69685606c},
1375
+ {0xc428d05aa4751e4c, 0xaa97e14c3c26b887},
1376
+ {0xf53304714d9265df, 0xd53dd99f4b3066a9},
1377
+ {0x993fe2c6d07b7fab, 0xe546a8038efe402a},
1378
+ {0xbf8fdb78849a5f96, 0xde98520472bdd034},
1379
+ {0xef73d256a5c0f77c, 0x963e66858f6d4441},
1380
+ {0x95a8637627989aad, 0xdde7001379a44aa9},
1381
+ {0xbb127c53b17ec159, 0x5560c018580d5d53},
1382
+ {0xe9d71b689dde71af, 0xaab8f01e6e10b4a7},
1383
+ {0x9226712162ab070d, 0xcab3961304ca70e9},
1384
+ {0xb6b00d69bb55c8d1, 0x3d607b97c5fd0d23},
1385
+ {0xe45c10c42a2b3b05, 0x8cb89a7db77c506b},
1386
+ {0x8eb98a7a9a5b04e3, 0x77f3608e92adb243},
1387
+ {0xb267ed1940f1c61c, 0x55f038b237591ed4},
1388
+ {0xdf01e85f912e37a3, 0x6b6c46dec52f6689},
1389
+ {0x8b61313bbabce2c6, 0x2323ac4b3b3da016},
1390
+ {0xae397d8aa96c1b77, 0xabec975e0a0d081b},
1391
+ {0xd9c7dced53c72255, 0x96e7bd358c904a22},
1392
+ {0x881cea14545c7575, 0x7e50d64177da2e55},
1393
+ {0xaa242499697392d2, 0xdde50bd1d5d0b9ea},
1394
+ {0xd4ad2dbfc3d07787, 0x955e4ec64b44e865},
1395
+ {0x84ec3c97da624ab4, 0xbd5af13bef0b113f},
1396
+ {0xa6274bbdd0fadd61, 0xecb1ad8aeacdd58f},
1397
+ {0xcfb11ead453994ba, 0x67de18eda5814af3},
1398
+ {0x81ceb32c4b43fcf4, 0x80eacf948770ced8},
1399
+ {0xa2425ff75e14fc31, 0xa1258379a94d028e},
1400
+ {0xcad2f7f5359a3b3e, 0x096ee45813a04331},
1401
+ {0xfd87b5f28300ca0d, 0x8bca9d6e188853fd},
1402
+ {0x9e74d1b791e07e48, 0x775ea264cf55347e},
1403
+ {0xc612062576589dda, 0x95364afe032a819e},
1404
+ {0xf79687aed3eec551, 0x3a83ddbd83f52205},
1405
+ {0x9abe14cd44753b52, 0xc4926a9672793543},
1406
+ {0xc16d9a0095928a27, 0x75b7053c0f178294},
1407
+ {0xf1c90080baf72cb1, 0x5324c68b12dd6339},
1408
+ {0x971da05074da7bee, 0xd3f6fc16ebca5e04},
1409
+ {0xbce5086492111aea, 0x88f4bb1ca6bcf585},
1410
+ {0xec1e4a7db69561a5, 0x2b31e9e3d06c32e6},
1411
+ {0x9392ee8e921d5d07, 0x3aff322e62439fd0},
1412
+ {0xb877aa3236a4b449, 0x09befeb9fad487c3},
1413
+ {0xe69594bec44de15b, 0x4c2ebe687989a9b4},
1414
+ {0x901d7cf73ab0acd9, 0x0f9d37014bf60a11},
1415
+ {0xb424dc35095cd80f, 0x538484c19ef38c95},
1416
+ {0xe12e13424bb40e13, 0x2865a5f206b06fba},
1417
+ {0x8cbccc096f5088cb, 0xf93f87b7442e45d4},
1418
+ {0xafebff0bcb24aafe, 0xf78f69a51539d749},
1419
+ {0xdbe6fecebdedd5be, 0xb573440e5a884d1c},
1420
+ {0x89705f4136b4a597, 0x31680a88f8953031},
1421
+ {0xabcc77118461cefc, 0xfdc20d2b36ba7c3e},
1422
+ {0xd6bf94d5e57a42bc, 0x3d32907604691b4d},
1423
+ {0x8637bd05af6c69b5, 0xa63f9a49c2c1b110},
1424
+ {0xa7c5ac471b478423, 0x0fcf80dc33721d54},
1425
+ {0xd1b71758e219652b, 0xd3c36113404ea4a9},
1426
+ {0x83126e978d4fdf3b, 0x645a1cac083126ea},
1427
+ {0xa3d70a3d70a3d70a, 0x3d70a3d70a3d70a4},
1428
+ {0xcccccccccccccccc, 0xcccccccccccccccd},
1429
+ {0x8000000000000000, 0x0000000000000000},
1430
+ {0xa000000000000000, 0x0000000000000000},
1431
+ {0xc800000000000000, 0x0000000000000000},
1432
+ {0xfa00000000000000, 0x0000000000000000},
1433
+ {0x9c40000000000000, 0x0000000000000000},
1434
+ {0xc350000000000000, 0x0000000000000000},
1435
+ {0xf424000000000000, 0x0000000000000000},
1436
+ {0x9896800000000000, 0x0000000000000000},
1437
+ {0xbebc200000000000, 0x0000000000000000},
1438
+ {0xee6b280000000000, 0x0000000000000000},
1439
+ {0x9502f90000000000, 0x0000000000000000},
1440
+ {0xba43b74000000000, 0x0000000000000000},
1441
+ {0xe8d4a51000000000, 0x0000000000000000},
1442
+ {0x9184e72a00000000, 0x0000000000000000},
1443
+ {0xb5e620f480000000, 0x0000000000000000},
1444
+ {0xe35fa931a0000000, 0x0000000000000000},
1445
+ {0x8e1bc9bf04000000, 0x0000000000000000},
1446
+ {0xb1a2bc2ec5000000, 0x0000000000000000},
1447
+ {0xde0b6b3a76400000, 0x0000000000000000},
1448
+ {0x8ac7230489e80000, 0x0000000000000000},
1449
+ {0xad78ebc5ac620000, 0x0000000000000000},
1450
+ {0xd8d726b7177a8000, 0x0000000000000000},
1451
+ {0x878678326eac9000, 0x0000000000000000},
1452
+ {0xa968163f0a57b400, 0x0000000000000000},
1453
+ {0xd3c21bcecceda100, 0x0000000000000000},
1454
+ {0x84595161401484a0, 0x0000000000000000},
1455
+ {0xa56fa5b99019a5c8, 0x0000000000000000},
1456
+ {0xcecb8f27f4200f3a, 0x0000000000000000},
1457
+ {0x813f3978f8940984, 0x4000000000000000},
1458
+ {0xa18f07d736b90be5, 0x5000000000000000},
1459
+ {0xc9f2c9cd04674ede, 0xa400000000000000},
1460
+ {0xfc6f7c4045812296, 0x4d00000000000000},
1461
+ {0x9dc5ada82b70b59d, 0xf020000000000000},
1462
+ {0xc5371912364ce305, 0x6c28000000000000},
1463
+ {0xf684df56c3e01bc6, 0xc732000000000000},
1464
+ {0x9a130b963a6c115c, 0x3c7f400000000000},
1465
+ {0xc097ce7bc90715b3, 0x4b9f100000000000},
1466
+ {0xf0bdc21abb48db20, 0x1e86d40000000000},
1467
+ {0x96769950b50d88f4, 0x1314448000000000},
1468
+ {0xbc143fa4e250eb31, 0x17d955a000000000},
1469
+ {0xeb194f8e1ae525fd, 0x5dcfab0800000000},
1470
+ {0x92efd1b8d0cf37be, 0x5aa1cae500000000},
1471
+ {0xb7abc627050305ad, 0xf14a3d9e40000000},
1472
+ {0xe596b7b0c643c719, 0x6d9ccd05d0000000},
1473
+ {0x8f7e32ce7bea5c6f, 0xe4820023a2000000},
1474
+ {0xb35dbf821ae4f38b, 0xdda2802c8a800000},
1475
+ {0xe0352f62a19e306e, 0xd50b2037ad200000},
1476
+ {0x8c213d9da502de45, 0x4526f422cc340000},
1477
+ {0xaf298d050e4395d6, 0x9670b12b7f410000},
1478
+ {0xdaf3f04651d47b4c, 0x3c0cdd765f114000},
1479
+ {0x88d8762bf324cd0f, 0xa5880a69fb6ac800},
1480
+ {0xab0e93b6efee0053, 0x8eea0d047a457a00},
1481
+ {0xd5d238a4abe98068, 0x72a4904598d6d880},
1482
+ {0x85a36366eb71f041, 0x47a6da2b7f864750},
1483
+ {0xa70c3c40a64e6c51, 0x999090b65f67d924},
1484
+ {0xd0cf4b50cfe20765, 0xfff4b4e3f741cf6d},
1485
+ {0x82818f1281ed449f, 0xbff8f10e7a8921a4},
1486
+ {0xa321f2d7226895c7, 0xaff72d52192b6a0d},
1487
+ {0xcbea6f8ceb02bb39, 0x9bf4f8a69f764490},
1488
+ {0xfee50b7025c36a08, 0x02f236d04753d5b4},
1489
+ {0x9f4f2726179a2245, 0x01d762422c946590},
1490
+ {0xc722f0ef9d80aad6, 0x424d3ad2b7b97ef5},
1491
+ {0xf8ebad2b84e0d58b, 0xd2e0898765a7deb2},
1492
+ {0x9b934c3b330c8577, 0x63cc55f49f88eb2f},
1493
+ {0xc2781f49ffcfa6d5, 0x3cbf6b71c76b25fb},
1494
+ {0xf316271c7fc3908a, 0x8bef464e3945ef7a},
1495
+ {0x97edd871cfda3a56, 0x97758bf0e3cbb5ac},
1496
+ {0xbde94e8e43d0c8ec, 0x3d52eeed1cbea317},
1497
+ {0xed63a231d4c4fb27, 0x4ca7aaa863ee4bdd},
1498
+ {0x945e455f24fb1cf8, 0x8fe8caa93e74ef6a},
1499
+ {0xb975d6b6ee39e436, 0xb3e2fd538e122b44},
1500
+ {0xe7d34c64a9c85d44, 0x60dbbca87196b616},
1501
+ {0x90e40fbeea1d3a4a, 0xbc8955e946fe31cd},
1502
+ {0xb51d13aea4a488dd, 0x6babab6398bdbe41},
1503
+ {0xe264589a4dcdab14, 0xc696963c7eed2dd1},
1504
+ {0x8d7eb76070a08aec, 0xfc1e1de5cf543ca2},
1505
+ {0xb0de65388cc8ada8, 0x3b25a55f43294bcb},
1506
+ {0xdd15fe86affad912, 0x49ef0eb713f39ebe},
1507
+ {0x8a2dbf142dfcc7ab, 0x6e3569326c784337},
1508
+ {0xacb92ed9397bf996, 0x49c2c37f07965404},
1509
+ {0xd7e77a8f87daf7fb, 0xdc33745ec97be906},
1510
+ {0x86f0ac99b4e8dafd, 0x69a028bb3ded71a3},
1511
+ {0xa8acd7c0222311bc, 0xc40832ea0d68ce0c},
1512
+ {0xd2d80db02aabd62b, 0xf50a3fa490c30190},
1513
+ {0x83c7088e1aab65db, 0x792667c6da79e0fa},
1514
+ {0xa4b8cab1a1563f52, 0x577001b891185938},
1515
+ {0xcde6fd5e09abcf26, 0xed4c0226b55e6f86},
1516
+ {0x80b05e5ac60b6178, 0x544f8158315b05b4},
1517
+ {0xa0dc75f1778e39d6, 0x696361ae3db1c721},
1518
+ {0xc913936dd571c84c, 0x03bc3a19cd1e38e9},
1519
+ {0xfb5878494ace3a5f, 0x04ab48a04065c723},
1520
+ {0x9d174b2dcec0e47b, 0x62eb0d64283f9c76},
1521
+ {0xc45d1df942711d9a, 0x3ba5d0bd324f8394},
1522
+ {0xf5746577930d6500, 0xca8f44ec7ee36479},
1523
+ {0x9968bf6abbe85f20, 0x7e998b13cf4e1ecb},
1524
+ {0xbfc2ef456ae276e8, 0x9e3fedd8c321a67e},
1525
+ {0xefb3ab16c59b14a2, 0xc5cfe94ef3ea101e},
1526
+ {0x95d04aee3b80ece5, 0xbba1f1d158724a12},
1527
+ {0xbb445da9ca61281f, 0x2a8a6e45ae8edc97},
1528
+ {0xea1575143cf97226, 0xf52d09d71a3293bd},
1529
+ {0x924d692ca61be758, 0x593c2626705f9c56},
1530
+ {0xb6e0c377cfa2e12e, 0x6f8b2fb00c77836c},
1531
+ {0xe498f455c38b997a, 0x0b6dfb9c0f956447},
1532
+ {0x8edf98b59a373fec, 0x4724bd4189bd5eac},
1533
+ {0xb2977ee300c50fe7, 0x58edec91ec2cb657},
1534
+ {0xdf3d5e9bc0f653e1, 0x2f2967b66737e3ed},
1535
+ {0x8b865b215899f46c, 0xbd79e0d20082ee74},
1536
+ {0xae67f1e9aec07187, 0xecd8590680a3aa11},
1537
+ {0xda01ee641a708de9, 0xe80e6f4820cc9495},
1538
+ {0x884134fe908658b2, 0x3109058d147fdcdd},
1539
+ {0xaa51823e34a7eede, 0xbd4b46f0599fd415},
1540
+ {0xd4e5e2cdc1d1ea96, 0x6c9e18ac7007c91a},
1541
+ {0x850fadc09923329e, 0x03e2cf6bc604ddb0},
1542
+ {0xa6539930bf6bff45, 0x84db8346b786151c},
1543
+ {0xcfe87f7cef46ff16, 0xe612641865679a63},
1544
+ {0x81f14fae158c5f6e, 0x4fcb7e8f3f60c07e},
1545
+ {0xa26da3999aef7749, 0xe3be5e330f38f09d},
1546
+ {0xcb090c8001ab551c, 0x5cadf5bfd3072cc5},
1547
+ {0xfdcb4fa002162a63, 0x73d9732fc7c8f7f6},
1548
+ {0x9e9f11c4014dda7e, 0x2867e7fddcdd9afa},
1549
+ {0xc646d63501a1511d, 0xb281e1fd541501b8},
1550
+ {0xf7d88bc24209a565, 0x1f225a7ca91a4226},
1551
+ {0x9ae757596946075f, 0x3375788de9b06958},
1552
+ {0xc1a12d2fc3978937, 0x0052d6b1641c83ae},
1553
+ {0xf209787bb47d6b84, 0xc0678c5dbd23a49a},
1554
+ {0x9745eb4d50ce6332, 0xf840b7ba963646e0},
1555
+ {0xbd176620a501fbff, 0xb650e5a93bc3d898},
1556
+ {0xec5d3fa8ce427aff, 0xa3e51f138ab4cebe},
1557
+ {0x93ba47c980e98cdf, 0xc66f336c36b10137},
1558
+ {0xb8a8d9bbe123f017, 0xb80b0047445d4184},
1559
+ {0xe6d3102ad96cec1d, 0xa60dc059157491e5},
1560
+ {0x9043ea1ac7e41392, 0x87c89837ad68db2f},
1561
+ {0xb454e4a179dd1877, 0x29babe4598c311fb},
1562
+ {0xe16a1dc9d8545e94, 0xf4296dd6fef3d67a},
1563
+ {0x8ce2529e2734bb1d, 0x1899e4a65f58660c},
1564
+ {0xb01ae745b101e9e4, 0x5ec05dcff72e7f8f},
1565
+ {0xdc21a1171d42645d, 0x76707543f4fa1f73},
1566
+ {0x899504ae72497eba, 0x6a06494a791c53a8},
1567
+ {0xabfa45da0edbde69, 0x0487db9d17636892},
1568
+ {0xd6f8d7509292d603, 0x45a9d2845d3c42b6},
1569
+ {0x865b86925b9bc5c2, 0x0b8a2392ba45a9b2},
1570
+ {0xa7f26836f282b732, 0x8e6cac7768d7141e},
1571
+ {0xd1ef0244af2364ff, 0x3207d795430cd926},
1572
+ {0x8335616aed761f1f, 0x7f44e6bd49e807b8},
1573
+ {0xa402b9c5a8d3a6e7, 0x5f16206c9c6209a6},
1574
+ {0xcd036837130890a1, 0x36dba887c37a8c0f},
1575
+ {0x802221226be55a64, 0xc2494954da2c9789},
1576
+ {0xa02aa96b06deb0fd, 0xf2db9baa10b7bd6c},
1577
+ {0xc83553c5c8965d3d, 0x6f92829494e5acc7},
1578
+ {0xfa42a8b73abbf48c, 0xcb772339ba1f17f9},
1579
+ {0x9c69a97284b578d7, 0xff2a760414536efb},
1580
+ {0xc38413cf25e2d70d, 0xfef5138519684aba},
1581
+ {0xf46518c2ef5b8cd1, 0x7eb258665fc25d69},
1582
+ {0x98bf2f79d5993802, 0xef2f773ffbd97a61},
1583
+ {0xbeeefb584aff8603, 0xaafb550ffacfd8fa},
1584
+ {0xeeaaba2e5dbf6784, 0x95ba2a53f983cf38},
1585
+ {0x952ab45cfa97a0b2, 0xdd945a747bf26183},
1586
+ {0xba756174393d88df, 0x94f971119aeef9e4},
1587
+ {0xe912b9d1478ceb17, 0x7a37cd5601aab85d},
1588
+ {0x91abb422ccb812ee, 0xac62e055c10ab33a},
1589
+ {0xb616a12b7fe617aa, 0x577b986b314d6009},
1590
+ {0xe39c49765fdf9d94, 0xed5a7e85fda0b80b},
1591
+ {0x8e41ade9fbebc27d, 0x14588f13be847307},
1592
+ {0xb1d219647ae6b31c, 0x596eb2d8ae258fc8},
1593
+ {0xde469fbd99a05fe3, 0x6fca5f8ed9aef3bb},
1594
+ {0x8aec23d680043bee, 0x25de7bb9480d5854},
1595
+ {0xada72ccc20054ae9, 0xaf561aa79a10ae6a},
1596
+ {0xd910f7ff28069da4, 0x1b2ba1518094da04},
1597
+ {0x87aa9aff79042286, 0x90fb44d2f05d0842},
1598
+ {0xa99541bf57452b28, 0x353a1607ac744a53},
1599
+ {0xd3fa922f2d1675f2, 0x42889b8997915ce8},
1600
+ {0x847c9b5d7c2e09b7, 0x69956135febada11},
1601
+ {0xa59bc234db398c25, 0x43fab9837e699095},
1602
+ {0xcf02b2c21207ef2e, 0x94f967e45e03f4bb},
1603
+ {0x8161afb94b44f57d, 0x1d1be0eebac278f5},
1604
+ {0xa1ba1ba79e1632dc, 0x6462d92a69731732},
1605
+ {0xca28a291859bbf93, 0x7d7b8f7503cfdcfe},
1606
+ {0xfcb2cb35e702af78, 0x5cda735244c3d43e},
1607
+ {0x9defbf01b061adab, 0x3a0888136afa64a7},
1608
+ {0xc56baec21c7a1916, 0x088aaa1845b8fdd0},
1609
+ {0xf6c69a72a3989f5b, 0x8aad549e57273d45},
1610
+ {0x9a3c2087a63f6399, 0x36ac54e2f678864b},
1611
+ {0xc0cb28a98fcf3c7f, 0x84576a1bb416a7dd},
1612
+ {0xf0fdf2d3f3c30b9f, 0x656d44a2a11c51d5},
1613
+ {0x969eb7c47859e743, 0x9f644ae5a4b1b325},
1614
+ {0xbc4665b596706114, 0x873d5d9f0dde1fee},
1615
+ {0xeb57ff22fc0c7959, 0xa90cb506d155a7ea},
1616
+ {0x9316ff75dd87cbd8, 0x09a7f12442d588f2},
1617
+ {0xb7dcbf5354e9bece, 0x0c11ed6d538aeb2f},
1618
+ {0xe5d3ef282a242e81, 0x8f1668c8a86da5fa},
1619
+ {0x8fa475791a569d10, 0xf96e017d694487bc},
1620
+ {0xb38d92d760ec4455, 0x37c981dcc395a9ac},
1621
+ {0xe070f78d3927556a, 0x85bbe253f47b1417},
1622
+ {0x8c469ab843b89562, 0x93956d7478ccec8e},
1623
+ {0xaf58416654a6babb, 0x387ac8d1970027b2},
1624
+ {0xdb2e51bfe9d0696a, 0x06997b05fcc0319e},
1625
+ {0x88fcf317f22241e2, 0x441fece3bdf81f03},
1626
+ {0xab3c2fddeeaad25a, 0xd527e81cad7626c3},
1627
+ {0xd60b3bd56a5586f1, 0x8a71e223d8d3b074},
1628
+ {0x85c7056562757456, 0xf6872d5667844e49},
1629
+ {0xa738c6bebb12d16c, 0xb428f8ac016561db},
1630
+ {0xd106f86e69d785c7, 0xe13336d701beba52},
1631
+ {0x82a45b450226b39c, 0xecc0024661173473},
1632
+ {0xa34d721642b06084, 0x27f002d7f95d0190},
1633
+ {0xcc20ce9bd35c78a5, 0x31ec038df7b441f4},
1634
+ {0xff290242c83396ce, 0x7e67047175a15271},
1635
+ {0x9f79a169bd203e41, 0x0f0062c6e984d386},
1636
+ {0xc75809c42c684dd1, 0x52c07b78a3e60868},
1637
+ {0xf92e0c3537826145, 0xa7709a56ccdf8a82},
1638
+ {0x9bbcc7a142b17ccb, 0x88a66076400bb691},
1639
+ {0xc2abf989935ddbfe, 0x6acff893d00ea435},
1640
+ {0xf356f7ebf83552fe, 0x0583f6b8c4124d43},
1641
+ {0x98165af37b2153de, 0xc3727a337a8b704a},
1642
+ {0xbe1bf1b059e9a8d6, 0x744f18c0592e4c5c},
1643
+ {0xeda2ee1c7064130c, 0x1162def06f79df73},
1644
+ {0x9485d4d1c63e8be7, 0x8addcb5645ac2ba8},
1645
+ {0xb9a74a0637ce2ee1, 0x6d953e2bd7173692},
1646
+ {0xe8111c87c5c1ba99, 0xc8fa8db6ccdd0437},
1647
+ {0x910ab1d4db9914a0, 0x1d9c9892400a22a2},
1648
+ {0xb54d5e4a127f59c8, 0x2503beb6d00cab4b},
1649
+ {0xe2a0b5dc971f303a, 0x2e44ae64840fd61d},
1650
+ {0x8da471a9de737e24, 0x5ceaecfed289e5d2},
1651
+ {0xb10d8e1456105dad, 0x7425a83e872c5f47},
1652
+ {0xdd50f1996b947518, 0xd12f124e28f77719},
1653
+ {0x8a5296ffe33cc92f, 0x82bd6b70d99aaa6f},
1654
+ {0xace73cbfdc0bfb7b, 0x636cc64d1001550b},
1655
+ {0xd8210befd30efa5a, 0x3c47f7e05401aa4e},
1656
+ {0x8714a775e3e95c78, 0x65acfaec34810a71},
1657
+ {0xa8d9d1535ce3b396, 0x7f1839a741a14d0d},
1658
+ {0xd31045a8341ca07c, 0x1ede48111209a050},
1659
+ {0x83ea2b892091e44d, 0x934aed0aab460432},
1660
+ {0xa4e4b66b68b65d60, 0xf81da84d5617853f},
1661
+ {0xce1de40642e3f4b9, 0x36251260ab9d668e},
1662
+ {0x80d2ae83e9ce78f3, 0xc1d72b7c6b426019},
1663
+ {0xa1075a24e4421730, 0xb24cf65b8612f81f},
1664
+ {0xc94930ae1d529cfc, 0xdee033f26797b627},
1665
+ {0xfb9b7cd9a4a7443c, 0x169840ef017da3b1},
1666
+ {0x9d412e0806e88aa5, 0x8e1f289560ee864e},
1667
+ {0xc491798a08a2ad4e, 0xf1a6f2bab92a27e2},
1668
+ {0xf5b5d7ec8acb58a2, 0xae10af696774b1db},
1669
+ {0x9991a6f3d6bf1765, 0xacca6da1e0a8ef29},
1670
+ {0xbff610b0cc6edd3f, 0x17fd090a58d32af3},
1671
+ {0xeff394dcff8a948e, 0xddfc4b4cef07f5b0},
1672
+ {0x95f83d0a1fb69cd9, 0x4abdaf101564f98e},
1673
+ {0xbb764c4ca7a4440f, 0x9d6d1ad41abe37f1},
1674
+ {0xea53df5fd18d5513, 0x84c86189216dc5ed},
1675
+ {0x92746b9be2f8552c, 0x32fd3cf5b4e49bb4},
1676
+ {0xb7118682dbb66a77, 0x3fbc8c33221dc2a1},
1677
+ {0xe4d5e82392a40515, 0x0fabaf3feaa5334a},
1678
+ {0x8f05b1163ba6832d, 0x29cb4d87f2a7400e},
1679
+ {0xb2c71d5bca9023f8, 0x743e20e9ef511012},
1680
+ {0xdf78e4b2bd342cf6, 0x914da9246b255416},
1681
+ {0x8bab8eefb6409c1a, 0x1ad089b6c2f7548e},
1682
+ {0xae9672aba3d0c320, 0xa184ac2473b529b1},
1683
+ {0xda3c0f568cc4f3e8, 0xc9e5d72d90a2741e},
1684
+ {0x8865899617fb1871, 0x7e2fa67c7a658892},
1685
+ {0xaa7eebfb9df9de8d, 0xddbb901b98feeab7},
1686
+ {0xd51ea6fa85785631, 0x552a74227f3ea565},
1687
+ {0x8533285c936b35de, 0xd53a88958f87275f},
1688
+ {0xa67ff273b8460356, 0x8a892abaf368f137},
1689
+ {0xd01fef10a657842c, 0x2d2b7569b0432d85},
1690
+ {0x8213f56a67f6b29b, 0x9c3b29620e29fc73},
1691
+ {0xa298f2c501f45f42, 0x8349f3ba91b47b8f},
1692
+ {0xcb3f2f7642717713, 0x241c70a936219a73},
1693
+ {0xfe0efb53d30dd4d7, 0xed238cd383aa0110},
1694
+ {0x9ec95d1463e8a506, 0xf4363804324a40aa},
1695
+ {0xc67bb4597ce2ce48, 0xb143c6053edcd0d5},
1696
+ {0xf81aa16fdc1b81da, 0xdd94b7868e94050a},
1697
+ {0x9b10a4e5e9913128, 0xca7cf2b4191c8326},
1698
+ {0xc1d4ce1f63f57d72, 0xfd1c2f611f63a3f0},
1699
+ {0xf24a01a73cf2dccf, 0xbc633b39673c8cec},
1700
+ {0x976e41088617ca01, 0xd5be0503e085d813},
1701
+ {0xbd49d14aa79dbc82, 0x4b2d8644d8a74e18},
1702
+ {0xec9c459d51852ba2, 0xddf8e7d60ed1219e},
1703
+ {0x93e1ab8252f33b45, 0xcabb90e5c942b503},
1704
+ {0xb8da1662e7b00a17, 0x3d6a751f3b936243},
1705
+ {0xe7109bfba19c0c9d, 0x0cc512670a783ad4},
1706
+ {0x906a617d450187e2, 0x27fb2b80668b24c5},
1707
+ {0xb484f9dc9641e9da, 0xb1f9f660802dedf6},
1708
+ {0xe1a63853bbd26451, 0x5e7873f8a0396973},
1709
+ {0x8d07e33455637eb2, 0xdb0b487b6423e1e8},
1710
+ {0xb049dc016abc5e5f, 0x91ce1a9a3d2cda62},
1711
+ {0xdc5c5301c56b75f7, 0x7641a140cc7810fb},
1712
+ {0x89b9b3e11b6329ba, 0xa9e904c87fcb0a9d},
1713
+ {0xac2820d9623bf429, 0x546345fa9fbdcd44},
1714
+ {0xd732290fbacaf133, 0xa97c177947ad4095},
1715
+ {0x867f59a9d4bed6c0, 0x49ed8eabcccc485d},
1716
+ {0xa81f301449ee8c70, 0x5c68f256bfff5a74},
1717
+ {0xd226fc195c6a2f8c, 0x73832eec6fff3111},
1718
+ {0x83585d8fd9c25db7, 0xc831fd53c5ff7eab},
1719
+ {0xa42e74f3d032f525, 0xba3e7ca8b77f5e55},
1720
+ {0xcd3a1230c43fb26f, 0x28ce1bd2e55f35eb},
1721
+ {0x80444b5e7aa7cf85, 0x7980d163cf5b81b3},
1722
+ {0xa0555e361951c366, 0xd7e105bcc332621f},
1723
+ {0xc86ab5c39fa63440, 0x8dd9472bf3fefaa7},
1724
+ {0xfa856334878fc150, 0xb14f98f6f0feb951},
1725
+ {0x9c935e00d4b9d8d2, 0x6ed1bf9a569f33d3},
1726
+ {0xc3b8358109e84f07, 0x0a862f80ec4700c8},
1727
+ {0xf4a642e14c6262c8, 0xcd27bb612758c0fa},
1728
+ {0x98e7e9cccfbd7dbd, 0x8038d51cb897789c},
1729
+ {0xbf21e44003acdd2c, 0xe0470a63e6bd56c3},
1730
+ {0xeeea5d5004981478, 0x1858ccfce06cac74},
1731
+ {0x95527a5202df0ccb, 0x0f37801e0c43ebc8},
1732
+ {0xbaa718e68396cffd, 0xd30560258f54e6ba},
1733
+ {0xe950df20247c83fd, 0x47c6b82ef32a2069},
1734
+ {0x91d28b7416cdd27e, 0x4cdc331d57fa5441},
1735
+ {0xb6472e511c81471d, 0xe0133fe4adf8e952},
1736
+ {0xe3d8f9e563a198e5, 0x58180fddd97723a6},
1737
+ {0x8e679c2f5e44ff8f, 0x570f09eaa7ea7648},
1738
+ {0xb201833b35d63f73, 0x2cd2cc6551e513da},
1739
+ {0xde81e40a034bcf4f, 0xf8077f7ea65e58d1},
1740
+ {0x8b112e86420f6191, 0xfb04afaf27faf782},
1741
+ {0xadd57a27d29339f6, 0x79c5db9af1f9b563},
1742
+ {0xd94ad8b1c7380874, 0x18375281ae7822bc},
1743
+ {0x87cec76f1c830548, 0x8f2293910d0b15b5},
1744
+ {0xa9c2794ae3a3c69a, 0xb2eb3875504ddb22},
1745
+ {0xd433179d9c8cb841, 0x5fa60692a46151eb},
1746
+ {0x849feec281d7f328, 0xdbc7c41ba6bcd333},
1747
+ {0xa5c7ea73224deff3, 0x12b9b522906c0800},
1748
+ {0xcf39e50feae16bef, 0xd768226b34870a00},
1749
+ {0x81842f29f2cce375, 0xe6a1158300d46640},
1750
+ {0xa1e53af46f801c53, 0x60495ae3c1097fd0},
1751
+ {0xca5e89b18b602368, 0x385bb19cb14bdfc4},
1752
+ {0xfcf62c1dee382c42, 0x46729e03dd9ed7b5},
1753
+ {0x9e19db92b4e31ba9, 0x6c07a2c26a8346d1},
1754
+ {0xc5a05277621be293, 0xc7098b7305241885},
1755
+ { 0xf70867153aa2db38,
1756
+ 0xb8cbee4fc66d1ea7 }
1757
+ #else
1758
+ {0xff77b1fcbebcdc4f, 0x25e8e89c13bb0f7b},
1759
+ {0xce5d73ff402d98e3, 0xfb0a3d212dc81290},
1760
+ {0xa6b34ad8c9dfc06f, 0xf42faa48c0ea481f},
1761
+ {0x86a8d39ef77164bc, 0xae5dff9c02033198},
1762
+ {0xd98ddaee19068c76, 0x3badd624dd9b0958},
1763
+ {0xafbd2350644eeacf, 0xe5d1929ef90898fb},
1764
+ {0x8df5efabc5979c8f, 0xca8d3ffa1ef463c2},
1765
+ {0xe55990879ddcaabd, 0xcc420a6a101d0516},
1766
+ {0xb94470938fa89bce, 0xf808e40e8d5b3e6a},
1767
+ {0x95a8637627989aad, 0xdde7001379a44aa9},
1768
+ {0xf1c90080baf72cb1, 0x5324c68b12dd6339},
1769
+ {0xc350000000000000, 0x0000000000000000},
1770
+ {0x9dc5ada82b70b59d, 0xf020000000000000},
1771
+ {0xfee50b7025c36a08, 0x02f236d04753d5b4},
1772
+ {0xcde6fd5e09abcf26, 0xed4c0226b55e6f86},
1773
+ {0xa6539930bf6bff45, 0x84db8346b786151c},
1774
+ {0x865b86925b9bc5c2, 0x0b8a2392ba45a9b2},
1775
+ {0xd910f7ff28069da4, 0x1b2ba1518094da04},
1776
+ {0xaf58416654a6babb, 0x387ac8d1970027b2},
1777
+ {0x8da471a9de737e24, 0x5ceaecfed289e5d2},
1778
+ {0xe4d5e82392a40515, 0x0fabaf3feaa5334a},
1779
+ {0xb8da1662e7b00a17, 0x3d6a751f3b936243},
1780
+ { 0x95527a5202df0ccb,
1781
+ 0x0f37801e0c43ebc8 }
1782
+ #endif
1783
+ };
1784
+
1785
+ #if FMT_USE_FULL_CACHE_DRAGONBOX
1786
+ return pow10_significands[k - float_info<double>::min_k];
1787
+ #else
1788
+ static constexpr const uint64_t powers_of_5_64[] = {
1789
+ 0x0000000000000001, 0x0000000000000005, 0x0000000000000019,
1790
+ 0x000000000000007d, 0x0000000000000271, 0x0000000000000c35,
1791
+ 0x0000000000003d09, 0x000000000001312d, 0x000000000005f5e1,
1792
+ 0x00000000001dcd65, 0x00000000009502f9, 0x0000000002e90edd,
1793
+ 0x000000000e8d4a51, 0x0000000048c27395, 0x000000016bcc41e9,
1794
+ 0x000000071afd498d, 0x0000002386f26fc1, 0x000000b1a2bc2ec5,
1795
+ 0x000003782dace9d9, 0x00001158e460913d, 0x000056bc75e2d631,
1796
+ 0x0001b1ae4d6e2ef5, 0x000878678326eac9, 0x002a5a058fc295ed,
1797
+ 0x00d3c21bcecceda1, 0x0422ca8b0a00a425, 0x14adf4b7320334b9};
1798
+
1799
+ static constexpr const uint32_t pow10_recovery_errors[] = {
1800
+ 0x50001400, 0x54044100, 0x54014555, 0x55954415, 0x54115555, 0x00000001,
1801
+ 0x50000000, 0x00104000, 0x54010004, 0x05004001, 0x55555544, 0x41545555,
1802
+ 0x54040551, 0x15445545, 0x51555514, 0x10000015, 0x00101100, 0x01100015,
1803
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04450514, 0x45414110,
1804
+ 0x55555145, 0x50544050, 0x15040155, 0x11054140, 0x50111514, 0x11451454,
1805
+ 0x00400541, 0x00000000, 0x55555450, 0x10056551, 0x10054011, 0x55551014,
1806
+ 0x69514555, 0x05151109, 0x00155555};
1807
+
1808
+ static const int compression_ratio = 27;
1809
+
1810
+ // Compute base index.
1811
+ int cache_index = (k - float_info<double>::min_k) / compression_ratio;
1812
+ int kb = cache_index * compression_ratio + float_info<double>::min_k;
1813
+ int offset = k - kb;
1814
+
1815
+ // Get base cache.
1816
+ uint128_wrapper base_cache = pow10_significands[cache_index];
1817
+ if (offset == 0) return base_cache;
1818
+
1819
+ // Compute the required amount of bit-shift.
1820
+ int alpha = floor_log2_pow10(kb + offset) - floor_log2_pow10(kb) - offset;
1821
+ FMT_ASSERT(alpha > 0 && alpha < 64, "shifting error detected");
1822
+
1823
+ // Try to recover the real cache.
1824
+ uint64_t pow5 = powers_of_5_64[offset];
1825
+ uint128_wrapper recovered_cache = umul128(base_cache.high(), pow5);
1826
+ uint128_wrapper middle_low =
1827
+ umul128(base_cache.low() - (kb < 0 ? 1u : 0u), pow5);
1828
+
1829
+ recovered_cache += middle_low.high();
1830
+
1831
+ uint64_t high_to_middle = recovered_cache.high() << (64 - alpha);
1832
+ uint64_t middle_to_low = recovered_cache.low() << (64 - alpha);
1833
+
1834
+ recovered_cache =
1835
+ uint128_wrapper{(recovered_cache.low() >> alpha) | high_to_middle,
1836
+ ((middle_low.low() >> alpha) | middle_to_low)};
1837
+
1838
+ if (kb < 0) recovered_cache += 1;
1839
+
1840
+ // Get error.
1841
+ int error_idx = (k - float_info<double>::min_k) / 16;
1842
+ uint32_t error = (pow10_recovery_errors[error_idx] >>
1843
+ ((k - float_info<double>::min_k) % 16) * 2) &
1844
+ 0x3;
1845
+
1846
+ // Add the error back.
1847
+ FMT_ASSERT(recovered_cache.low() + error >= recovered_cache.low(), "");
1848
+ return {recovered_cache.high(), recovered_cache.low() + error};
1849
+ #endif
1850
+ }
1851
+
1852
+ static carrier_uint compute_mul(carrier_uint u,
1853
+ const cache_entry_type& cache) FMT_NOEXCEPT {
1854
+ return umul192_upper64(u, cache);
1855
+ }
1856
+
1857
+ static uint32_t compute_delta(cache_entry_type const& cache,
1858
+ int beta_minus_1) FMT_NOEXCEPT {
1859
+ return static_cast<uint32_t>(cache.high() >> (64 - 1 - beta_minus_1));
1860
+ }
1861
+
1862
+ static bool compute_mul_parity(carrier_uint two_f,
1863
+ const cache_entry_type& cache,
1864
+ int beta_minus_1) FMT_NOEXCEPT {
1865
+ FMT_ASSERT(beta_minus_1 >= 1, "");
1866
+ FMT_ASSERT(beta_minus_1 < 64, "");
1867
+
1868
+ return ((umul192_middle64(two_f, cache) >> (64 - beta_minus_1)) & 1) != 0;
1869
+ }
1870
+
1871
+ static carrier_uint compute_left_endpoint_for_shorter_interval_case(
1872
+ const cache_entry_type& cache, int beta_minus_1) FMT_NOEXCEPT {
1873
+ return (cache.high() -
1874
+ (cache.high() >> (float_info<double>::significand_bits + 2))) >>
1875
+ (64 - float_info<double>::significand_bits - 1 - beta_minus_1);
1876
+ }
1877
+
1878
+ static carrier_uint compute_right_endpoint_for_shorter_interval_case(
1879
+ const cache_entry_type& cache, int beta_minus_1) FMT_NOEXCEPT {
1880
+ return (cache.high() +
1881
+ (cache.high() >> (float_info<double>::significand_bits + 1))) >>
1882
+ (64 - float_info<double>::significand_bits - 1 - beta_minus_1);
1883
+ }
1884
+
1885
+ static carrier_uint compute_round_up_for_shorter_interval_case(
1886
+ const cache_entry_type& cache, int beta_minus_1) FMT_NOEXCEPT {
1887
+ return ((cache.high() >>
1888
+ (64 - float_info<double>::significand_bits - 2 - beta_minus_1)) +
1889
+ 1) /
1890
+ 2;
1891
+ }
1892
+ };
1893
+
1894
+ // Various integer checks
1895
+ template <class T>
1896
+ bool is_left_endpoint_integer_shorter_interval(int exponent) FMT_NOEXCEPT {
1897
+ return exponent >=
1898
+ float_info<
1899
+ T>::case_shorter_interval_left_endpoint_lower_threshold &&
1900
+ exponent <=
1901
+ float_info<T>::case_shorter_interval_left_endpoint_upper_threshold;
1902
+ }
1903
+ template <class T>
1904
+ bool is_endpoint_integer(typename float_info<T>::carrier_uint two_f,
1905
+ int exponent, int minus_k) FMT_NOEXCEPT {
1906
+ if (exponent < float_info<T>::case_fc_pm_half_lower_threshold) return false;
1907
+ // For k >= 0.
1908
+ if (exponent <= float_info<T>::case_fc_pm_half_upper_threshold) return true;
1909
+ // For k < 0.
1910
+ if (exponent > float_info<T>::divisibility_check_by_5_threshold) return false;
1911
+ return divisible_by_power_of_5(two_f, minus_k);
1912
+ }
1913
+
1914
+ template <class T>
1915
+ bool is_center_integer(typename float_info<T>::carrier_uint two_f, int exponent,
1916
+ int minus_k) FMT_NOEXCEPT {
1917
+ // Exponent for 5 is negative.
1918
+ if (exponent > float_info<T>::divisibility_check_by_5_threshold) return false;
1919
+ if (exponent > float_info<T>::case_fc_upper_threshold)
1920
+ return divisible_by_power_of_5(two_f, minus_k);
1921
+ // Both exponents are nonnegative.
1922
+ if (exponent >= float_info<T>::case_fc_lower_threshold) return true;
1923
+ // Exponent for 2 is negative.
1924
+ return divisible_by_power_of_2(two_f, minus_k - exponent + 1);
1925
+ }
1926
+
1927
+ // Remove trailing zeros from n and return the number of zeros removed (float)
1928
+ FMT_INLINE int remove_trailing_zeros(uint32_t& n) FMT_NOEXCEPT {
1929
+ #ifdef FMT_BUILTIN_CTZ
1930
+ int t = FMT_BUILTIN_CTZ(n);
1931
+ #else
1932
+ int t = ctz(n);
1933
+ #endif
1934
+ if (t > float_info<float>::max_trailing_zeros)
1935
+ t = float_info<float>::max_trailing_zeros;
1936
+
1937
+ const uint32_t mod_inv1 = 0xcccccccd;
1938
+ const uint32_t max_quotient1 = 0x33333333;
1939
+ const uint32_t mod_inv2 = 0xc28f5c29;
1940
+ const uint32_t max_quotient2 = 0x0a3d70a3;
1941
+
1942
+ int s = 0;
1943
+ for (; s < t - 1; s += 2) {
1944
+ if (n * mod_inv2 > max_quotient2) break;
1945
+ n *= mod_inv2;
1946
+ }
1947
+ if (s < t && n * mod_inv1 <= max_quotient1) {
1948
+ n *= mod_inv1;
1949
+ ++s;
1950
+ }
1951
+ n >>= s;
1952
+ return s;
1953
+ }
1954
+
1955
+ // Removes trailing zeros and returns the number of zeros removed (double)
1956
+ FMT_INLINE int remove_trailing_zeros(uint64_t& n) FMT_NOEXCEPT {
1957
+ #ifdef FMT_BUILTIN_CTZLL
1958
+ int t = FMT_BUILTIN_CTZLL(n);
1959
+ #else
1960
+ int t = ctzll(n);
1961
+ #endif
1962
+ if (t > float_info<double>::max_trailing_zeros)
1963
+ t = float_info<double>::max_trailing_zeros;
1964
+ // Divide by 10^8 and reduce to 32-bits
1965
+ // Since ret_value.significand <= (2^64 - 1) / 1000 < 10^17,
1966
+ // both of the quotient and the r should fit in 32-bits
1967
+
1968
+ const uint32_t mod_inv1 = 0xcccccccd;
1969
+ const uint32_t max_quotient1 = 0x33333333;
1970
+ const uint64_t mod_inv8 = 0xc767074b22e90e21;
1971
+ const uint64_t max_quotient8 = 0x00002af31dc46118;
1972
+
1973
+ // If the number is divisible by 1'0000'0000, work with the quotient
1974
+ if (t >= 8) {
1975
+ auto quotient_candidate = n * mod_inv8;
1976
+
1977
+ if (quotient_candidate <= max_quotient8) {
1978
+ auto quotient = static_cast<uint32_t>(quotient_candidate >> 8);
1979
+
1980
+ int s = 8;
1981
+ for (; s < t; ++s) {
1982
+ if (quotient * mod_inv1 > max_quotient1) break;
1983
+ quotient *= mod_inv1;
1984
+ }
1985
+ quotient >>= (s - 8);
1986
+ n = quotient;
1987
+ return s;
1988
+ }
1989
+ }
1990
+
1991
+ // Otherwise, work with the remainder
1992
+ auto quotient = static_cast<uint32_t>(n / 100000000);
1993
+ auto remainder = static_cast<uint32_t>(n - 100000000 * quotient);
1994
+
1995
+ if (t == 0 || remainder * mod_inv1 > max_quotient1) {
1996
+ return 0;
1997
+ }
1998
+ remainder *= mod_inv1;
1999
+
2000
+ if (t == 1 || remainder * mod_inv1 > max_quotient1) {
2001
+ n = (remainder >> 1) + quotient * 10000000ull;
2002
+ return 1;
2003
+ }
2004
+ remainder *= mod_inv1;
2005
+
2006
+ if (t == 2 || remainder * mod_inv1 > max_quotient1) {
2007
+ n = (remainder >> 2) + quotient * 1000000ull;
2008
+ return 2;
2009
+ }
2010
+ remainder *= mod_inv1;
2011
+
2012
+ if (t == 3 || remainder * mod_inv1 > max_quotient1) {
2013
+ n = (remainder >> 3) + quotient * 100000ull;
2014
+ return 3;
2015
+ }
2016
+ remainder *= mod_inv1;
2017
+
2018
+ if (t == 4 || remainder * mod_inv1 > max_quotient1) {
2019
+ n = (remainder >> 4) + quotient * 10000ull;
2020
+ return 4;
2021
+ }
2022
+ remainder *= mod_inv1;
2023
+
2024
+ if (t == 5 || remainder * mod_inv1 > max_quotient1) {
2025
+ n = (remainder >> 5) + quotient * 1000ull;
2026
+ return 5;
2027
+ }
2028
+ remainder *= mod_inv1;
2029
+
2030
+ if (t == 6 || remainder * mod_inv1 > max_quotient1) {
2031
+ n = (remainder >> 6) + quotient * 100ull;
2032
+ return 6;
2033
+ }
2034
+ remainder *= mod_inv1;
2035
+
2036
+ n = (remainder >> 7) + quotient * 10ull;
2037
+ return 7;
2038
+ }
2039
+
2040
+ // The main algorithm for shorter interval case
2041
+ template <class T>
2042
+ FMT_INLINE decimal_fp<T> shorter_interval_case(int exponent) FMT_NOEXCEPT {
2043
+ decimal_fp<T> ret_value;
2044
+ // Compute k and beta
2045
+ const int minus_k = floor_log10_pow2_minus_log10_4_over_3(exponent);
2046
+ const int beta_minus_1 = exponent + floor_log2_pow10(-minus_k);
2047
+
2048
+ // Compute xi and zi
2049
+ using cache_entry_type = typename cache_accessor<T>::cache_entry_type;
2050
+ const cache_entry_type cache = cache_accessor<T>::get_cached_power(-minus_k);
2051
+
2052
+ auto xi = cache_accessor<T>::compute_left_endpoint_for_shorter_interval_case(
2053
+ cache, beta_minus_1);
2054
+ auto zi = cache_accessor<T>::compute_right_endpoint_for_shorter_interval_case(
2055
+ cache, beta_minus_1);
2056
+
2057
+ // If the left endpoint is not an integer, increase it
2058
+ if (!is_left_endpoint_integer_shorter_interval<T>(exponent)) ++xi;
2059
+
2060
+ // Try bigger divisor
2061
+ ret_value.significand = zi / 10;
2062
+
2063
+ // If succeed, remove trailing zeros if necessary and return
2064
+ if (ret_value.significand * 10 >= xi) {
2065
+ ret_value.exponent = minus_k + 1;
2066
+ ret_value.exponent += remove_trailing_zeros(ret_value.significand);
2067
+ return ret_value;
2068
+ }
2069
+
2070
+ // Otherwise, compute the round-up of y
2071
+ ret_value.significand =
2072
+ cache_accessor<T>::compute_round_up_for_shorter_interval_case(
2073
+ cache, beta_minus_1);
2074
+ ret_value.exponent = minus_k;
2075
+
2076
+ // When tie occurs, choose one of them according to the rule
2077
+ if (exponent >= float_info<T>::shorter_interval_tie_lower_threshold &&
2078
+ exponent <= float_info<T>::shorter_interval_tie_upper_threshold) {
2079
+ ret_value.significand = ret_value.significand % 2 == 0
2080
+ ? ret_value.significand
2081
+ : ret_value.significand - 1;
2082
+ } else if (ret_value.significand < xi) {
2083
+ ++ret_value.significand;
2084
+ }
2085
+ return ret_value;
2086
+ }
2087
+
2088
+ template <typename T> decimal_fp<T> to_decimal(T x) FMT_NOEXCEPT {
2089
+ // Step 1: integer promotion & Schubfach multiplier calculation.
2090
+
2091
+ using carrier_uint = typename float_info<T>::carrier_uint;
2092
+ using cache_entry_type = typename cache_accessor<T>::cache_entry_type;
2093
+ auto br = bit_cast<carrier_uint>(x);
2094
+
2095
+ // Extract significand bits and exponent bits.
2096
+ const carrier_uint significand_mask =
2097
+ (static_cast<carrier_uint>(1) << float_info<T>::significand_bits) - 1;
2098
+ carrier_uint significand = (br & significand_mask);
2099
+ int exponent = static_cast<int>((br & exponent_mask<T>()) >>
2100
+ float_info<T>::significand_bits);
2101
+
2102
+ if (exponent != 0) { // Check if normal.
2103
+ exponent += float_info<T>::exponent_bias - float_info<T>::significand_bits;
2104
+
2105
+ // Shorter interval case; proceed like Schubfach.
2106
+ if (significand == 0) return shorter_interval_case<T>(exponent);
2107
+
2108
+ significand |=
2109
+ (static_cast<carrier_uint>(1) << float_info<T>::significand_bits);
2110
+ } else {
2111
+ // Subnormal case; the interval is always regular.
2112
+ if (significand == 0) return {0, 0};
2113
+ exponent = float_info<T>::min_exponent - float_info<T>::significand_bits;
2114
+ }
2115
+
2116
+ const bool include_left_endpoint = (significand % 2 == 0);
2117
+ const bool include_right_endpoint = include_left_endpoint;
2118
+
2119
+ // Compute k and beta.
2120
+ const int minus_k = floor_log10_pow2(exponent) - float_info<T>::kappa;
2121
+ const cache_entry_type cache = cache_accessor<T>::get_cached_power(-minus_k);
2122
+ const int beta_minus_1 = exponent + floor_log2_pow10(-minus_k);
2123
+
2124
+ // Compute zi and deltai
2125
+ // 10^kappa <= deltai < 10^(kappa + 1)
2126
+ const uint32_t deltai = cache_accessor<T>::compute_delta(cache, beta_minus_1);
2127
+ const carrier_uint two_fc = significand << 1;
2128
+ const carrier_uint two_fr = two_fc | 1;
2129
+ const carrier_uint zi =
2130
+ cache_accessor<T>::compute_mul(two_fr << beta_minus_1, cache);
2131
+
2132
+ // Step 2: Try larger divisor; remove trailing zeros if necessary
2133
+
2134
+ // Using an upper bound on zi, we might be able to optimize the division
2135
+ // better than the compiler; we are computing zi / big_divisor here
2136
+ decimal_fp<T> ret_value;
2137
+ ret_value.significand = divide_by_10_to_kappa_plus_1(zi);
2138
+ uint32_t r = static_cast<uint32_t>(zi - float_info<T>::big_divisor *
2139
+ ret_value.significand);
2140
+
2141
+ if (r > deltai) {
2142
+ goto small_divisor_case_label;
2143
+ } else if (r < deltai) {
2144
+ // Exclude the right endpoint if necessary
2145
+ if (r == 0 && !include_right_endpoint &&
2146
+ is_endpoint_integer<T>(two_fr, exponent, minus_k)) {
2147
+ --ret_value.significand;
2148
+ r = float_info<T>::big_divisor;
2149
+ goto small_divisor_case_label;
2150
+ }
2151
+ } else {
2152
+ // r == deltai; compare fractional parts
2153
+ // Check conditions in the order different from the paper
2154
+ // to take advantage of short-circuiting
2155
+ const carrier_uint two_fl = two_fc - 1;
2156
+ if ((!include_left_endpoint ||
2157
+ !is_endpoint_integer<T>(two_fl, exponent, minus_k)) &&
2158
+ !cache_accessor<T>::compute_mul_parity(two_fl, cache, beta_minus_1)) {
2159
+ goto small_divisor_case_label;
2160
+ }
2161
+ }
2162
+ ret_value.exponent = minus_k + float_info<T>::kappa + 1;
2163
+
2164
+ // We may need to remove trailing zeros
2165
+ ret_value.exponent += remove_trailing_zeros(ret_value.significand);
2166
+ return ret_value;
2167
+
2168
+ // Step 3: Find the significand with the smaller divisor
2169
+
2170
+ small_divisor_case_label:
2171
+ ret_value.significand *= 10;
2172
+ ret_value.exponent = minus_k + float_info<T>::kappa;
2173
+
2174
+ const uint32_t mask = (1u << float_info<T>::kappa) - 1;
2175
+ auto dist = r - (deltai / 2) + (float_info<T>::small_divisor / 2);
2176
+
2177
+ // Is dist divisible by 2^kappa?
2178
+ if ((dist & mask) == 0) {
2179
+ const bool approx_y_parity =
2180
+ ((dist ^ (float_info<T>::small_divisor / 2)) & 1) != 0;
2181
+ dist >>= float_info<T>::kappa;
2182
+
2183
+ // Is dist divisible by 5^kappa?
2184
+ if (check_divisibility_and_divide_by_pow5<float_info<T>::kappa>(dist)) {
2185
+ ret_value.significand += dist;
2186
+
2187
+ // Check z^(f) >= epsilon^(f)
2188
+ // We have either yi == zi - epsiloni or yi == (zi - epsiloni) - 1,
2189
+ // where yi == zi - epsiloni if and only if z^(f) >= epsilon^(f)
2190
+ // Since there are only 2 possibilities, we only need to care about the
2191
+ // parity. Also, zi and r should have the same parity since the divisor
2192
+ // is an even number
2193
+ if (cache_accessor<T>::compute_mul_parity(two_fc, cache, beta_minus_1) !=
2194
+ approx_y_parity) {
2195
+ --ret_value.significand;
2196
+ } else {
2197
+ // If z^(f) >= epsilon^(f), we might have a tie
2198
+ // when z^(f) == epsilon^(f), or equivalently, when y is an integer
2199
+ if (is_center_integer<T>(two_fc, exponent, minus_k)) {
2200
+ ret_value.significand = ret_value.significand % 2 == 0
2201
+ ? ret_value.significand
2202
+ : ret_value.significand - 1;
2203
+ }
2204
+ }
2205
+ }
2206
+ // Is dist not divisible by 5^kappa?
2207
+ else {
2208
+ ret_value.significand += dist;
2209
+ }
2210
+ }
2211
+ // Is dist not divisible by 2^kappa?
2212
+ else {
2213
+ // Since we know dist is small, we might be able to optimize the division
2214
+ // better than the compiler; we are computing dist / small_divisor here
2215
+ ret_value.significand +=
2216
+ small_division_by_pow10<float_info<T>::kappa>(dist);
2217
+ }
2218
+ return ret_value;
2219
+ }
2220
+ } // namespace dragonbox
2221
+
2222
+ // Formats a floating-point number using a variation of the Fixed-Precision
2223
+ // Positive Floating-Point Printout ((FPP)^2) algorithm by Steele & White:
2224
+ // https://fmt.dev/papers/p372-steele.pdf.
2225
+ FMT_CONSTEXPR20 inline void format_dragon(fp value, bool is_predecessor_closer,
2226
+ int num_digits, buffer<char>& buf,
2227
+ int& exp10) {
2228
+ bigint numerator; // 2 * R in (FPP)^2.
2229
+ bigint denominator; // 2 * S in (FPP)^2.
2230
+ // lower and upper are differences between value and corresponding boundaries.
2231
+ bigint lower; // (M^- in (FPP)^2).
2232
+ bigint upper_store; // upper's value if different from lower.
2233
+ bigint* upper = nullptr; // (M^+ in (FPP)^2).
2234
+ // Shift numerator and denominator by an extra bit or two (if lower boundary
2235
+ // is closer) to make lower and upper integers. This eliminates multiplication
2236
+ // by 2 during later computations.
2237
+ int shift = is_predecessor_closer ? 2 : 1;
2238
+ uint64_t significand = value.f << shift;
2239
+ if (value.e >= 0) {
2240
+ numerator.assign(significand);
2241
+ numerator <<= value.e;
2242
+ lower.assign(1);
2243
+ lower <<= value.e;
2244
+ if (shift != 1) {
2245
+ upper_store.assign(1);
2246
+ upper_store <<= value.e + 1;
2247
+ upper = &upper_store;
2248
+ }
2249
+ denominator.assign_pow10(exp10);
2250
+ denominator <<= shift;
2251
+ } else if (exp10 < 0) {
2252
+ numerator.assign_pow10(-exp10);
2253
+ lower.assign(numerator);
2254
+ if (shift != 1) {
2255
+ upper_store.assign(numerator);
2256
+ upper_store <<= 1;
2257
+ upper = &upper_store;
2258
+ }
2259
+ numerator *= significand;
2260
+ denominator.assign(1);
2261
+ denominator <<= shift - value.e;
2262
+ } else {
2263
+ numerator.assign(significand);
2264
+ denominator.assign_pow10(exp10);
2265
+ denominator <<= shift - value.e;
2266
+ lower.assign(1);
2267
+ if (shift != 1) {
2268
+ upper_store.assign(1ULL << 1);
2269
+ upper = &upper_store;
2270
+ }
2271
+ }
2272
+ // Invariant: value == (numerator / denominator) * pow(10, exp10).
2273
+ if (num_digits < 0) {
2274
+ // Generate the shortest representation.
2275
+ if (!upper) upper = &lower;
2276
+ bool even = (value.f & 1) == 0;
2277
+ num_digits = 0;
2278
+ char* data = buf.data();
2279
+ for (;;) {
2280
+ int digit = numerator.divmod_assign(denominator);
2281
+ bool low = compare(numerator, lower) - even < 0; // numerator <[=] lower.
2282
+ // numerator + upper >[=] pow10:
2283
+ bool high = add_compare(numerator, *upper, denominator) + even > 0;
2284
+ data[num_digits++] = static_cast<char>('0' + digit);
2285
+ if (low || high) {
2286
+ if (!low) {
2287
+ ++data[num_digits - 1];
2288
+ } else if (high) {
2289
+ int result = add_compare(numerator, numerator, denominator);
2290
+ // Round half to even.
2291
+ if (result > 0 || (result == 0 && (digit % 2) != 0))
2292
+ ++data[num_digits - 1];
2293
+ }
2294
+ buf.try_resize(to_unsigned(num_digits));
2295
+ exp10 -= num_digits - 1;
2296
+ return;
2297
+ }
2298
+ numerator *= 10;
2299
+ lower *= 10;
2300
+ if (upper != &lower) *upper *= 10;
2301
+ }
2302
+ }
2303
+ // Generate the given number of digits.
2304
+ exp10 -= num_digits - 1;
2305
+ if (num_digits == 0) {
2306
+ denominator *= 10;
2307
+ auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0';
2308
+ buf.push_back(digit);
2309
+ return;
2310
+ }
2311
+ buf.try_resize(to_unsigned(num_digits));
2312
+ for (int i = 0; i < num_digits - 1; ++i) {
2313
+ int digit = numerator.divmod_assign(denominator);
2314
+ buf[i] = static_cast<char>('0' + digit);
2315
+ numerator *= 10;
2316
+ }
2317
+ int digit = numerator.divmod_assign(denominator);
2318
+ auto result = add_compare(numerator, numerator, denominator);
2319
+ if (result > 0 || (result == 0 && (digit % 2) != 0)) {
2320
+ if (digit == 9) {
2321
+ const auto overflow = '0' + 10;
2322
+ buf[num_digits - 1] = overflow;
2323
+ // Propagate the carry.
2324
+ for (int i = num_digits - 1; i > 0 && buf[i] == overflow; --i) {
2325
+ buf[i] = '0';
2326
+ ++buf[i - 1];
2327
+ }
2328
+ if (buf[0] == overflow) {
2329
+ buf[0] = '1';
2330
+ ++exp10;
2331
+ }
2332
+ return;
2333
+ }
2334
+ ++digit;
2335
+ }
2336
+ buf[num_digits - 1] = static_cast<char>('0' + digit);
2337
+ }
2338
+
2339
+ template <typename Float>
2340
+ FMT_HEADER_ONLY_CONSTEXPR20 int format_float(Float value, int precision,
2341
+ float_specs specs,
2342
+ buffer<char>& buf) {
2343
+ // float is passed as double to reduce the number of instantiations.
2344
+ static_assert(!std::is_same<Float, float>::value, "");
2345
+ FMT_ASSERT(value >= 0, "value is negative");
2346
+
2347
+ const bool fixed = specs.format == float_format::fixed;
2348
+ if (value <= 0) { // <= instead of == to silence a warning.
2349
+ if (precision <= 0 || !fixed) {
2350
+ buf.push_back('0');
2351
+ return 0;
2352
+ }
2353
+ buf.try_resize(to_unsigned(precision));
2354
+ fill_n(buf.data(), precision, '0');
2355
+ return -precision;
2356
+ }
2357
+
2358
+ if (specs.fallback) return snprintf_float(value, precision, specs, buf);
2359
+
2360
+ if (!is_constant_evaluated() && precision < 0) {
2361
+ // Use Dragonbox for the shortest format.
2362
+ if (specs.binary32) {
2363
+ auto dec = dragonbox::to_decimal(static_cast<float>(value));
2364
+ write<char>(buffer_appender<char>(buf), dec.significand);
2365
+ return dec.exponent;
2366
+ }
2367
+ auto dec = dragonbox::to_decimal(static_cast<double>(value));
2368
+ write<char>(buffer_appender<char>(buf), dec.significand);
2369
+ return dec.exponent;
2370
+ }
2371
+
2372
+ int exp = 0;
2373
+ bool use_dragon = true;
2374
+ if (is_fast_float<Float>()) {
2375
+ // Use Grisu + Dragon4 for the given precision:
2376
+ // https://www.cs.tufts.edu/~nr/cs257/archive/florian-loitsch/printf.pdf.
2377
+ const int min_exp = -60; // alpha in Grisu.
2378
+ int cached_exp10 = 0; // K in Grisu.
2379
+ fp normalized = normalize(fp(value));
2380
+ const auto cached_pow = get_cached_power(
2381
+ min_exp - (normalized.e + fp::num_significand_bits), cached_exp10);
2382
+ normalized = normalized * cached_pow;
2383
+ gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed};
2384
+ if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error &&
2385
+ !is_constant_evaluated()) {
2386
+ exp += handler.exp10;
2387
+ buf.try_resize(to_unsigned(handler.size));
2388
+ use_dragon = false;
2389
+ } else {
2390
+ exp += handler.size - cached_exp10 - 1;
2391
+ precision = handler.precision;
2392
+ }
2393
+ }
2394
+ if (use_dragon) {
2395
+ auto f = fp();
2396
+ bool is_predecessor_closer =
2397
+ specs.binary32 ? f.assign(static_cast<float>(value)) : f.assign(value);
2398
+ // Limit precision to the maximum possible number of significant digits in
2399
+ // an IEEE754 double because we don't need to generate zeros.
2400
+ const int max_double_digits = 767;
2401
+ if (precision > max_double_digits) precision = max_double_digits;
2402
+ format_dragon(f, is_predecessor_closer, precision, buf, exp);
2403
+ }
2404
+ if (!fixed && !specs.showpoint) {
2405
+ // Remove trailing zeros.
2406
+ auto num_digits = buf.size();
2407
+ while (num_digits > 0 && buf[num_digits - 1] == '0') {
2408
+ --num_digits;
2409
+ ++exp;
2410
+ }
2411
+ buf.try_resize(num_digits);
2412
+ }
2413
+ return exp;
2414
+ }
2415
+
2416
+ template <typename T>
2417
+ int snprintf_float(T value, int precision, float_specs specs,
2418
+ buffer<char>& buf) {
2419
+ // Buffer capacity must be non-zero, otherwise MSVC's vsnprintf_s will fail.
2420
+ FMT_ASSERT(buf.capacity() > buf.size(), "empty buffer");
2421
+ static_assert(!std::is_same<T, float>::value, "");
2422
+
2423
+ // Subtract 1 to account for the difference in precision since we use %e for
2424
+ // both general and exponent format.
2425
+ if (specs.format == float_format::general ||
2426
+ specs.format == float_format::exp)
2427
+ precision = (precision >= 0 ? precision : 6) - 1;
2428
+
2429
+ // Build the format string.
2430
+ enum { max_format_size = 7 }; // The longest format is "%#.*Le".
2431
+ char format[max_format_size];
2432
+ char* format_ptr = format;
2433
+ *format_ptr++ = '%';
2434
+ if (specs.showpoint && specs.format == float_format::hex) *format_ptr++ = '#';
2435
+ if (precision >= 0) {
2436
+ *format_ptr++ = '.';
2437
+ *format_ptr++ = '*';
2438
+ }
2439
+ if (std::is_same<T, long double>()) *format_ptr++ = 'L';
2440
+ *format_ptr++ = specs.format != float_format::hex
2441
+ ? (specs.format == float_format::fixed ? 'f' : 'e')
2442
+ : (specs.upper ? 'A' : 'a');
2443
+ *format_ptr = '\0';
2444
+
2445
+ // Format using snprintf.
2446
+ auto offset = buf.size();
2447
+ for (;;) {
2448
+ auto begin = buf.data() + offset;
2449
+ auto capacity = buf.capacity() - offset;
2450
+ #ifdef FMT_FUZZ
2451
+ if (precision > 100000)
2452
+ throw std::runtime_error(
2453
+ "fuzz mode - avoid large allocation inside snprintf");
2454
+ #endif
2455
+ // Suppress the warning about a nonliteral format string.
2456
+ // Cannot use auto because of a bug in MinGW (#1532).
2457
+ int (*snprintf_ptr)(char*, size_t, const char*, ...) = FMT_SNPRINTF;
2458
+ int result = precision >= 0
2459
+ ? snprintf_ptr(begin, capacity, format, precision, value)
2460
+ : snprintf_ptr(begin, capacity, format, value);
2461
+ if (result < 0) {
2462
+ // The buffer will grow exponentially.
2463
+ buf.try_reserve(buf.capacity() + 1);
2464
+ continue;
2465
+ }
2466
+ auto size = to_unsigned(result);
2467
+ // Size equal to capacity means that the last character was truncated.
2468
+ if (size >= capacity) {
2469
+ buf.try_reserve(size + offset + 1); // Add 1 for the terminating '\0'.
2470
+ continue;
2471
+ }
2472
+ auto is_digit = [](char c) { return c >= '0' && c <= '9'; };
2473
+ if (specs.format == float_format::fixed) {
2474
+ if (precision == 0) {
2475
+ buf.try_resize(size);
2476
+ return 0;
2477
+ }
2478
+ // Find and remove the decimal point.
2479
+ auto end = begin + size, p = end;
2480
+ do {
2481
+ --p;
2482
+ } while (is_digit(*p));
2483
+ int fraction_size = static_cast<int>(end - p - 1);
2484
+ std::memmove(p, p + 1, to_unsigned(fraction_size));
2485
+ buf.try_resize(size - 1);
2486
+ return -fraction_size;
2487
+ }
2488
+ if (specs.format == float_format::hex) {
2489
+ buf.try_resize(size + offset);
2490
+ return 0;
2491
+ }
2492
+ // Find and parse the exponent.
2493
+ auto end = begin + size, exp_pos = end;
2494
+ do {
2495
+ --exp_pos;
2496
+ } while (*exp_pos != 'e');
2497
+ char sign = exp_pos[1];
2498
+ FMT_ASSERT(sign == '+' || sign == '-', "");
2499
+ int exp = 0;
2500
+ auto p = exp_pos + 2; // Skip 'e' and sign.
2501
+ do {
2502
+ FMT_ASSERT(is_digit(*p), "");
2503
+ exp = exp * 10 + (*p++ - '0');
2504
+ } while (p != end);
2505
+ if (sign == '-') exp = -exp;
2506
+ int fraction_size = 0;
2507
+ if (exp_pos != begin + 1) {
2508
+ // Remove trailing zeros.
2509
+ auto fraction_end = exp_pos - 1;
2510
+ while (*fraction_end == '0') --fraction_end;
2511
+ // Move the fractional part left to get rid of the decimal point.
2512
+ fraction_size = static_cast<int>(fraction_end - begin - 1);
2513
+ std::memmove(begin + 1, begin + 2, to_unsigned(fraction_size));
2514
+ }
2515
+ buf.try_resize(to_unsigned(fraction_size) + offset + 1);
2516
+ return exp - fraction_size;
2517
+ }
2518
+ }
2519
+ } // namespace detail
2520
+
2521
+ template <> struct formatter<detail::bigint> {
2522
+ FMT_CONSTEXPR format_parse_context::iterator parse(
2523
+ format_parse_context& ctx) {
2524
+ return ctx.begin();
2525
+ }
2526
+
2527
+ format_context::iterator format(const detail::bigint& n,
2528
+ format_context& ctx) {
2529
+ auto out = ctx.out();
2530
+ bool first = true;
2531
+ for (auto i = n.bigits_.size(); i > 0; --i) {
2532
+ auto value = n.bigits_[i - 1u];
2533
+ if (first) {
2534
+ out = format_to(out, FMT_STRING("{:x}"), value);
2535
+ first = false;
2536
+ continue;
2537
+ }
2538
+ out = format_to(out, FMT_STRING("{:08x}"), value);
2539
+ }
2540
+ if (n.exp_ > 0)
2541
+ out = format_to(out, FMT_STRING("p{}"),
2542
+ n.exp_ * detail::bigint::bigit_bits);
2543
+ return out;
2544
+ }
2545
+ };
2546
+
2547
+ FMT_FUNC detail::utf8_to_utf16::utf8_to_utf16(string_view s) {
2548
+ for_each_codepoint(s, [this](uint32_t cp, string_view) {
2549
+ if (cp == invalid_code_point) FMT_THROW(std::runtime_error("invalid utf8"));
2550
+ if (cp <= 0xFFFF) {
2551
+ buffer_.push_back(static_cast<wchar_t>(cp));
2552
+ } else {
2553
+ cp -= 0x10000;
2554
+ buffer_.push_back(static_cast<wchar_t>(0xD800 + (cp >> 10)));
2555
+ buffer_.push_back(static_cast<wchar_t>(0xDC00 + (cp & 0x3FF)));
2556
+ }
2557
+ return true;
2558
+ });
2559
+ buffer_.push_back(0);
2560
+ }
2561
+
2562
+ FMT_FUNC void format_system_error(detail::buffer<char>& out, int error_code,
2563
+ const char* message) FMT_NOEXCEPT {
2564
+ FMT_TRY {
2565
+ auto ec = std::error_code(error_code, std::generic_category());
2566
+ write(std::back_inserter(out), std::system_error(ec, message).what());
2567
+ return;
2568
+ }
2569
+ FMT_CATCH(...) {}
2570
+ format_error_code(out, error_code, message);
2571
+ }
2572
+
2573
+ FMT_FUNC void report_system_error(int error_code,
2574
+ const char* message) FMT_NOEXCEPT {
2575
+ report_error(format_system_error, error_code, message);
2576
+ }
2577
+
2578
+ FMT_FUNC std::string vformat(string_view fmt, format_args args) {
2579
+ // Don't optimize the "{}" case to keep the binary size small and because it
2580
+ // can be better optimized in fmt::format anyway.
2581
+ auto buffer = memory_buffer();
2582
+ detail::vformat_to(buffer, fmt, args);
2583
+ return to_string(buffer);
2584
+ }
2585
+
2586
+ #ifdef _WIN32
2587
+ namespace detail {
2588
+ using dword = conditional_t<sizeof(long) == 4, unsigned long, unsigned>;
2589
+ extern "C" __declspec(dllimport) int __stdcall WriteConsoleW( //
2590
+ void*, const void*, dword, dword*, void*);
2591
+ } // namespace detail
2592
+ #endif
2593
+
2594
+ namespace detail {
2595
+ FMT_FUNC void print(std::FILE* f, string_view text) {
2596
+ #ifdef _WIN32
2597
+ auto fd = _fileno(f);
2598
+ if (_isatty(fd)) {
2599
+ detail::utf8_to_utf16 u16(string_view(text.data(), text.size()));
2600
+ auto written = detail::dword();
2601
+ if (detail::WriteConsoleW(reinterpret_cast<void*>(_get_osfhandle(fd)),
2602
+ u16.c_str(), static_cast<uint32_t>(u16.size()),
2603
+ &written, nullptr)) {
2604
+ return;
2605
+ }
2606
+ // Fallback to fwrite on failure. It can happen if the output has been
2607
+ // redirected to NUL.
2608
+ }
2609
+ #endif
2610
+ detail::fwrite_fully(text.data(), 1, text.size(), f);
2611
+ }
2612
+ } // namespace detail
2613
+
2614
+ FMT_FUNC void vprint(std::FILE* f, string_view format_str, format_args args) {
2615
+ memory_buffer buffer;
2616
+ detail::vformat_to(buffer, format_str, args);
2617
+ detail::print(f, {buffer.data(), buffer.size()});
2618
+ }
2619
+
2620
+ #ifdef _WIN32
2621
+ // Print assuming legacy (non-Unicode) encoding.
2622
+ FMT_FUNC void detail::vprint_mojibake(std::FILE* f, string_view format_str,
2623
+ format_args args) {
2624
+ memory_buffer buffer;
2625
+ detail::vformat_to(buffer, format_str,
2626
+ basic_format_args<buffer_context<char>>(args));
2627
+ fwrite_fully(buffer.data(), 1, buffer.size(), f);
2628
+ }
2629
+ #endif
2630
+
2631
+ FMT_FUNC void vprint(string_view format_str, format_args args) {
2632
+ vprint(stdout, format_str, args);
2633
+ }
2634
+
2635
+ FMT_END_NAMESPACE
2636
+
2637
+ #endif // FMT_FORMAT_INL_H_