couchbase 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3059) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/ext/CMakeLists.txt +47 -115
  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/{metrics → couchbase/metrics}/logging_meter_options.hxx +0 -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/{platform → couchbase/platform}/base64.h +0 -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/{protocol → couchbase/protocol}/datatype.hxx +0 -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/{cbsasl → couchbase/sasl}/context.h +0 -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/{utils → couchbase/utils}/name_codec.hxx +0 -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/{third_party → couchbase/third_party}/hdr_histogram_c/CMakeLists.txt +0 -0
  1197. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/COPYING.txt +0 -0
  1198. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/LICENSE.txt +0 -0
  1199. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/config.cmake.in +0 -0
  1200. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/CMakeLists.txt +0 -0
  1201. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_atomic.h +0 -0
  1202. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_encoding.c +0 -0
  1203. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_encoding.h +0 -0
  1204. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_endian.h +0 -0
  1205. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram.c +1211 -0
  1206. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_histogram.h +0 -0
  1207. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_histogram_log.c +0 -0
  1208. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_histogram_log.h +0 -0
  1209. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_histogram_log_no_op.c +0 -0
  1210. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_interval_recorder.c +0 -0
  1211. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_interval_recorder.h +0 -0
  1212. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_malloc.h +0 -0
  1213. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_tests.h +0 -0
  1214. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_thread.c +0 -0
  1215. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_thread.h +0 -0
  1216. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_time.c +0 -0
  1217. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_time.h +0 -0
  1218. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_writer_reader_phaser.c +0 -0
  1219. data/ext/{third_party → couchbase/third_party}/hdr_histogram_c/src/hdr_writer_reader_phaser.h +0 -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 +31 -55
  1772. data/lib/couchbase/binary_collection.rb +5 -5
  1773. data/lib/couchbase/bucket.rb +2 -2
  1774. data/lib/couchbase/cluster.rb +16 -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 +3 -0
  1779. data/lib/couchbase/management/bucket_manager.rb +8 -2
  1780. data/lib/couchbase/management/query_index_manager.rb +3 -11
  1781. data/lib/couchbase/options.rb +11 -0
  1782. data/lib/couchbase/scope.rb +17 -15
  1783. data/lib/couchbase/search_options.rb +84 -0
  1784. data/lib/couchbase/version.rb +10 -10
  1785. metadata +1773 -1355
  1786. data/ext/build_config.hxx.in +0 -22
  1787. data/ext/build_version.hxx.in +0 -30
  1788. data/ext/cmake/CompilerWarnings.cmake +0 -84
  1789. data/ext/cmake/PreventInSourceBuilds.cmake +0 -21
  1790. data/ext/cmake/Sanitizers.cmake +0 -66
  1791. data/ext/cmake/StandardProjectSettings.cmake +0 -40
  1792. data/ext/cmake/Testing.cmake +0 -50
  1793. data/ext/cmake/ThirdPartyDependencies.cmake +0 -26
  1794. data/ext/cmake/VersionInfo.cmake +0 -40
  1795. data/ext/couchbase/bucket.hxx +0 -391
  1796. data/ext/couchbase/capabilities.hxx +0 -117
  1797. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  1798. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  1799. data/ext/couchbase/cbsasl/client.cc +0 -48
  1800. data/ext/couchbase/cbsasl/client.h +0 -127
  1801. data/ext/couchbase/cbsasl/context.cc +0 -33
  1802. data/ext/couchbase/cbsasl/error.h +0 -72
  1803. data/ext/couchbase/cbsasl/mechanism.cc +0 -45
  1804. data/ext/couchbase/cbsasl/mechanism.h +0 -52
  1805. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  1806. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  1807. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -384
  1808. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  1809. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  1810. data/ext/couchbase/cluster.hxx +0 -374
  1811. data/ext/couchbase/cluster_options.hxx +0 -63
  1812. data/ext/couchbase/collections_manifest.hxx +0 -88
  1813. data/ext/couchbase/configuration.hxx +0 -673
  1814. data/ext/couchbase/couchbase.cxx +0 -8685
  1815. data/ext/couchbase/diagnostics.hxx +0 -248
  1816. data/ext/couchbase/document_id.hxx +0 -40
  1817. data/ext/couchbase/error_context/analytics.hxx +0 -46
  1818. data/ext/couchbase/error_context/http.hxx +0 -44
  1819. data/ext/couchbase/error_context/key_value.hxx +0 -47
  1820. data/ext/couchbase/error_context/query.hxx +0 -46
  1821. data/ext/couchbase/error_context/search.hxx +0 -47
  1822. data/ext/couchbase/error_context/view.hxx +0 -47
  1823. data/ext/couchbase/error_map.hxx +0 -261
  1824. data/ext/couchbase/errors.hxx +0 -714
  1825. data/ext/couchbase/io/dns_client.hxx +0 -217
  1826. data/ext/couchbase/io/dns_codec.hxx +0 -205
  1827. data/ext/couchbase/io/dns_config.hxx +0 -115
  1828. data/ext/couchbase/io/dns_message.hxx +0 -555
  1829. data/ext/couchbase/io/http_command.hxx +0 -146
  1830. data/ext/couchbase/io/http_context.hxx +0 -37
  1831. data/ext/couchbase/io/http_message.hxx +0 -47
  1832. data/ext/couchbase/io/http_parser.hxx +0 -176
  1833. data/ext/couchbase/io/http_session.hxx +0 -445
  1834. data/ext/couchbase/io/http_session_manager.hxx +0 -273
  1835. data/ext/couchbase/io/mcbp_command.hxx +0 -281
  1836. data/ext/couchbase/io/mcbp_context.hxx +0 -37
  1837. data/ext/couchbase/io/mcbp_message.hxx +0 -63
  1838. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  1839. data/ext/couchbase/io/mcbp_session.hxx +0 -1349
  1840. data/ext/couchbase/io/query_cache.hxx +0 -61
  1841. data/ext/couchbase/io/retry_context.hxx +0 -38
  1842. data/ext/couchbase/io/retry_orchestrator.hxx +0 -110
  1843. data/ext/couchbase/io/retry_reason.hxx +0 -235
  1844. data/ext/couchbase/io/retry_strategy.hxx +0 -151
  1845. data/ext/couchbase/io/streams.hxx +0 -216
  1846. data/ext/couchbase/metrics/logging_meter.hxx +0 -228
  1847. data/ext/couchbase/metrics/meter.hxx +0 -49
  1848. data/ext/couchbase/metrics/noop_meter.hxx +0 -43
  1849. data/ext/couchbase/mutation_token.hxx +0 -38
  1850. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -129
  1851. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -112
  1852. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -114
  1853. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -111
  1854. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -110
  1855. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -97
  1856. data/ext/couchbase/operations/analytics_index_create.hxx +0 -136
  1857. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -123
  1858. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -115
  1859. data/ext/couchbase/operations/analytics_link.hxx +0 -39
  1860. data/ext/couchbase/operations/analytics_link_azure_blob_external.hxx +0 -145
  1861. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -111
  1862. data/ext/couchbase/operations/analytics_link_couchbase_remote.hxx +0 -220
  1863. data/ext/couchbase/operations/analytics_link_create.hxx +0 -128
  1864. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -107
  1865. data/ext/couchbase/operations/analytics_link_drop.hxx +0 -130
  1866. data/ext/couchbase/operations/analytics_link_get_all.hxx +0 -160
  1867. data/ext/couchbase/operations/analytics_link_replace.hxx +0 -128
  1868. data/ext/couchbase/operations/analytics_link_s3_external.hxx +0 -122
  1869. data/ext/couchbase/operations/bucket_create.hxx +0 -171
  1870. data/ext/couchbase/operations/bucket_drop.hxx +0 -70
  1871. data/ext/couchbase/operations/bucket_flush.hxx +0 -69
  1872. data/ext/couchbase/operations/bucket_get.hxx +0 -78
  1873. data/ext/couchbase/operations/bucket_get_all.hxx +0 -75
  1874. data/ext/couchbase/operations/bucket_settings.hxx +0 -157
  1875. data/ext/couchbase/operations/bucket_update.hxx +0 -147
  1876. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -64
  1877. data/ext/couchbase/operations/collection_create.hxx +0 -106
  1878. data/ext/couchbase/operations/collection_drop.hxx +0 -98
  1879. data/ext/couchbase/operations/collections_manifest_get.hxx +0 -66
  1880. data/ext/couchbase/operations/design_document.hxx +0 -59
  1881. data/ext/couchbase/operations/document_analytics.hxx +0 -309
  1882. data/ext/couchbase/operations/document_append.hxx +0 -72
  1883. data/ext/couchbase/operations/document_decrement.hxx +0 -87
  1884. data/ext/couchbase/operations/document_exists.hxx +0 -83
  1885. data/ext/couchbase/operations/document_get.hxx +0 -66
  1886. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -69
  1887. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -69
  1888. data/ext/couchbase/operations/document_get_projected.hxx +0 -256
  1889. data/ext/couchbase/operations/document_increment.hxx +0 -89
  1890. data/ext/couchbase/operations/document_insert.hxx +0 -77
  1891. data/ext/couchbase/operations/document_lookup_in.hxx +0 -106
  1892. data/ext/couchbase/operations/document_mutate_in.hxx +0 -150
  1893. data/ext/couchbase/operations/document_prepend.hxx +0 -72
  1894. data/ext/couchbase/operations/document_query.hxx +0 -446
  1895. data/ext/couchbase/operations/document_remove.hxx +0 -72
  1896. data/ext/couchbase/operations/document_replace.hxx +0 -83
  1897. data/ext/couchbase/operations/document_search.hxx +0 -387
  1898. data/ext/couchbase/operations/document_touch.hxx +0 -63
  1899. data/ext/couchbase/operations/document_unlock.hxx +0 -63
  1900. data/ext/couchbase/operations/document_upsert.hxx +0 -81
  1901. data/ext/couchbase/operations/document_view.hxx +0 -245
  1902. data/ext/couchbase/operations/group_drop.hxx +0 -72
  1903. data/ext/couchbase/operations/group_get.hxx +0 -80
  1904. data/ext/couchbase/operations/group_get_all.hxx +0 -77
  1905. data/ext/couchbase/operations/group_upsert.hxx +0 -125
  1906. data/ext/couchbase/operations/http_noop.hxx +0 -78
  1907. data/ext/couchbase/operations/mcbp_noop.hxx +0 -55
  1908. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -93
  1909. data/ext/couchbase/operations/query_index_create.hxx +0 -154
  1910. data/ext/couchbase/operations/query_index_drop.hxx +0 -126
  1911. data/ext/couchbase/operations/query_index_get_all.hxx +0 -128
  1912. data/ext/couchbase/operations/rbac.hxx +0 -253
  1913. data/ext/couchbase/operations/role_get_all.hxx +0 -77
  1914. data/ext/couchbase/operations/scope_create.hxx +0 -96
  1915. data/ext/couchbase/operations/scope_drop.hxx +0 -92
  1916. data/ext/couchbase/operations/scope_get_all.hxx +0 -82
  1917. data/ext/couchbase/operations/search_get_stats.hxx +0 -62
  1918. data/ext/couchbase/operations/search_index.hxx +0 -70
  1919. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -105
  1920. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -93
  1921. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -93
  1922. data/ext/couchbase/operations/search_index_control_query.hxx +0 -93
  1923. data/ext/couchbase/operations/search_index_drop.hxx +0 -92
  1924. data/ext/couchbase/operations/search_index_get.hxx +0 -95
  1925. data/ext/couchbase/operations/search_index_get_all.hxx +0 -89
  1926. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -101
  1927. data/ext/couchbase/operations/search_index_get_stats.hxx +0 -90
  1928. data/ext/couchbase/operations/search_index_upsert.hxx +0 -121
  1929. data/ext/couchbase/operations/user_drop.hxx +0 -73
  1930. data/ext/couchbase/operations/user_get.hxx +0 -81
  1931. data/ext/couchbase/operations/user_get_all.hxx +0 -78
  1932. data/ext/couchbase/operations/user_upsert.hxx +0 -132
  1933. data/ext/couchbase/operations/view_index_drop.hxx +0 -68
  1934. data/ext/couchbase/operations/view_index_get.hxx +0 -95
  1935. data/ext/couchbase/operations/view_index_get_all.hxx +0 -129
  1936. data/ext/couchbase/operations/view_index_upsert.hxx +0 -90
  1937. data/ext/couchbase/operations.hxx +0 -113
  1938. data/ext/couchbase/origin.hxx +0 -183
  1939. data/ext/couchbase/platform/backtrace.c +0 -189
  1940. data/ext/couchbase/platform/base64.cc +0 -234
  1941. data/ext/couchbase/platform/random.cc +0 -119
  1942. data/ext/couchbase/platform/string_hex.cc +0 -99
  1943. data/ext/couchbase/platform/string_hex.h +0 -50
  1944. data/ext/couchbase/platform/terminate_handler.cc +0 -130
  1945. data/ext/couchbase/platform/uuid.cc +0 -96
  1946. data/ext/couchbase/protocol/client_opcode.hxx +0 -640
  1947. data/ext/couchbase/protocol/client_request.hxx +0 -161
  1948. data/ext/couchbase/protocol/client_response.hxx +0 -246
  1949. data/ext/couchbase/protocol/cmd_append.hxx +0 -146
  1950. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -79
  1951. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -196
  1952. data/ext/couchbase/protocol/cmd_exists.hxx +0 -169
  1953. data/ext/couchbase/protocol/cmd_get.hxx +0 -119
  1954. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -140
  1955. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -140
  1956. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -121
  1957. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -114
  1958. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -95
  1959. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -123
  1960. data/ext/couchbase/protocol/cmd_hello.hxx +0 -168
  1961. data/ext/couchbase/protocol/cmd_increment.hxx +0 -196
  1962. data/ext/couchbase/protocol/cmd_info.hxx +0 -25
  1963. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  1964. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -226
  1965. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -415
  1966. data/ext/couchbase/protocol/cmd_noop.hxx +0 -78
  1967. data/ext/couchbase/protocol/cmd_prepend.hxx +0 -144
  1968. data/ext/couchbase/protocol/cmd_remove.hxx +0 -131
  1969. data/ext/couchbase/protocol/cmd_replace.hxx +0 -181
  1970. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -104
  1971. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -95
  1972. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -102
  1973. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -81
  1974. data/ext/couchbase/protocol/cmd_touch.hxx +0 -99
  1975. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -91
  1976. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -181
  1977. data/ext/couchbase/protocol/durability_level.hxx +0 -83
  1978. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  1979. data/ext/couchbase/protocol/hello_feature.hxx +0 -264
  1980. data/ext/couchbase/protocol/magic.hxx +0 -83
  1981. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  1982. data/ext/couchbase/protocol/server_request.hxx +0 -122
  1983. data/ext/couchbase/protocol/status.hxx +0 -340
  1984. data/ext/couchbase/protocol/unsigned_leb128.h +0 -180
  1985. data/ext/couchbase/service_type.hxx +0 -60
  1986. data/ext/couchbase/timeout_defaults.hxx +0 -41
  1987. data/ext/couchbase/tracing/constants.hxx +0 -261
  1988. data/ext/couchbase/tracing/noop_tracer.hxx +0 -50
  1989. data/ext/couchbase/tracing/request_tracer.hxx +0 -77
  1990. data/ext/couchbase/tracing/threshold_logging_options.hxx +0 -64
  1991. data/ext/couchbase/tracing/threshold_logging_tracer.hxx +0 -366
  1992. data/ext/couchbase/utils/byteswap.hxx +0 -33
  1993. data/ext/couchbase/utils/connection_string.hxx +0 -426
  1994. data/ext/couchbase/utils/url_codec.hxx +0 -461
  1995. data/ext/couchbase/version.hxx +0 -38
  1996. data/ext/test/CMakeLists.txt +0 -6
  1997. data/ext/test/test_helper.hxx +0 -141
  1998. data/ext/test/test_helper_native.hxx +0 -56
  1999. data/ext/test/test_helper_ruby.hxx +0 -72
  2000. data/ext/test/test_native_binary_operations.cxx +0 -186
  2001. data/ext/test/test_native_diagnostics.cxx +0 -436
  2002. data/ext/test/test_native_trivial_crud.cxx +0 -83
  2003. data/ext/test/test_native_trivial_query.cxx +0 -60
  2004. data/ext/test/test_ruby_trivial_crud.cxx +0 -35
  2005. data/ext/test/test_ruby_trivial_query.cxx +0 -34
  2006. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +0 -71
  2007. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -125
  2008. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -166
  2009. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -582
  2010. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -133
  2011. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1215
  2012. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  2013. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  2014. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1206
  2015. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -761
  2016. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  2017. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  2018. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  2019. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2501
  2020. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  2021. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  2022. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1053
  2023. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  2024. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  2025. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -811
  2026. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -575
  2027. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2496
  2028. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  2029. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  2030. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  2031. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  2032. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  2033. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  2034. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  2035. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -471
  2036. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  2037. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  2038. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  2039. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  2040. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  2041. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -130
  2042. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -112
  2043. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  2044. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  2045. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  2046. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -64
  2047. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  2048. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -934
  2049. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +0 -107
  2050. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  2051. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -650
  2052. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  2053. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +0 -88
  2054. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  2055. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  2056. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  2057. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -88
  2058. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  2059. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -120
  2060. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  2061. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1822
  2062. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  2063. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  2064. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  2065. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  2066. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -295
  2067. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  2068. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -139
  2069. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -148
  2070. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -148
  2071. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  2072. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  2073. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  2074. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  2075. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -203
  2076. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  2077. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  2078. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  2079. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  2080. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  2081. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  2082. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  2083. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  2084. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  2085. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  2086. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -284
  2087. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  2088. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -80
  2089. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -264
  2090. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  2091. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -438
  2092. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  2093. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  2094. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -608
  2095. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  2096. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  2097. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  2098. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  2099. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  2100. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -396
  2101. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  2102. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  2103. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  2104. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  2105. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  2106. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  2107. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  2108. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  2109. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  2110. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -149
  2111. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  2112. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  2113. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -654
  2114. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  2115. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  2116. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  2117. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  2118. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -668
  2119. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3962
  2120. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  2121. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -385
  2122. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  2123. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -117
  2124. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -178
  2125. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  2126. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  2127. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  2128. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  2129. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  2130. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  2131. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -603
  2132. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  2133. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  2134. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  2135. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  2136. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  2137. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  2138. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  2139. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  2140. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  2141. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  2142. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  2143. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  2144. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -175
  2145. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  2146. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  2147. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  2148. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  2149. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  2150. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  2151. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -73
  2152. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  2153. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  2154. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  2155. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -106
  2156. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  2157. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  2158. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  2159. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  2160. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  2161. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  2162. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  2163. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  2164. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  2165. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  2166. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  2167. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  2168. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  2169. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  2170. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  2171. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -175
  2172. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  2173. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  2174. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  2175. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  2176. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  2177. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  2178. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  2179. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  2180. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -416
  2181. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -98
  2182. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -237
  2183. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -242
  2184. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -123
  2185. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -159
  2186. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -164
  2187. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -145
  2188. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -162
  2189. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -156
  2190. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -528
  2191. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -541
  2192. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -98
  2193. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  2194. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  2195. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -67
  2196. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  2197. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  2198. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  2199. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -140
  2200. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  2201. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -150
  2202. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  2203. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  2204. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -232
  2205. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  2206. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  2207. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  2208. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  2209. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  2210. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  2211. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  2212. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  2213. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -90
  2214. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  2215. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  2216. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  2217. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  2218. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -383
  2219. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  2220. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  2221. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  2222. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  2223. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +0 -45
  2224. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  2225. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -188
  2226. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  2227. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  2228. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  2229. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  2230. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  2231. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -166
  2232. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -145
  2233. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  2234. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  2235. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  2236. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  2237. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -183
  2238. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  2239. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  2240. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  2241. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  2242. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  2243. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  2244. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  2245. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  2246. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  2247. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -148
  2248. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -294
  2249. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -90
  2250. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  2251. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -164
  2252. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  2253. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  2254. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  2255. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -117
  2256. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  2257. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -110
  2258. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -342
  2259. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -127
  2260. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  2261. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -96
  2262. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -171
  2263. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  2264. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -312
  2265. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -135
  2266. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -124
  2267. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -133
  2268. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -125
  2269. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -118
  2270. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  2271. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  2272. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  2273. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -128
  2274. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  2275. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  2276. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  2277. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  2278. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  2279. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  2280. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  2281. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  2282. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  2283. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -125
  2284. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  2285. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -98
  2286. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -119
  2287. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -110
  2288. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  2289. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  2290. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  2291. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  2292. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  2293. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -148
  2294. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -327
  2295. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -121
  2296. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  2297. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  2298. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +0 -249
  2299. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +0 -2264
  2300. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +0 -47
  2301. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +0 -1351
  2302. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +0 -1064
  2303. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +0 -390
  2304. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +0 -1018
  2305. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +0 -486
  2306. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +0 -185
  2307. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +0 -201
  2308. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +0 -152
  2309. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +0 -105
  2310. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +0 -128
  2311. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +0 -261
  2312. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +0 -233
  2313. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +0 -90
  2314. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +0 -264
  2315. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +0 -238
  2316. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +0 -40
  2317. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +0 -36
  2318. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +0 -71
  2319. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +0 -917
  2320. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +0 -178
  2321. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +0 -94
  2322. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +0 -721
  2323. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +0 -327
  2324. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +0 -280
  2325. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +0 -48
  2326. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +0 -720
  2327. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +0 -290
  2328. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +0 -86
  2329. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +0 -311
  2330. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +0 -253
  2331. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +0 -253
  2332. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +0 -486
  2333. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +0 -250
  2334. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +0 -450
  2335. data/ext/third_party/asio/asio/include/asio/execution.hpp +0 -48
  2336. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  2337. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -347
  2338. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -287
  2339. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  2340. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  2341. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  2342. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  2343. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  2344. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  2345. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  2346. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -104
  2347. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  2348. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -111
  2349. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  2350. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -436
  2351. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -527
  2352. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -507
  2353. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -298
  2354. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -635
  2355. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -916
  2356. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -248
  2357. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  2358. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -243
  2359. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  2360. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  2361. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  2362. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  2363. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -301
  2364. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -43
  2365. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -61
  2366. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -440
  2367. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  2368. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +0 -49
  2369. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -248
  2370. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1202
  2371. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -744
  2372. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3335
  2373. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -390
  2374. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  2375. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  2376. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -526
  2377. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -85
  2378. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  2379. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -92
  2380. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -186
  2381. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -350
  2382. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -141
  2383. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -279
  2384. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -1028
  2385. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1104
  2386. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -666
  2387. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -1530
  2388. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -376
  2389. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  2390. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  2391. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  2392. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  2393. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  2394. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  2395. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  2396. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  2397. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  2398. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  2399. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  2400. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  2401. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  2402. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  2403. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  2404. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  2405. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  2406. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  2407. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  2408. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  2409. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  2410. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  2411. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  2412. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  2413. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  2414. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  2415. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  2416. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  2417. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  2418. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  2419. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  2420. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  2421. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  2422. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  2423. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  2424. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  2425. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  2426. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  2427. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  2428. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  2429. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  2430. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  2431. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +0 -61
  2432. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  2433. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  2434. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  2435. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  2436. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  2437. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  2438. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  2439. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  2440. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  2441. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +0 -58
  2442. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  2443. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  2444. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  2445. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  2446. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  2447. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  2448. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  2449. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -126
  2450. data/ext/third_party/asio/asio/include/asio/prefer.hpp +0 -656
  2451. data/ext/third_party/asio/asio/include/asio/query.hpp +0 -296
  2452. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  2453. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  2454. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  2455. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  2456. data/ext/third_party/asio/asio/include/asio/require.hpp +0 -524
  2457. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +0 -310
  2458. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  2459. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  2460. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  2461. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  2462. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -344
  2463. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  2464. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  2465. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -119
  2466. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -165
  2467. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -67
  2468. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -349
  2469. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  2470. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -415
  2471. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  2472. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  2473. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  2474. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -72
  2475. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -69
  2476. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -169
  2477. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  2478. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -76
  2479. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  2480. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  2481. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  2482. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  2483. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  2484. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  2485. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  2486. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  2487. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  2488. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -900
  2489. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  2490. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  2491. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  2492. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  2493. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +0 -31
  2494. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  2495. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -537
  2496. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  2497. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -90
  2498. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  2499. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -662
  2500. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  2501. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  2502. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  2503. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -1111
  2504. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  2505. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +0 -114
  2506. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +0 -114
  2507. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +0 -112
  2508. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +0 -112
  2509. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +0 -100
  2510. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +0 -108
  2511. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +0 -108
  2512. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +0 -108
  2513. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +0 -108
  2514. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +0 -108
  2515. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +0 -108
  2516. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +0 -108
  2517. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +0 -108
  2518. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +0 -108
  2519. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +0 -108
  2520. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +0 -108
  2521. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +0 -108
  2522. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +0 -108
  2523. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +0 -108
  2524. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +0 -108
  2525. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +0 -112
  2526. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +0 -112
  2527. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +0 -234
  2528. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +0 -234
  2529. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +0 -108
  2530. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +0 -108
  2531. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +0 -108
  2532. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +0 -123
  2533. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +0 -123
  2534. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +0 -112
  2535. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +0 -112
  2536. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  2537. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -35
  2538. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  2539. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  2540. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  2541. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -262
  2542. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  2543. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  2544. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  2545. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -169
  2546. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  2547. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  2548. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  2549. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  2550. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  2551. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  2552. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  2553. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  2554. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  2555. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  2556. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -145
  2557. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  2558. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  2559. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  2560. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  2561. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  2562. data/ext/third_party/asio/asio/include/asio.hpp +0 -182
  2563. data/ext/third_party/gsl/CMakeLists.txt +0 -127
  2564. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  2565. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  2566. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  2567. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  2568. data/ext/third_party/gsl/include/gsl/gsl_narrow +0 -52
  2569. data/ext/third_party/gsl/include/gsl/gsl_util +0 -129
  2570. data/ext/third_party/gsl/include/gsl/multi_span +0 -2263
  2571. data/ext/third_party/gsl/include/gsl/pointers +0 -287
  2572. data/ext/third_party/gsl/include/gsl/span +0 -816
  2573. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  2574. data/ext/third_party/gsl/include/gsl/string_span +0 -706
  2575. data/ext/third_party/hdr_histogram_c/src/hdr_histogram.c +0 -1196
  2576. data/ext/third_party/json/CMakeLists.txt +0 -44
  2577. data/ext/third_party/json/LICENSE +0 -21
  2578. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -942
  2579. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  2580. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  2581. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  2582. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  2583. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -251
  2584. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  2585. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  2586. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  2587. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -104
  2588. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  2589. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -268
  2590. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  2591. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  2592. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  2593. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -129
  2594. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  2595. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  2596. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  2597. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +0 -43
  2598. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  2599. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  2600. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  2601. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  2602. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  2603. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +0 -32
  2604. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  2605. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  2606. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  2607. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -418
  2608. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  2609. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  2610. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  2611. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  2612. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -19
  2613. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  2614. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  2615. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  2616. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  2617. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  2618. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  2619. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  2620. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  2621. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -76
  2622. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  2623. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  2624. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  2625. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  2626. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  2627. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  2628. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  2629. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  2630. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  2631. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -113
  2632. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1874
  2633. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  2634. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -98
  2635. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  2636. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  2637. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -97
  2638. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  2639. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  2640. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  2641. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  2642. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  2643. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  2644. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  2645. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  2646. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  2647. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -255
  2648. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  2649. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  2650. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  2651. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  2652. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  2653. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  2654. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  2655. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  2656. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  2657. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  2658. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  2659. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  2660. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  2661. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  2662. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  2663. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  2664. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  2665. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  2666. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  2667. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  2668. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  2669. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  2670. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  2671. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  2672. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  2673. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  2674. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  2675. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  2676. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  2677. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  2678. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  2679. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  2680. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -176
  2681. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  2682. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  2683. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  2684. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  2685. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -49
  2686. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -54
  2687. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  2688. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  2689. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  2690. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  2691. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  2692. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  2693. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  2694. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  2695. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  2696. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  2697. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +0 -176
  2698. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +0 -275
  2699. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +0 -77
  2700. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +0 -151
  2701. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +0 -16
  2702. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -272
  2703. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -66
  2704. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -196
  2705. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -196
  2706. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -103
  2707. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -56
  2708. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -431
  2709. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +0 -62
  2710. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +0 -206
  2711. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +0 -106
  2712. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +0 -54
  2713. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +0 -33
  2714. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +0 -45
  2715. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +0 -32
  2716. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +0 -54
  2717. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +0 -43
  2718. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +0 -77
  2719. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +0 -52
  2720. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  2721. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  2722. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -440
  2723. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -105
  2724. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +0 -75
  2725. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +0 -53
  2726. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -234
  2727. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -69
  2728. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +0 -117
  2729. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -94
  2730. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -43
  2731. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +0 -193
  2732. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +0 -118
  2733. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  2734. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +0 -227
  2735. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +0 -62
  2736. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +0 -62
  2737. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +0 -63
  2738. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +0 -36
  2739. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  2740. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  2741. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +0 -49
  2742. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +0 -49
  2743. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -32
  2744. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +0 -138
  2745. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  2746. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  2747. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  2748. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  2749. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  2750. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  2751. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  2752. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  2753. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -54
  2754. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -106
  2755. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  2756. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  2757. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -51
  2758. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  2759. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  2760. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -55
  2761. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -32
  2762. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  2763. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  2764. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  2765. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -43
  2766. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -54
  2767. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  2768. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  2769. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  2770. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  2771. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  2772. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +0 -16
  2773. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -54
  2774. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -34
  2775. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -54
  2776. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +0 -25
  2777. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -32
  2778. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -32
  2779. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -33
  2780. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +0 -32
  2781. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -134
  2782. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -213
  2783. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -113
  2784. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -21
  2785. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -21
  2786. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -40
  2787. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +0 -21
  2788. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  2789. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -54
  2790. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -47
  2791. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -21
  2792. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  2793. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  2794. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -39
  2795. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  2796. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -49
  2797. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  2798. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  2799. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  2800. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  2801. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -22
  2802. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  2803. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -80
  2804. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +0 -21
  2805. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -28
  2806. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -26
  2807. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -64
  2808. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -55
  2809. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -55
  2810. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  2811. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  2812. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  2813. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +0 -26
  2814. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  2815. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -89
  2816. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  2817. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -60
  2818. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -44
  2819. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -56
  2820. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -103
  2821. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -72
  2822. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -67
  2823. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  2824. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -81
  2825. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -61
  2826. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  2827. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  2828. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  2829. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -58
  2830. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -67
  2831. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -52
  2832. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  2833. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -59
  2834. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  2835. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +0 -32
  2836. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  2837. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -88
  2838. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -32
  2839. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -169
  2840. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -365
  2841. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  2842. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +0 -64
  2843. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  2844. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -19
  2845. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -51
  2846. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -114
  2847. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -83
  2848. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -54
  2849. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  2850. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  2851. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  2852. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -68
  2853. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -64
  2854. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  2855. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +0 -46
  2856. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  2857. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  2858. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +0 -66
  2859. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -44
  2860. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  2861. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  2862. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  2863. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  2864. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  2865. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  2866. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  2867. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  2868. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  2869. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +0 -14
  2870. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  2871. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  2872. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  2873. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  2874. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  2875. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -57
  2876. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  2877. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  2878. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  2879. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  2880. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  2881. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  2882. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  2883. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  2884. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  2885. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  2886. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -96
  2887. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  2888. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  2889. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  2890. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  2891. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  2892. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  2893. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  2894. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  2895. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  2896. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  2897. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  2898. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  2899. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  2900. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  2901. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  2902. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  2903. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  2904. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  2905. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  2906. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -255
  2907. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  2908. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  2909. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -261
  2910. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  2911. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  2912. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  2913. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  2914. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  2915. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  2916. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +0 -43
  2917. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  2918. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  2919. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  2920. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  2921. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  2922. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +0 -32
  2923. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  2924. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  2925. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  2926. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  2927. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -250
  2928. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  2929. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  2930. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  2931. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -19
  2932. data/ext/third_party/json/include/tao/json/operators.hpp +0 -490
  2933. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -302
  2934. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  2935. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  2936. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -131
  2937. data/ext/third_party/json/include/tao/json/span.hpp +0 -496
  2938. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  2939. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  2940. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  2941. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  2942. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  2943. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  2944. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  2945. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +0 -43
  2946. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  2947. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  2948. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  2949. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  2950. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  2951. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +0 -32
  2952. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  2953. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  2954. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  2955. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -415
  2956. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  2957. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  2958. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  2959. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  2960. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -19
  2961. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  2962. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  2963. data/ext/third_party/json/include/tao/json.hpp +0 -45
  2964. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  2965. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  2966. data/ext/third_party/snappy/snappy-internal.h +0 -315
  2967. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  2968. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  2969. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  2970. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  2971. data/ext/third_party/snappy/snappy.cc +0 -1774
  2972. data/ext/third_party/snappy/snappy.h +0 -209
  2973. data/ext/third_party/spdlog/CMakeLists.txt +0 -291
  2974. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  2975. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  2976. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  2977. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  2978. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  2979. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  2980. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -119
  2981. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -29
  2982. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  2983. data/ext/third_party/spdlog/include/spdlog/common.h +0 -245
  2984. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  2985. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  2986. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  2987. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  2988. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -116
  2989. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  2990. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  2991. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  2992. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  2993. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  2994. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  2995. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  2996. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  2997. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  2998. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -313
  2999. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -115
  3000. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  3001. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  3002. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -146
  3003. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  3004. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  3005. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  3006. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  3007. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1123
  3008. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -566
  3009. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -665
  3010. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1882
  3011. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1453
  3012. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3729
  3013. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  3014. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +0 -450
  3015. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -167
  3016. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  3017. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -751
  3018. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -386
  3019. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +0 -20
  3020. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -27
  3021. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  3022. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -257
  3023. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -366
  3024. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1373
  3025. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  3026. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  3027. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  3028. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  3029. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  3030. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  3031. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  3032. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  3033. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  3034. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  3035. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  3036. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  3037. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  3038. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  3039. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  3040. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  3041. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  3042. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -123
  3043. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -87
  3044. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  3045. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  3046. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  3047. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -170
  3048. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  3049. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -125
  3050. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -295
  3051. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  3052. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  3053. data/ext/third_party/spdlog/src/async.cpp +0 -13
  3054. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  3055. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  3056. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  3057. data/ext/third_party/spdlog/src/fmt.cpp +0 -63
  3058. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  3059. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
@@ -0,0 +1,3031 @@
1
+ //
2
+ // read_until.hpp
3
+ // ~~~~~~~~~~~~~~
4
+ //
5
+ // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
+ //
7
+ // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
+ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+
11
+ #ifndef ASIO_READ_UNTIL_HPP
12
+ #define ASIO_READ_UNTIL_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include "asio/detail/config.hpp"
19
+ #include <cstddef>
20
+ #include <string>
21
+ #include "asio/async_result.hpp"
22
+ #include "asio/buffer.hpp"
23
+ #include "asio/detail/regex_fwd.hpp"
24
+ #include "asio/detail/string_view.hpp"
25
+ #include "asio/detail/type_traits.hpp"
26
+ #include "asio/error.hpp"
27
+
28
+ #if !defined(ASIO_NO_EXTENSIONS)
29
+ # include "asio/basic_streambuf_fwd.hpp"
30
+ #endif // !defined(ASIO_NO_EXTENSIONS)
31
+
32
+ #include "asio/detail/push_options.hpp"
33
+
34
+ namespace asio {
35
+
36
+ namespace detail
37
+ {
38
+ char (&has_result_type_helper(...))[2];
39
+
40
+ template <typename T>
41
+ char has_result_type_helper(T*, typename T::result_type* = 0);
42
+
43
+ template <typename T>
44
+ struct has_result_type
45
+ {
46
+ enum { value = (sizeof((has_result_type_helper)((T*)(0))) == 1) };
47
+ };
48
+ } // namespace detail
49
+
50
+ /// Type trait used to determine whether a type can be used as a match condition
51
+ /// function with read_until and async_read_until.
52
+ template <typename T>
53
+ struct is_match_condition
54
+ {
55
+ #if defined(GENERATING_DOCUMENTATION)
56
+ /// The value member is true if the type may be used as a match condition.
57
+ static const bool value;
58
+ #else
59
+ enum
60
+ {
61
+ value = asio::is_function<
62
+ typename asio::remove_pointer<T>::type>::value
63
+ || detail::has_result_type<T>::value
64
+ };
65
+ #endif
66
+ };
67
+
68
+ /**
69
+ * @defgroup read_until asio::read_until
70
+ *
71
+ * @brief The @c read_until function is a composed operation that reads data
72
+ * into a dynamic buffer sequence, or into a streambuf, until it contains a
73
+ * delimiter, matches a regular expression, or a function object indicates a
74
+ * match.
75
+ */
76
+ /*@{*/
77
+
78
+ #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
79
+
80
+ /// Read data into a dynamic buffer sequence until it contains a specified
81
+ /// delimiter.
82
+ /**
83
+ * This function is used to read data into the specified dynamic buffer
84
+ * sequence until the dynamic buffer sequence's get area contains the specified
85
+ * delimiter. The call will block until one of the following conditions is
86
+ * true:
87
+ *
88
+ * @li The get area of the dynamic buffer sequence contains the specified
89
+ * delimiter.
90
+ *
91
+ * @li An error occurred.
92
+ *
93
+ * This operation is implemented in terms of zero or more calls to the stream's
94
+ * read_some function. If the dynamic buffer sequence's get area already
95
+ * contains the delimiter, the function returns immediately.
96
+ *
97
+ * @param s The stream from which the data is to be read. The type must support
98
+ * the SyncReadStream concept.
99
+ *
100
+ * @param buffers The dynamic buffer sequence into which the data will be read.
101
+ *
102
+ * @param delim The delimiter character.
103
+ *
104
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
105
+ * and including the delimiter.
106
+ *
107
+ * @throws asio::system_error Thrown on failure.
108
+ *
109
+ * @note After a successful read_until operation, the dynamic buffer sequence
110
+ * may contain additional data beyond the delimiter. An application will
111
+ * typically leave that data in the dynamic buffer sequence for a subsequent
112
+ * read_until operation to examine.
113
+ *
114
+ * @par Example
115
+ * To read data into a @c std::string until a newline is encountered:
116
+ * @code std::string data;
117
+ * std::size_t n = asio::read_until(s,
118
+ * asio::dynamic_buffer(data), '\n');
119
+ * std::string line = data.substr(0, n);
120
+ * data.erase(0, n); @endcode
121
+ * After the @c read_until operation completes successfully, the string @c data
122
+ * contains the delimiter:
123
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
124
+ * The call to @c substr then extracts the data up to and including the
125
+ * delimiter, so that the string @c line contains:
126
+ * @code { 'a', 'b', ..., 'c', '\n' } @endcode
127
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
128
+ * follows:
129
+ * @code { 'd', 'e', ... } @endcode
130
+ * This data may be the start of a new line, to be extracted by a subsequent
131
+ * @c read_until operation.
132
+ */
133
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
134
+ std::size_t read_until(SyncReadStream& s,
135
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers, char delim,
136
+ typename constraint<
137
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
138
+ >::type = 0,
139
+ typename constraint<
140
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
141
+ >::type = 0);
142
+
143
+ /// Read data into a dynamic buffer sequence until it contains a specified
144
+ /// delimiter.
145
+ /**
146
+ * This function is used to read data into the specified dynamic buffer
147
+ * sequence until the dynamic buffer sequence's get area contains the specified
148
+ * delimiter. The call will block until one of the following conditions is
149
+ * true:
150
+ *
151
+ * @li The get area of the dynamic buffer sequence contains the specified
152
+ * delimiter.
153
+ *
154
+ * @li An error occurred.
155
+ *
156
+ * This operation is implemented in terms of zero or more calls to the stream's
157
+ * read_some function. If the dynamic buffer sequence's get area already
158
+ * contains the delimiter, the function returns immediately.
159
+ *
160
+ * @param s The stream from which the data is to be read. The type must support
161
+ * the SyncReadStream concept.
162
+ *
163
+ * @param buffers The dynamic buffer sequence into which the data will be read.
164
+ *
165
+ * @param delim The delimiter character.
166
+ *
167
+ * @param ec Set to indicate what error occurred, if any.
168
+ *
169
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
170
+ * and including the delimiter. Returns 0 if an error occurred.
171
+ *
172
+ * @note After a successful read_until operation, the dynamic buffer sequence
173
+ * may contain additional data beyond the delimiter. An application will
174
+ * typically leave that data in the dynamic buffer sequence for a subsequent
175
+ * read_until operation to examine.
176
+ */
177
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
178
+ std::size_t read_until(SyncReadStream& s,
179
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
180
+ char delim, asio::error_code& ec,
181
+ typename constraint<
182
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
183
+ >::type = 0,
184
+ typename constraint<
185
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
186
+ >::type = 0);
187
+
188
+ /// Read data into a dynamic buffer sequence until it contains a specified
189
+ /// delimiter.
190
+ /**
191
+ * This function is used to read data into the specified dynamic buffer
192
+ * sequence until the dynamic buffer sequence's get area contains the specified
193
+ * delimiter. The call will block until one of the following conditions is
194
+ * true:
195
+ *
196
+ * @li The get area of the dynamic buffer sequence contains the specified
197
+ * delimiter.
198
+ *
199
+ * @li An error occurred.
200
+ *
201
+ * This operation is implemented in terms of zero or more calls to the stream's
202
+ * read_some function. If the dynamic buffer sequence's get area already
203
+ * contains the delimiter, the function returns immediately.
204
+ *
205
+ * @param s The stream from which the data is to be read. The type must support
206
+ * the SyncReadStream concept.
207
+ *
208
+ * @param buffers The dynamic buffer sequence into which the data will be read.
209
+ *
210
+ * @param delim The delimiter string.
211
+ *
212
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
213
+ * and including the delimiter.
214
+ *
215
+ * @note After a successful read_until operation, the dynamic buffer sequence
216
+ * may contain additional data beyond the delimiter. An application will
217
+ * typically leave that data in the dynamic buffer sequence for a subsequent
218
+ * read_until operation to examine.
219
+ *
220
+ * @par Example
221
+ * To read data into a @c std::string until a CR-LF sequence is encountered:
222
+ * @code std::string data;
223
+ * std::size_t n = asio::read_until(s,
224
+ * asio::dynamic_buffer(data), "\r\n");
225
+ * std::string line = data.substr(0, n);
226
+ * data.erase(0, n); @endcode
227
+ * After the @c read_until operation completes successfully, the string @c data
228
+ * contains the delimiter:
229
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
230
+ * The call to @c substr then extracts the data up to and including the
231
+ * delimiter, so that the string @c line contains:
232
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
233
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
234
+ * follows:
235
+ * @code { 'd', 'e', ... } @endcode
236
+ * This data may be the start of a new line, to be extracted by a subsequent
237
+ * @c read_until operation.
238
+ */
239
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
240
+ std::size_t read_until(SyncReadStream& s,
241
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
242
+ ASIO_STRING_VIEW_PARAM delim,
243
+ typename constraint<
244
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
245
+ >::type = 0,
246
+ typename constraint<
247
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
248
+ >::type = 0);
249
+
250
+ /// Read data into a dynamic buffer sequence until it contains a specified
251
+ /// delimiter.
252
+ /**
253
+ * This function is used to read data into the specified dynamic buffer
254
+ * sequence until the dynamic buffer sequence's get area contains the specified
255
+ * delimiter. The call will block until one of the following conditions is
256
+ * true:
257
+ *
258
+ * @li The get area of the dynamic buffer sequence contains the specified
259
+ * delimiter.
260
+ *
261
+ * @li An error occurred.
262
+ *
263
+ * This operation is implemented in terms of zero or more calls to the stream's
264
+ * read_some function. If the dynamic buffer sequence's get area already
265
+ * contains the delimiter, the function returns immediately.
266
+ *
267
+ * @param s The stream from which the data is to be read. The type must support
268
+ * the SyncReadStream concept.
269
+ *
270
+ * @param buffers The dynamic buffer sequence into which the data will be read.
271
+ *
272
+ * @param delim The delimiter string.
273
+ *
274
+ * @param ec Set to indicate what error occurred, if any.
275
+ *
276
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
277
+ * and including the delimiter. Returns 0 if an error occurred.
278
+ *
279
+ * @note After a successful read_until operation, the dynamic buffer sequence
280
+ * may contain additional data beyond the delimiter. An application will
281
+ * typically leave that data in the dynamic buffer sequence for a subsequent
282
+ * read_until operation to examine.
283
+ */
284
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
285
+ std::size_t read_until(SyncReadStream& s,
286
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
287
+ ASIO_STRING_VIEW_PARAM delim,
288
+ asio::error_code& ec,
289
+ typename constraint<
290
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
291
+ >::type = 0,
292
+ typename constraint<
293
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
294
+ >::type = 0);
295
+
296
+ #if !defined(ASIO_NO_EXTENSIONS)
297
+ #if defined(ASIO_HAS_BOOST_REGEX) \
298
+ || defined(GENERATING_DOCUMENTATION)
299
+
300
+ /// Read data into a dynamic buffer sequence until some part of the data it
301
+ /// contains matches a regular expression.
302
+ /**
303
+ * This function is used to read data into the specified dynamic buffer
304
+ * sequence until the dynamic buffer sequence's get area contains some data
305
+ * that matches a regular expression. The call will block until one of the
306
+ * following conditions is true:
307
+ *
308
+ * @li A substring of the dynamic buffer sequence's get area matches the
309
+ * regular expression.
310
+ *
311
+ * @li An error occurred.
312
+ *
313
+ * This operation is implemented in terms of zero or more calls to the stream's
314
+ * read_some function. If the dynamic buffer sequence's get area already
315
+ * contains data that matches the regular expression, the function returns
316
+ * immediately.
317
+ *
318
+ * @param s The stream from which the data is to be read. The type must support
319
+ * the SyncReadStream concept.
320
+ *
321
+ * @param buffers A dynamic buffer sequence into which the data will be read.
322
+ *
323
+ * @param expr The regular expression.
324
+ *
325
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
326
+ * and including the substring that matches the regular expression.
327
+ *
328
+ * @throws asio::system_error Thrown on failure.
329
+ *
330
+ * @note After a successful read_until operation, the dynamic buffer sequence
331
+ * may contain additional data beyond that which matched the regular
332
+ * expression. An application will typically leave that data in the dynamic
333
+ * buffer sequence for a subsequent read_until operation to examine.
334
+ *
335
+ * @par Example
336
+ * To read data into a @c std::string until a CR-LF sequence is encountered:
337
+ * @code std::string data;
338
+ * std::size_t n = asio::read_until(s,
339
+ * asio::dynamic_buffer(data), boost::regex("\r\n"));
340
+ * std::string line = data.substr(0, n);
341
+ * data.erase(0, n); @endcode
342
+ * After the @c read_until operation completes successfully, the string @c data
343
+ * contains the delimiter:
344
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
345
+ * The call to @c substr then extracts the data up to and including the
346
+ * delimiter, so that the string @c line contains:
347
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
348
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
349
+ * follows:
350
+ * @code { 'd', 'e', ... } @endcode
351
+ * This data may be the start of a new line, to be extracted by a subsequent
352
+ * @c read_until operation.
353
+ */
354
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
355
+ std::size_t read_until(SyncReadStream& s,
356
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
357
+ const boost::regex& expr,
358
+ typename constraint<
359
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
360
+ >::type = 0,
361
+ typename constraint<
362
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
363
+ >::type = 0);
364
+
365
+ /// Read data into a dynamic buffer sequence until some part of the data it
366
+ /// contains matches a regular expression.
367
+ /**
368
+ * This function is used to read data into the specified dynamic buffer
369
+ * sequence until the dynamic buffer sequence's get area contains some data
370
+ * that matches a regular expression. The call will block until one of the
371
+ * following conditions is true:
372
+ *
373
+ * @li A substring of the dynamic buffer sequence's get area matches the
374
+ * regular expression.
375
+ *
376
+ * @li An error occurred.
377
+ *
378
+ * This operation is implemented in terms of zero or more calls to the stream's
379
+ * read_some function. If the dynamic buffer sequence's get area already
380
+ * contains data that matches the regular expression, the function returns
381
+ * immediately.
382
+ *
383
+ * @param s The stream from which the data is to be read. The type must support
384
+ * the SyncReadStream concept.
385
+ *
386
+ * @param buffers A dynamic buffer sequence into which the data will be read.
387
+ *
388
+ * @param expr The regular expression.
389
+ *
390
+ * @param ec Set to indicate what error occurred, if any.
391
+ *
392
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
393
+ * and including the substring that matches the regular expression. Returns 0
394
+ * if an error occurred.
395
+ *
396
+ * @note After a successful read_until operation, the dynamic buffer sequence
397
+ * may contain additional data beyond that which matched the regular
398
+ * expression. An application will typically leave that data in the dynamic
399
+ * buffer sequence for a subsequent read_until operation to examine.
400
+ */
401
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
402
+ std::size_t read_until(SyncReadStream& s,
403
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
404
+ const boost::regex& expr, asio::error_code& ec,
405
+ typename constraint<
406
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
407
+ >::type = 0,
408
+ typename constraint<
409
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
410
+ >::type = 0);
411
+
412
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
413
+ // || defined(GENERATING_DOCUMENTATION)
414
+
415
+ /// Read data into a dynamic buffer sequence until a function object indicates a
416
+ /// match.
417
+
418
+ /**
419
+ * This function is used to read data into the specified dynamic buffer
420
+ * sequence until a user-defined match condition function object, when applied
421
+ * to the data contained in the dynamic buffer sequence, indicates a successful
422
+ * match. The call will block until one of the following conditions is true:
423
+ *
424
+ * @li The match condition function object returns a std::pair where the second
425
+ * element evaluates to true.
426
+ *
427
+ * @li An error occurred.
428
+ *
429
+ * This operation is implemented in terms of zero or more calls to the stream's
430
+ * read_some function. If the match condition function object already indicates
431
+ * a match, the function returns immediately.
432
+ *
433
+ * @param s The stream from which the data is to be read. The type must support
434
+ * the SyncReadStream concept.
435
+ *
436
+ * @param buffers A dynamic buffer sequence into which the data will be read.
437
+ *
438
+ * @param match_condition The function object to be called to determine whether
439
+ * a match exists. The signature of the function object must be:
440
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
441
+ * @endcode
442
+ * where @c iterator represents the type:
443
+ * @code buffers_iterator<typename DynamicBuffer_v1::const_buffers_type>
444
+ * @endcode
445
+ * The iterator parameters @c begin and @c end define the range of bytes to be
446
+ * scanned to determine whether there is a match. The @c first member of the
447
+ * return value is an iterator marking one-past-the-end of the bytes that have
448
+ * been consumed by the match function. This iterator is used to calculate the
449
+ * @c begin parameter for any subsequent invocation of the match condition. The
450
+ * @c second member of the return value is true if a match has been found, false
451
+ * otherwise.
452
+ *
453
+ * @returns The number of bytes in the dynamic_buffer's get area that
454
+ * have been fully consumed by the match function.
455
+ *
456
+ * @throws asio::system_error Thrown on failure.
457
+ *
458
+ * @note After a successful read_until operation, the dynamic buffer sequence
459
+ * may contain additional data beyond that which matched the function object.
460
+ * An application will typically leave that data in the dynamic buffer sequence
461
+ * for a subsequent read_until operation to examine.
462
+
463
+ * @note The default implementation of the @c is_match_condition type trait
464
+ * evaluates to true for function pointers and function objects with a
465
+ * @c result_type typedef. It must be specialised for other user-defined
466
+ * function objects.
467
+ *
468
+ * @par Examples
469
+ * To read data into a dynamic buffer sequence until whitespace is encountered:
470
+ * @code typedef asio::buffers_iterator<
471
+ * asio::const_buffers_1> iterator;
472
+ *
473
+ * std::pair<iterator, bool>
474
+ * match_whitespace(iterator begin, iterator end)
475
+ * {
476
+ * iterator i = begin;
477
+ * while (i != end)
478
+ * if (std::isspace(*i++))
479
+ * return std::make_pair(i, true);
480
+ * return std::make_pair(i, false);
481
+ * }
482
+ * ...
483
+ * std::string data;
484
+ * asio::read_until(s, data, match_whitespace);
485
+ * @endcode
486
+ *
487
+ * To read data into a @c std::string until a matching character is found:
488
+ * @code class match_char
489
+ * {
490
+ * public:
491
+ * explicit match_char(char c) : c_(c) {}
492
+ *
493
+ * template <typename Iterator>
494
+ * std::pair<Iterator, bool> operator()(
495
+ * Iterator begin, Iterator end) const
496
+ * {
497
+ * Iterator i = begin;
498
+ * while (i != end)
499
+ * if (c_ == *i++)
500
+ * return std::make_pair(i, true);
501
+ * return std::make_pair(i, false);
502
+ * }
503
+ *
504
+ * private:
505
+ * char c_;
506
+ * };
507
+ *
508
+ * namespace asio {
509
+ * template <> struct is_match_condition<match_char>
510
+ * : public boost::true_type {};
511
+ * } // namespace asio
512
+ * ...
513
+ * std::string data;
514
+ * asio::read_until(s, data, match_char('a'));
515
+ * @endcode
516
+ */
517
+ template <typename SyncReadStream,
518
+ typename DynamicBuffer_v1, typename MatchCondition>
519
+ std::size_t read_until(SyncReadStream& s,
520
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
521
+ MatchCondition match_condition,
522
+ typename constraint<
523
+ is_match_condition<MatchCondition>::value
524
+ >::type = 0,
525
+ typename constraint<
526
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
527
+ >::type = 0,
528
+ typename constraint<
529
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
530
+ >::type = 0);
531
+
532
+ /// Read data into a dynamic buffer sequence until a function object indicates a
533
+ /// match.
534
+ /**
535
+ * This function is used to read data into the specified dynamic buffer
536
+ * sequence until a user-defined match condition function object, when applied
537
+ * to the data contained in the dynamic buffer sequence, indicates a successful
538
+ * match. The call will block until one of the following conditions is true:
539
+ *
540
+ * @li The match condition function object returns a std::pair where the second
541
+ * element evaluates to true.
542
+ *
543
+ * @li An error occurred.
544
+ *
545
+ * This operation is implemented in terms of zero or more calls to the stream's
546
+ * read_some function. If the match condition function object already indicates
547
+ * a match, the function returns immediately.
548
+ *
549
+ * @param s The stream from which the data is to be read. The type must support
550
+ * the SyncReadStream concept.
551
+ *
552
+ * @param buffers A dynamic buffer sequence into which the data will be read.
553
+ *
554
+ * @param match_condition The function object to be called to determine whether
555
+ * a match exists. The signature of the function object must be:
556
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
557
+ * @endcode
558
+ * where @c iterator represents the type:
559
+ * @code buffers_iterator<DynamicBuffer_v1::const_buffers_type>
560
+ * @endcode
561
+ * The iterator parameters @c begin and @c end define the range of bytes to be
562
+ * scanned to determine whether there is a match. The @c first member of the
563
+ * return value is an iterator marking one-past-the-end of the bytes that have
564
+ * been consumed by the match function. This iterator is used to calculate the
565
+ * @c begin parameter for any subsequent invocation of the match condition. The
566
+ * @c second member of the return value is true if a match has been found, false
567
+ * otherwise.
568
+ *
569
+ * @param ec Set to indicate what error occurred, if any.
570
+ *
571
+ * @returns The number of bytes in the dynamic buffer sequence's get area that
572
+ * have been fully consumed by the match function. Returns 0 if an error
573
+ * occurred.
574
+ *
575
+ * @note After a successful read_until operation, the dynamic buffer sequence
576
+ * may contain additional data beyond that which matched the function object.
577
+ * An application will typically leave that data in the dynamic buffer sequence
578
+ * for a subsequent read_until operation to examine.
579
+ *
580
+ * @note The default implementation of the @c is_match_condition type trait
581
+ * evaluates to true for function pointers and function objects with a
582
+ * @c result_type typedef. It must be specialised for other user-defined
583
+ * function objects.
584
+ */
585
+ template <typename SyncReadStream,
586
+ typename DynamicBuffer_v1, typename MatchCondition>
587
+ std::size_t read_until(SyncReadStream& s,
588
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
589
+ MatchCondition match_condition, asio::error_code& ec,
590
+ typename constraint<
591
+ is_match_condition<MatchCondition>::value
592
+ >::type = 0,
593
+ typename constraint<
594
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
595
+ >::type = 0,
596
+ typename constraint<
597
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
598
+ >::type = 0);
599
+
600
+ #if !defined(ASIO_NO_IOSTREAM)
601
+
602
+ /// Read data into a streambuf until it contains a specified delimiter.
603
+ /**
604
+ * This function is used to read data into the specified streambuf until the
605
+ * streambuf's get area contains the specified delimiter. The call will block
606
+ * until one of the following conditions is true:
607
+ *
608
+ * @li The get area of the streambuf contains the specified delimiter.
609
+ *
610
+ * @li An error occurred.
611
+ *
612
+ * This operation is implemented in terms of zero or more calls to the stream's
613
+ * read_some function. If the streambuf's get area already contains the
614
+ * delimiter, the function returns immediately.
615
+ *
616
+ * @param s The stream from which the data is to be read. The type must support
617
+ * the SyncReadStream concept.
618
+ *
619
+ * @param b A streambuf object into which the data will be read.
620
+ *
621
+ * @param delim The delimiter character.
622
+ *
623
+ * @returns The number of bytes in the streambuf's get area up to and including
624
+ * the delimiter.
625
+ *
626
+ * @throws asio::system_error Thrown on failure.
627
+ *
628
+ * @note After a successful read_until operation, the streambuf may contain
629
+ * additional data beyond the delimiter. An application will typically leave
630
+ * that data in the streambuf for a subsequent read_until operation to examine.
631
+ *
632
+ * @par Example
633
+ * To read data into a streambuf until a newline is encountered:
634
+ * @code asio::streambuf b;
635
+ * asio::read_until(s, b, '\n');
636
+ * std::istream is(&b);
637
+ * std::string line;
638
+ * std::getline(is, line); @endcode
639
+ * After the @c read_until operation completes successfully, the buffer @c b
640
+ * contains the delimiter:
641
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
642
+ * The call to @c std::getline then extracts the data up to and including the
643
+ * newline (which is discarded), so that the string @c line contains:
644
+ * @code { 'a', 'b', ..., 'c' } @endcode
645
+ * The remaining data is left in the buffer @c b as follows:
646
+ * @code { 'd', 'e', ... } @endcode
647
+ * This data may be the start of a new line, to be extracted by a subsequent
648
+ * @c read_until operation.
649
+ */
650
+ template <typename SyncReadStream, typename Allocator>
651
+ std::size_t read_until(SyncReadStream& s,
652
+ asio::basic_streambuf<Allocator>& b, char delim);
653
+
654
+ /// Read data into a streambuf until it contains a specified delimiter.
655
+ /**
656
+ * This function is used to read data into the specified streambuf until the
657
+ * streambuf's get area contains the specified delimiter. The call will block
658
+ * until one of the following conditions is true:
659
+ *
660
+ * @li The get area of the streambuf contains the specified delimiter.
661
+ *
662
+ * @li An error occurred.
663
+ *
664
+ * This operation is implemented in terms of zero or more calls to the stream's
665
+ * read_some function. If the streambuf's get area already contains the
666
+ * delimiter, the function returns immediately.
667
+ *
668
+ * @param s The stream from which the data is to be read. The type must support
669
+ * the SyncReadStream concept.
670
+ *
671
+ * @param b A streambuf object into which the data will be read.
672
+ *
673
+ * @param delim The delimiter character.
674
+ *
675
+ * @param ec Set to indicate what error occurred, if any.
676
+ *
677
+ * @returns The number of bytes in the streambuf's get area up to and including
678
+ * the delimiter. Returns 0 if an error occurred.
679
+ *
680
+ * @note After a successful read_until operation, the streambuf may contain
681
+ * additional data beyond the delimiter. An application will typically leave
682
+ * that data in the streambuf for a subsequent read_until operation to examine.
683
+ */
684
+ template <typename SyncReadStream, typename Allocator>
685
+ std::size_t read_until(SyncReadStream& s,
686
+ asio::basic_streambuf<Allocator>& b, char delim,
687
+ asio::error_code& ec);
688
+
689
+ /// Read data into a streambuf until it contains a specified delimiter.
690
+ /**
691
+ * This function is used to read data into the specified streambuf until the
692
+ * streambuf's get area contains the specified delimiter. The call will block
693
+ * until one of the following conditions is true:
694
+ *
695
+ * @li The get area of the streambuf contains the specified delimiter.
696
+ *
697
+ * @li An error occurred.
698
+ *
699
+ * This operation is implemented in terms of zero or more calls to the stream's
700
+ * read_some function. If the streambuf's get area already contains the
701
+ * delimiter, the function returns immediately.
702
+ *
703
+ * @param s The stream from which the data is to be read. The type must support
704
+ * the SyncReadStream concept.
705
+ *
706
+ * @param b A streambuf object into which the data will be read.
707
+ *
708
+ * @param delim The delimiter string.
709
+ *
710
+ * @returns The number of bytes in the streambuf's get area up to and including
711
+ * the delimiter.
712
+ *
713
+ * @throws asio::system_error Thrown on failure.
714
+ *
715
+ * @note After a successful read_until operation, the streambuf may contain
716
+ * additional data beyond the delimiter. An application will typically leave
717
+ * that data in the streambuf for a subsequent read_until operation to examine.
718
+ *
719
+ * @par Example
720
+ * To read data into a streambuf until a newline is encountered:
721
+ * @code asio::streambuf b;
722
+ * asio::read_until(s, b, "\r\n");
723
+ * std::istream is(&b);
724
+ * std::string line;
725
+ * std::getline(is, line); @endcode
726
+ * After the @c read_until operation completes successfully, the buffer @c b
727
+ * contains the delimiter:
728
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
729
+ * The call to @c std::getline then extracts the data up to and including the
730
+ * newline (which is discarded), so that the string @c line contains:
731
+ * @code { 'a', 'b', ..., 'c', '\r' } @endcode
732
+ * The remaining data is left in the buffer @c b as follows:
733
+ * @code { 'd', 'e', ... } @endcode
734
+ * This data may be the start of a new line, to be extracted by a subsequent
735
+ * @c read_until operation.
736
+ */
737
+ template <typename SyncReadStream, typename Allocator>
738
+ std::size_t read_until(SyncReadStream& s,
739
+ asio::basic_streambuf<Allocator>& b,
740
+ ASIO_STRING_VIEW_PARAM delim);
741
+
742
+ /// Read data into a streambuf until it contains a specified delimiter.
743
+ /**
744
+ * This function is used to read data into the specified streambuf until the
745
+ * streambuf's get area contains the specified delimiter. The call will block
746
+ * until one of the following conditions is true:
747
+ *
748
+ * @li The get area of the streambuf contains the specified delimiter.
749
+ *
750
+ * @li An error occurred.
751
+ *
752
+ * This operation is implemented in terms of zero or more calls to the stream's
753
+ * read_some function. If the streambuf's get area already contains the
754
+ * delimiter, the function returns immediately.
755
+ *
756
+ * @param s The stream from which the data is to be read. The type must support
757
+ * the SyncReadStream concept.
758
+ *
759
+ * @param b A streambuf object into which the data will be read.
760
+ *
761
+ * @param delim The delimiter string.
762
+ *
763
+ * @param ec Set to indicate what error occurred, if any.
764
+ *
765
+ * @returns The number of bytes in the streambuf's get area up to and including
766
+ * the delimiter. Returns 0 if an error occurred.
767
+ *
768
+ * @note After a successful read_until operation, the streambuf may contain
769
+ * additional data beyond the delimiter. An application will typically leave
770
+ * that data in the streambuf for a subsequent read_until operation to examine.
771
+ */
772
+ template <typename SyncReadStream, typename Allocator>
773
+ std::size_t read_until(SyncReadStream& s,
774
+ asio::basic_streambuf<Allocator>& b,
775
+ ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec);
776
+
777
+ #if defined(ASIO_HAS_BOOST_REGEX) \
778
+ || defined(GENERATING_DOCUMENTATION)
779
+
780
+ /// Read data into a streambuf until some part of the data it contains matches
781
+ /// a regular expression.
782
+ /**
783
+ * This function is used to read data into the specified streambuf until the
784
+ * streambuf's get area contains some data that matches a regular expression.
785
+ * The call will block until one of the following conditions is true:
786
+ *
787
+ * @li A substring of the streambuf's get area matches the regular expression.
788
+ *
789
+ * @li An error occurred.
790
+ *
791
+ * This operation is implemented in terms of zero or more calls to the stream's
792
+ * read_some function. If the streambuf's get area already contains data that
793
+ * matches the regular expression, the function returns immediately.
794
+ *
795
+ * @param s The stream from which the data is to be read. The type must support
796
+ * the SyncReadStream concept.
797
+ *
798
+ * @param b A streambuf object into which the data will be read.
799
+ *
800
+ * @param expr The regular expression.
801
+ *
802
+ * @returns The number of bytes in the streambuf's get area up to and including
803
+ * the substring that matches the regular expression.
804
+ *
805
+ * @throws asio::system_error Thrown on failure.
806
+ *
807
+ * @note After a successful read_until operation, the streambuf may contain
808
+ * additional data beyond that which matched the regular expression. An
809
+ * application will typically leave that data in the streambuf for a subsequent
810
+ * read_until operation to examine.
811
+ *
812
+ * @par Example
813
+ * To read data into a streambuf until a CR-LF sequence is encountered:
814
+ * @code asio::streambuf b;
815
+ * asio::read_until(s, b, boost::regex("\r\n"));
816
+ * std::istream is(&b);
817
+ * std::string line;
818
+ * std::getline(is, line); @endcode
819
+ * After the @c read_until operation completes successfully, the buffer @c b
820
+ * contains the data which matched the regular expression:
821
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
822
+ * The call to @c std::getline then extracts the data up to and including the
823
+ * newline (which is discarded), so that the string @c line contains:
824
+ * @code { 'a', 'b', ..., 'c', '\r' } @endcode
825
+ * The remaining data is left in the buffer @c b as follows:
826
+ * @code { 'd', 'e', ... } @endcode
827
+ * This data may be the start of a new line, to be extracted by a subsequent
828
+ * @c read_until operation.
829
+ */
830
+ template <typename SyncReadStream, typename Allocator>
831
+ std::size_t read_until(SyncReadStream& s,
832
+ asio::basic_streambuf<Allocator>& b, const boost::regex& expr);
833
+
834
+ /// Read data into a streambuf until some part of the data it contains matches
835
+ /// a regular expression.
836
+ /**
837
+ * This function is used to read data into the specified streambuf until the
838
+ * streambuf's get area contains some data that matches a regular expression.
839
+ * The call will block until one of the following conditions is true:
840
+ *
841
+ * @li A substring of the streambuf's get area matches the regular expression.
842
+ *
843
+ * @li An error occurred.
844
+ *
845
+ * This operation is implemented in terms of zero or more calls to the stream's
846
+ * read_some function. If the streambuf's get area already contains data that
847
+ * matches the regular expression, the function returns immediately.
848
+ *
849
+ * @param s The stream from which the data is to be read. The type must support
850
+ * the SyncReadStream concept.
851
+ *
852
+ * @param b A streambuf object into which the data will be read.
853
+ *
854
+ * @param expr The regular expression.
855
+ *
856
+ * @param ec Set to indicate what error occurred, if any.
857
+ *
858
+ * @returns The number of bytes in the streambuf's get area up to and including
859
+ * the substring that matches the regular expression. Returns 0 if an error
860
+ * occurred.
861
+ *
862
+ * @note After a successful read_until operation, the streambuf may contain
863
+ * additional data beyond that which matched the regular expression. An
864
+ * application will typically leave that data in the streambuf for a subsequent
865
+ * read_until operation to examine.
866
+ */
867
+ template <typename SyncReadStream, typename Allocator>
868
+ std::size_t read_until(SyncReadStream& s,
869
+ asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
870
+ asio::error_code& ec);
871
+
872
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
873
+ // || defined(GENERATING_DOCUMENTATION)
874
+
875
+ /// Read data into a streambuf until a function object indicates a match.
876
+ /**
877
+ * This function is used to read data into the specified streambuf until a
878
+ * user-defined match condition function object, when applied to the data
879
+ * contained in the streambuf, indicates a successful match. The call will
880
+ * block until one of the following conditions is true:
881
+ *
882
+ * @li The match condition function object returns a std::pair where the second
883
+ * element evaluates to true.
884
+ *
885
+ * @li An error occurred.
886
+ *
887
+ * This operation is implemented in terms of zero or more calls to the stream's
888
+ * read_some function. If the match condition function object already indicates
889
+ * a match, the function returns immediately.
890
+ *
891
+ * @param s The stream from which the data is to be read. The type must support
892
+ * the SyncReadStream concept.
893
+ *
894
+ * @param b A streambuf object into which the data will be read.
895
+ *
896
+ * @param match_condition The function object to be called to determine whether
897
+ * a match exists. The signature of the function object must be:
898
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
899
+ * @endcode
900
+ * where @c iterator represents the type:
901
+ * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
902
+ * @endcode
903
+ * The iterator parameters @c begin and @c end define the range of bytes to be
904
+ * scanned to determine whether there is a match. The @c first member of the
905
+ * return value is an iterator marking one-past-the-end of the bytes that have
906
+ * been consumed by the match function. This iterator is used to calculate the
907
+ * @c begin parameter for any subsequent invocation of the match condition. The
908
+ * @c second member of the return value is true if a match has been found, false
909
+ * otherwise.
910
+ *
911
+ * @returns The number of bytes in the streambuf's get area that have been fully
912
+ * consumed by the match function.
913
+ *
914
+ * @throws asio::system_error Thrown on failure.
915
+ *
916
+ * @note After a successful read_until operation, the streambuf may contain
917
+ * additional data beyond that which matched the function object. An application
918
+ * will typically leave that data in the streambuf for a subsequent read_until
919
+ * operation to examine.
920
+ *
921
+ * @note The default implementation of the @c is_match_condition type trait
922
+ * evaluates to true for function pointers and function objects with a
923
+ * @c result_type typedef. It must be specialised for other user-defined
924
+ * function objects.
925
+ *
926
+ * @par Examples
927
+ * To read data into a streambuf until whitespace is encountered:
928
+ * @code typedef asio::buffers_iterator<
929
+ * asio::streambuf::const_buffers_type> iterator;
930
+ *
931
+ * std::pair<iterator, bool>
932
+ * match_whitespace(iterator begin, iterator end)
933
+ * {
934
+ * iterator i = begin;
935
+ * while (i != end)
936
+ * if (std::isspace(*i++))
937
+ * return std::make_pair(i, true);
938
+ * return std::make_pair(i, false);
939
+ * }
940
+ * ...
941
+ * asio::streambuf b;
942
+ * asio::read_until(s, b, match_whitespace);
943
+ * @endcode
944
+ *
945
+ * To read data into a streambuf until a matching character is found:
946
+ * @code class match_char
947
+ * {
948
+ * public:
949
+ * explicit match_char(char c) : c_(c) {}
950
+ *
951
+ * template <typename Iterator>
952
+ * std::pair<Iterator, bool> operator()(
953
+ * Iterator begin, Iterator end) const
954
+ * {
955
+ * Iterator i = begin;
956
+ * while (i != end)
957
+ * if (c_ == *i++)
958
+ * return std::make_pair(i, true);
959
+ * return std::make_pair(i, false);
960
+ * }
961
+ *
962
+ * private:
963
+ * char c_;
964
+ * };
965
+ *
966
+ * namespace asio {
967
+ * template <> struct is_match_condition<match_char>
968
+ * : public boost::true_type {};
969
+ * } // namespace asio
970
+ * ...
971
+ * asio::streambuf b;
972
+ * asio::read_until(s, b, match_char('a'));
973
+ * @endcode
974
+ */
975
+ template <typename SyncReadStream, typename Allocator, typename MatchCondition>
976
+ std::size_t read_until(SyncReadStream& s,
977
+ asio::basic_streambuf<Allocator>& b, MatchCondition match_condition,
978
+ typename constraint<is_match_condition<MatchCondition>::value>::type = 0);
979
+
980
+ /// Read data into a streambuf until a function object indicates a match.
981
+ /**
982
+ * This function is used to read data into the specified streambuf until a
983
+ * user-defined match condition function object, when applied to the data
984
+ * contained in the streambuf, indicates a successful match. The call will
985
+ * block until one of the following conditions is true:
986
+ *
987
+ * @li The match condition function object returns a std::pair where the second
988
+ * element evaluates to true.
989
+ *
990
+ * @li An error occurred.
991
+ *
992
+ * This operation is implemented in terms of zero or more calls to the stream's
993
+ * read_some function. If the match condition function object already indicates
994
+ * a match, the function returns immediately.
995
+ *
996
+ * @param s The stream from which the data is to be read. The type must support
997
+ * the SyncReadStream concept.
998
+ *
999
+ * @param b A streambuf object into which the data will be read.
1000
+ *
1001
+ * @param match_condition The function object to be called to determine whether
1002
+ * a match exists. The signature of the function object must be:
1003
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1004
+ * @endcode
1005
+ * where @c iterator represents the type:
1006
+ * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
1007
+ * @endcode
1008
+ * The iterator parameters @c begin and @c end define the range of bytes to be
1009
+ * scanned to determine whether there is a match. The @c first member of the
1010
+ * return value is an iterator marking one-past-the-end of the bytes that have
1011
+ * been consumed by the match function. This iterator is used to calculate the
1012
+ * @c begin parameter for any subsequent invocation of the match condition. The
1013
+ * @c second member of the return value is true if a match has been found, false
1014
+ * otherwise.
1015
+ *
1016
+ * @param ec Set to indicate what error occurred, if any.
1017
+ *
1018
+ * @returns The number of bytes in the streambuf's get area that have been fully
1019
+ * consumed by the match function. Returns 0 if an error occurred.
1020
+ *
1021
+ * @note After a successful read_until operation, the streambuf may contain
1022
+ * additional data beyond that which matched the function object. An application
1023
+ * will typically leave that data in the streambuf for a subsequent read_until
1024
+ * operation to examine.
1025
+ *
1026
+ * @note The default implementation of the @c is_match_condition type trait
1027
+ * evaluates to true for function pointers and function objects with a
1028
+ * @c result_type typedef. It must be specialised for other user-defined
1029
+ * function objects.
1030
+ */
1031
+ template <typename SyncReadStream, typename Allocator, typename MatchCondition>
1032
+ std::size_t read_until(SyncReadStream& s,
1033
+ asio::basic_streambuf<Allocator>& b,
1034
+ MatchCondition match_condition, asio::error_code& ec,
1035
+ typename constraint<is_match_condition<MatchCondition>::value>::type = 0);
1036
+
1037
+ #endif // !defined(ASIO_NO_IOSTREAM)
1038
+ #endif // !defined(ASIO_NO_EXTENSIONS)
1039
+ #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
1040
+
1041
+ /// Read data into a dynamic buffer sequence until it contains a specified
1042
+ /// delimiter.
1043
+ /**
1044
+ * This function is used to read data into the specified dynamic buffer
1045
+ * sequence until the dynamic buffer sequence's get area contains the specified
1046
+ * delimiter. The call will block until one of the following conditions is
1047
+ * true:
1048
+ *
1049
+ * @li The get area of the dynamic buffer sequence contains the specified
1050
+ * delimiter.
1051
+ *
1052
+ * @li An error occurred.
1053
+ *
1054
+ * This operation is implemented in terms of zero or more calls to the stream's
1055
+ * read_some function. If the dynamic buffer sequence's get area already
1056
+ * contains the delimiter, the function returns immediately.
1057
+ *
1058
+ * @param s The stream from which the data is to be read. The type must support
1059
+ * the SyncReadStream concept.
1060
+ *
1061
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1062
+ *
1063
+ * @param delim The delimiter character.
1064
+ *
1065
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1066
+ * and including the delimiter.
1067
+ *
1068
+ * @throws asio::system_error Thrown on failure.
1069
+ *
1070
+ * @note After a successful read_until operation, the dynamic buffer sequence
1071
+ * may contain additional data beyond the delimiter. An application will
1072
+ * typically leave that data in the dynamic buffer sequence for a subsequent
1073
+ * read_until operation to examine.
1074
+ *
1075
+ * @par Example
1076
+ * To read data into a @c std::string until a newline is encountered:
1077
+ * @code std::string data;
1078
+ * std::size_t n = asio::read_until(s,
1079
+ * asio::dynamic_buffer(data), '\n');
1080
+ * std::string line = data.substr(0, n);
1081
+ * data.erase(0, n); @endcode
1082
+ * After the @c read_until operation completes successfully, the string @c data
1083
+ * contains the delimiter:
1084
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
1085
+ * The call to @c substr then extracts the data up to and including the
1086
+ * delimiter, so that the string @c line contains:
1087
+ * @code { 'a', 'b', ..., 'c', '\n' } @endcode
1088
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
1089
+ * follows:
1090
+ * @code { 'd', 'e', ... } @endcode
1091
+ * This data may be the start of a new line, to be extracted by a subsequent
1092
+ * @c read_until operation.
1093
+ */
1094
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1095
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers, char delim,
1096
+ typename constraint<
1097
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1098
+ >::type = 0);
1099
+
1100
+ /// Read data into a dynamic buffer sequence until it contains a specified
1101
+ /// delimiter.
1102
+ /**
1103
+ * This function is used to read data into the specified dynamic buffer
1104
+ * sequence until the dynamic buffer sequence's get area contains the specified
1105
+ * delimiter. The call will block until one of the following conditions is
1106
+ * true:
1107
+ *
1108
+ * @li The get area of the dynamic buffer sequence contains the specified
1109
+ * delimiter.
1110
+ *
1111
+ * @li An error occurred.
1112
+ *
1113
+ * This operation is implemented in terms of zero or more calls to the stream's
1114
+ * read_some function. If the dynamic buffer sequence's get area already
1115
+ * contains the delimiter, the function returns immediately.
1116
+ *
1117
+ * @param s The stream from which the data is to be read. The type must support
1118
+ * the SyncReadStream concept.
1119
+ *
1120
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1121
+ *
1122
+ * @param delim The delimiter character.
1123
+ *
1124
+ * @param ec Set to indicate what error occurred, if any.
1125
+ *
1126
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1127
+ * and including the delimiter. Returns 0 if an error occurred.
1128
+ *
1129
+ * @note After a successful read_until operation, the dynamic buffer sequence
1130
+ * may contain additional data beyond the delimiter. An application will
1131
+ * typically leave that data in the dynamic buffer sequence for a subsequent
1132
+ * read_until operation to examine.
1133
+ */
1134
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1135
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1136
+ char delim, asio::error_code& ec,
1137
+ typename constraint<
1138
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1139
+ >::type = 0);
1140
+
1141
+ /// Read data into a dynamic buffer sequence until it contains a specified
1142
+ /// delimiter.
1143
+ /**
1144
+ * This function is used to read data into the specified dynamic buffer
1145
+ * sequence until the dynamic buffer sequence's get area contains the specified
1146
+ * delimiter. The call will block until one of the following conditions is
1147
+ * true:
1148
+ *
1149
+ * @li The get area of the dynamic buffer sequence contains the specified
1150
+ * delimiter.
1151
+ *
1152
+ * @li An error occurred.
1153
+ *
1154
+ * This operation is implemented in terms of zero or more calls to the stream's
1155
+ * read_some function. If the dynamic buffer sequence's get area already
1156
+ * contains the delimiter, the function returns immediately.
1157
+ *
1158
+ * @param s The stream from which the data is to be read. The type must support
1159
+ * the SyncReadStream concept.
1160
+ *
1161
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1162
+ *
1163
+ * @param delim The delimiter string.
1164
+ *
1165
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1166
+ * and including the delimiter.
1167
+ *
1168
+ * @note After a successful read_until operation, the dynamic buffer sequence
1169
+ * may contain additional data beyond the delimiter. An application will
1170
+ * typically leave that data in the dynamic buffer sequence for a subsequent
1171
+ * read_until operation to examine.
1172
+ *
1173
+ * @par Example
1174
+ * To read data into a @c std::string until a CR-LF sequence is encountered:
1175
+ * @code std::string data;
1176
+ * std::size_t n = asio::read_until(s,
1177
+ * asio::dynamic_buffer(data), "\r\n");
1178
+ * std::string line = data.substr(0, n);
1179
+ * data.erase(0, n); @endcode
1180
+ * After the @c read_until operation completes successfully, the string @c data
1181
+ * contains the delimiter:
1182
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1183
+ * The call to @c substr then extracts the data up to and including the
1184
+ * delimiter, so that the string @c line contains:
1185
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1186
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
1187
+ * follows:
1188
+ * @code { 'd', 'e', ... } @endcode
1189
+ * This data may be the start of a new line, to be extracted by a subsequent
1190
+ * @c read_until operation.
1191
+ */
1192
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1193
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1194
+ ASIO_STRING_VIEW_PARAM delim,
1195
+ typename constraint<
1196
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1197
+ >::type = 0);
1198
+
1199
+ /// Read data into a dynamic buffer sequence until it contains a specified
1200
+ /// delimiter.
1201
+ /**
1202
+ * This function is used to read data into the specified dynamic buffer
1203
+ * sequence until the dynamic buffer sequence's get area contains the specified
1204
+ * delimiter. The call will block until one of the following conditions is
1205
+ * true:
1206
+ *
1207
+ * @li The get area of the dynamic buffer sequence contains the specified
1208
+ * delimiter.
1209
+ *
1210
+ * @li An error occurred.
1211
+ *
1212
+ * This operation is implemented in terms of zero or more calls to the stream's
1213
+ * read_some function. If the dynamic buffer sequence's get area already
1214
+ * contains the delimiter, the function returns immediately.
1215
+ *
1216
+ * @param s The stream from which the data is to be read. The type must support
1217
+ * the SyncReadStream concept.
1218
+ *
1219
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1220
+ *
1221
+ * @param delim The delimiter string.
1222
+ *
1223
+ * @param ec Set to indicate what error occurred, if any.
1224
+ *
1225
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1226
+ * and including the delimiter. Returns 0 if an error occurred.
1227
+ *
1228
+ * @note After a successful read_until operation, the dynamic buffer sequence
1229
+ * may contain additional data beyond the delimiter. An application will
1230
+ * typically leave that data in the dynamic buffer sequence for a subsequent
1231
+ * read_until operation to examine.
1232
+ */
1233
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1234
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1235
+ ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec,
1236
+ typename constraint<
1237
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1238
+ >::type = 0);
1239
+
1240
+ #if !defined(ASIO_NO_EXTENSIONS)
1241
+ #if defined(ASIO_HAS_BOOST_REGEX) \
1242
+ || defined(GENERATING_DOCUMENTATION)
1243
+
1244
+ /// Read data into a dynamic buffer sequence until some part of the data it
1245
+ /// contains matches a regular expression.
1246
+ /**
1247
+ * This function is used to read data into the specified dynamic buffer
1248
+ * sequence until the dynamic buffer sequence's get area contains some data
1249
+ * that matches a regular expression. The call will block until one of the
1250
+ * following conditions is true:
1251
+ *
1252
+ * @li A substring of the dynamic buffer sequence's get area matches the
1253
+ * regular expression.
1254
+ *
1255
+ * @li An error occurred.
1256
+ *
1257
+ * This operation is implemented in terms of zero or more calls to the stream's
1258
+ * read_some function. If the dynamic buffer sequence's get area already
1259
+ * contains data that matches the regular expression, the function returns
1260
+ * immediately.
1261
+ *
1262
+ * @param s The stream from which the data is to be read. The type must support
1263
+ * the SyncReadStream concept.
1264
+ *
1265
+ * @param buffers A dynamic buffer sequence into which the data will be read.
1266
+ *
1267
+ * @param expr The regular expression.
1268
+ *
1269
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1270
+ * and including the substring that matches the regular expression.
1271
+ *
1272
+ * @throws asio::system_error Thrown on failure.
1273
+ *
1274
+ * @note After a successful read_until operation, the dynamic buffer sequence
1275
+ * may contain additional data beyond that which matched the regular
1276
+ * expression. An application will typically leave that data in the dynamic
1277
+ * buffer sequence for a subsequent read_until operation to examine.
1278
+ *
1279
+ * @par Example
1280
+ * To read data into a @c std::string until a CR-LF sequence is encountered:
1281
+ * @code std::string data;
1282
+ * std::size_t n = asio::read_until(s,
1283
+ * asio::dynamic_buffer(data), boost::regex("\r\n"));
1284
+ * std::string line = data.substr(0, n);
1285
+ * data.erase(0, n); @endcode
1286
+ * After the @c read_until operation completes successfully, the string @c data
1287
+ * contains the delimiter:
1288
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1289
+ * The call to @c substr then extracts the data up to and including the
1290
+ * delimiter, so that the string @c line contains:
1291
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1292
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
1293
+ * follows:
1294
+ * @code { 'd', 'e', ... } @endcode
1295
+ * This data may be the start of a new line, to be extracted by a subsequent
1296
+ * @c read_until operation.
1297
+ */
1298
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1299
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1300
+ const boost::regex& expr,
1301
+ typename constraint<
1302
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1303
+ >::type = 0);
1304
+
1305
+ /// Read data into a dynamic buffer sequence until some part of the data it
1306
+ /// contains matches a regular expression.
1307
+ /**
1308
+ * This function is used to read data into the specified dynamic buffer
1309
+ * sequence until the dynamic buffer sequence's get area contains some data
1310
+ * that matches a regular expression. The call will block until one of the
1311
+ * following conditions is true:
1312
+ *
1313
+ * @li A substring of the dynamic buffer sequence's get area matches the
1314
+ * regular expression.
1315
+ *
1316
+ * @li An error occurred.
1317
+ *
1318
+ * This operation is implemented in terms of zero or more calls to the stream's
1319
+ * read_some function. If the dynamic buffer sequence's get area already
1320
+ * contains data that matches the regular expression, the function returns
1321
+ * immediately.
1322
+ *
1323
+ * @param s The stream from which the data is to be read. The type must support
1324
+ * the SyncReadStream concept.
1325
+ *
1326
+ * @param buffers A dynamic buffer sequence into which the data will be read.
1327
+ *
1328
+ * @param expr The regular expression.
1329
+ *
1330
+ * @param ec Set to indicate what error occurred, if any.
1331
+ *
1332
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1333
+ * and including the substring that matches the regular expression. Returns 0
1334
+ * if an error occurred.
1335
+ *
1336
+ * @note After a successful read_until operation, the dynamic buffer sequence
1337
+ * may contain additional data beyond that which matched the regular
1338
+ * expression. An application will typically leave that data in the dynamic
1339
+ * buffer sequence for a subsequent read_until operation to examine.
1340
+ */
1341
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1342
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1343
+ const boost::regex& expr, asio::error_code& ec,
1344
+ typename constraint<
1345
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1346
+ >::type = 0);
1347
+
1348
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
1349
+ // || defined(GENERATING_DOCUMENTATION)
1350
+
1351
+ /// Read data into a dynamic buffer sequence until a function object indicates a
1352
+ /// match.
1353
+
1354
+ /**
1355
+ * This function is used to read data into the specified dynamic buffer
1356
+ * sequence until a user-defined match condition function object, when applied
1357
+ * to the data contained in the dynamic buffer sequence, indicates a successful
1358
+ * match. The call will block until one of the following conditions is true:
1359
+ *
1360
+ * @li The match condition function object returns a std::pair where the second
1361
+ * element evaluates to true.
1362
+ *
1363
+ * @li An error occurred.
1364
+ *
1365
+ * This operation is implemented in terms of zero or more calls to the stream's
1366
+ * read_some function. If the match condition function object already indicates
1367
+ * a match, the function returns immediately.
1368
+ *
1369
+ * @param s The stream from which the data is to be read. The type must support
1370
+ * the SyncReadStream concept.
1371
+ *
1372
+ * @param buffers A dynamic buffer sequence into which the data will be read.
1373
+ *
1374
+ * @param match_condition The function object to be called to determine whether
1375
+ * a match exists. The signature of the function object must be:
1376
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1377
+ * @endcode
1378
+ * where @c iterator represents the type:
1379
+ * @code buffers_iterator<typename DynamicBuffer_v2::const_buffers_type>
1380
+ * @endcode
1381
+ * The iterator parameters @c begin and @c end define the range of bytes to be
1382
+ * scanned to determine whether there is a match. The @c first member of the
1383
+ * return value is an iterator marking one-past-the-end of the bytes that have
1384
+ * been consumed by the match function. This iterator is used to calculate the
1385
+ * @c begin parameter for any subsequent invocation of the match condition. The
1386
+ * @c second member of the return value is true if a match has been found, false
1387
+ * otherwise.
1388
+ *
1389
+ * @returns The number of bytes in the dynamic_buffer's get area that
1390
+ * have been fully consumed by the match function.
1391
+ *
1392
+ * @throws asio::system_error Thrown on failure.
1393
+ *
1394
+ * @note After a successful read_until operation, the dynamic buffer sequence
1395
+ * may contain additional data beyond that which matched the function object.
1396
+ * An application will typically leave that data in the dynamic buffer sequence
1397
+ * for a subsequent read_until operation to examine.
1398
+
1399
+ * @note The default implementation of the @c is_match_condition type trait
1400
+ * evaluates to true for function pointers and function objects with a
1401
+ * @c result_type typedef. It must be specialised for other user-defined
1402
+ * function objects.
1403
+ *
1404
+ * @par Examples
1405
+ * To read data into a dynamic buffer sequence until whitespace is encountered:
1406
+ * @code typedef asio::buffers_iterator<
1407
+ * asio::const_buffers_1> iterator;
1408
+ *
1409
+ * std::pair<iterator, bool>
1410
+ * match_whitespace(iterator begin, iterator end)
1411
+ * {
1412
+ * iterator i = begin;
1413
+ * while (i != end)
1414
+ * if (std::isspace(*i++))
1415
+ * return std::make_pair(i, true);
1416
+ * return std::make_pair(i, false);
1417
+ * }
1418
+ * ...
1419
+ * std::string data;
1420
+ * asio::read_until(s, data, match_whitespace);
1421
+ * @endcode
1422
+ *
1423
+ * To read data into a @c std::string until a matching character is found:
1424
+ * @code class match_char
1425
+ * {
1426
+ * public:
1427
+ * explicit match_char(char c) : c_(c) {}
1428
+ *
1429
+ * template <typename Iterator>
1430
+ * std::pair<Iterator, bool> operator()(
1431
+ * Iterator begin, Iterator end) const
1432
+ * {
1433
+ * Iterator i = begin;
1434
+ * while (i != end)
1435
+ * if (c_ == *i++)
1436
+ * return std::make_pair(i, true);
1437
+ * return std::make_pair(i, false);
1438
+ * }
1439
+ *
1440
+ * private:
1441
+ * char c_;
1442
+ * };
1443
+ *
1444
+ * namespace asio {
1445
+ * template <> struct is_match_condition<match_char>
1446
+ * : public boost::true_type {};
1447
+ * } // namespace asio
1448
+ * ...
1449
+ * std::string data;
1450
+ * asio::read_until(s, data, match_char('a'));
1451
+ * @endcode
1452
+ */
1453
+ template <typename SyncReadStream,
1454
+ typename DynamicBuffer_v2, typename MatchCondition>
1455
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1456
+ MatchCondition match_condition,
1457
+ typename constraint<
1458
+ is_match_condition<MatchCondition>::value
1459
+ >::type = 0,
1460
+ typename constraint<
1461
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1462
+ >::type = 0);
1463
+
1464
+ /// Read data into a dynamic buffer sequence until a function object indicates a
1465
+ /// match.
1466
+ /**
1467
+ * This function is used to read data into the specified dynamic buffer
1468
+ * sequence until a user-defined match condition function object, when applied
1469
+ * to the data contained in the dynamic buffer sequence, indicates a successful
1470
+ * match. The call will block until one of the following conditions is true:
1471
+ *
1472
+ * @li The match condition function object returns a std::pair where the second
1473
+ * element evaluates to true.
1474
+ *
1475
+ * @li An error occurred.
1476
+ *
1477
+ * This operation is implemented in terms of zero or more calls to the stream's
1478
+ * read_some function. If the match condition function object already indicates
1479
+ * a match, the function returns immediately.
1480
+ *
1481
+ * @param s The stream from which the data is to be read. The type must support
1482
+ * the SyncReadStream concept.
1483
+ *
1484
+ * @param buffers A dynamic buffer sequence into which the data will be read.
1485
+ *
1486
+ * @param match_condition The function object to be called to determine whether
1487
+ * a match exists. The signature of the function object must be:
1488
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1489
+ * @endcode
1490
+ * where @c iterator represents the type:
1491
+ * @code buffers_iterator<DynamicBuffer_v2::const_buffers_type>
1492
+ * @endcode
1493
+ * The iterator parameters @c begin and @c end define the range of bytes to be
1494
+ * scanned to determine whether there is a match. The @c first member of the
1495
+ * return value is an iterator marking one-past-the-end of the bytes that have
1496
+ * been consumed by the match function. This iterator is used to calculate the
1497
+ * @c begin parameter for any subsequent invocation of the match condition. The
1498
+ * @c second member of the return value is true if a match has been found, false
1499
+ * otherwise.
1500
+ *
1501
+ * @param ec Set to indicate what error occurred, if any.
1502
+ *
1503
+ * @returns The number of bytes in the dynamic buffer sequence's get area that
1504
+ * have been fully consumed by the match function. Returns 0 if an error
1505
+ * occurred.
1506
+ *
1507
+ * @note After a successful read_until operation, the dynamic buffer sequence
1508
+ * may contain additional data beyond that which matched the function object.
1509
+ * An application will typically leave that data in the dynamic buffer sequence
1510
+ * for a subsequent read_until operation to examine.
1511
+ *
1512
+ * @note The default implementation of the @c is_match_condition type trait
1513
+ * evaluates to true for function pointers and function objects with a
1514
+ * @c result_type typedef. It must be specialised for other user-defined
1515
+ * function objects.
1516
+ */
1517
+ template <typename SyncReadStream,
1518
+ typename DynamicBuffer_v2, typename MatchCondition>
1519
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1520
+ MatchCondition match_condition, asio::error_code& ec,
1521
+ typename constraint<
1522
+ is_match_condition<MatchCondition>::value
1523
+ >::type = 0,
1524
+ typename constraint<
1525
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1526
+ >::type = 0);
1527
+
1528
+ #endif // !defined(ASIO_NO_EXTENSIONS)
1529
+
1530
+ /*@}*/
1531
+ /**
1532
+ * @defgroup async_read_until asio::async_read_until
1533
+ *
1534
+ * @brief The @c async_read_until function is a composed asynchronous operation
1535
+ * that reads data into a dynamic buffer sequence, or into a streambuf, until
1536
+ * it contains a delimiter, matches a regular expression, or a function object
1537
+ * indicates a match.
1538
+ */
1539
+ /*@{*/
1540
+
1541
+ #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
1542
+
1543
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
1544
+ /// until it contains a specified delimiter.
1545
+ /**
1546
+ * This function is used to asynchronously read data into the specified dynamic
1547
+ * buffer sequence until the dynamic buffer sequence's get area contains the
1548
+ * specified delimiter. The function call always returns immediately. The
1549
+ * asynchronous operation will continue until one of the following conditions
1550
+ * is true:
1551
+ *
1552
+ * @li The get area of the dynamic buffer sequence contains the specified
1553
+ * delimiter.
1554
+ *
1555
+ * @li An error occurred.
1556
+ *
1557
+ * This operation is implemented in terms of zero or more calls to the stream's
1558
+ * async_read_some function, and is known as a <em>composed operation</em>. If
1559
+ * the dynamic buffer sequence's get area already contains the delimiter, this
1560
+ * asynchronous operation completes immediately. The program must ensure that
1561
+ * the stream performs no other read operations (such as async_read,
1562
+ * async_read_until, the stream's async_read_some function, or any other
1563
+ * composed operations that perform reads) until this operation completes.
1564
+ *
1565
+ * @param s The stream from which the data is to be read. The type must support
1566
+ * the AsyncReadStream concept.
1567
+ *
1568
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1569
+ * Although the buffers object may be copied as necessary, ownership of the
1570
+ * underlying memory blocks is retained by the caller, which must guarantee
1571
+ * that they remain valid until the handler is called.
1572
+ *
1573
+ * @param delim The delimiter character.
1574
+ *
1575
+ * @param handler The handler to be called when the read operation completes.
1576
+ * Copies will be made of the handler as required. The function signature of the
1577
+ * handler must be:
1578
+ * @code void handler(
1579
+ * // Result of operation.
1580
+ * const asio::error_code& error,
1581
+ *
1582
+ * // The number of bytes in the dynamic buffer sequence's
1583
+ * // get area up to and including the delimiter.
1584
+ * // 0 if an error occurred.
1585
+ * std::size_t bytes_transferred
1586
+ * ); @endcode
1587
+ * Regardless of whether the asynchronous operation completes immediately or
1588
+ * not, the handler will not be invoked from within this function. On
1589
+ * immediate completion, invocation of the handler will be performed in a
1590
+ * manner equivalent to using asio::post().
1591
+ *
1592
+ * @note After a successful async_read_until operation, the dynamic buffer
1593
+ * sequence may contain additional data beyond the delimiter. An application
1594
+ * will typically leave that data in the dynamic buffer sequence for a
1595
+ * subsequent async_read_until operation to examine.
1596
+ *
1597
+ * @par Example
1598
+ * To asynchronously read data into a @c std::string until a newline is
1599
+ * encountered:
1600
+ * @code std::string data;
1601
+ * ...
1602
+ * void handler(const asio::error_code& e, std::size_t size)
1603
+ * {
1604
+ * if (!e)
1605
+ * {
1606
+ * std::string line = data.substr(0, n);
1607
+ * data.erase(0, n);
1608
+ * ...
1609
+ * }
1610
+ * }
1611
+ * ...
1612
+ * asio::async_read_until(s, data, '\n', handler); @endcode
1613
+ * After the @c async_read_until operation completes successfully, the buffer
1614
+ * @c data contains the delimiter:
1615
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
1616
+ * The call to @c substr then extracts the data up to and including the
1617
+ * delimiter, so that the string @c line contains:
1618
+ * @code { 'a', 'b', ..., 'c', '\n' } @endcode
1619
+ * After the call to @c erase, the remaining data is left in the buffer @c data
1620
+ * as follows:
1621
+ * @code { 'd', 'e', ... } @endcode
1622
+ * This data may be the start of a new line, to be extracted by a subsequent
1623
+ * @c async_read_until operation.
1624
+ *
1625
+ * @par Per-Operation Cancellation
1626
+ * This asynchronous operation supports cancellation for the following
1627
+ * asio::cancellation_type values:
1628
+ *
1629
+ * @li @c cancellation_type::terminal
1630
+ *
1631
+ * @li @c cancellation_type::partial
1632
+ *
1633
+ * if they are also supported by the @c AsyncReadStream type's
1634
+ * @c async_read_some operation.
1635
+ */
1636
+ template <typename AsyncReadStream, typename DynamicBuffer_v1,
1637
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1638
+ std::size_t)) ReadHandler
1639
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1640
+ typename AsyncReadStream::executor_type)>
1641
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1642
+ void (asio::error_code, std::size_t))
1643
+ async_read_until(AsyncReadStream& s,
1644
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers, char delim,
1645
+ ASIO_MOVE_ARG(ReadHandler) handler
1646
+ ASIO_DEFAULT_COMPLETION_TOKEN(
1647
+ typename AsyncReadStream::executor_type),
1648
+ typename constraint<
1649
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1650
+ >::type = 0,
1651
+ typename constraint<
1652
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1653
+ >::type = 0);
1654
+
1655
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
1656
+ /// until it contains a specified delimiter.
1657
+ /**
1658
+ * This function is used to asynchronously read data into the specified dynamic
1659
+ * buffer sequence until the dynamic buffer sequence's get area contains the
1660
+ * specified delimiter. The function call always returns immediately. The
1661
+ * asynchronous operation will continue until one of the following conditions
1662
+ * is true:
1663
+ *
1664
+ * @li The get area of the dynamic buffer sequence contains the specified
1665
+ * delimiter.
1666
+ *
1667
+ * @li An error occurred.
1668
+ *
1669
+ * This operation is implemented in terms of zero or more calls to the stream's
1670
+ * async_read_some function, and is known as a <em>composed operation</em>. If
1671
+ * the dynamic buffer sequence's get area already contains the delimiter, this
1672
+ * asynchronous operation completes immediately. The program must ensure that
1673
+ * the stream performs no other read operations (such as async_read,
1674
+ * async_read_until, the stream's async_read_some function, or any other
1675
+ * composed operations that perform reads) until this operation completes.
1676
+ *
1677
+ * @param s The stream from which the data is to be read. The type must support
1678
+ * the AsyncReadStream concept.
1679
+ *
1680
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1681
+ * Although the buffers object may be copied as necessary, ownership of the
1682
+ * underlying memory blocks is retained by the caller, which must guarantee
1683
+ * that they remain valid until the handler is called.
1684
+ *
1685
+ * @param delim The delimiter string.
1686
+ *
1687
+ * @param handler The handler to be called when the read operation completes.
1688
+ * Copies will be made of the handler as required. The function signature of the
1689
+ * handler must be:
1690
+ * @code void handler(
1691
+ * // Result of operation.
1692
+ * const asio::error_code& error,
1693
+ *
1694
+ * // The number of bytes in the dynamic buffer sequence's
1695
+ * // get area up to and including the delimiter.
1696
+ * // 0 if an error occurred.
1697
+ * std::size_t bytes_transferred
1698
+ * ); @endcode
1699
+ * Regardless of whether the asynchronous operation completes immediately or
1700
+ * not, the handler will not be invoked from within this function. On
1701
+ * immediate completion, invocation of the handler will be performed in a
1702
+ * manner equivalent to using asio::post().
1703
+ *
1704
+ * @note After a successful async_read_until operation, the dynamic buffer
1705
+ * sequence may contain additional data beyond the delimiter. An application
1706
+ * will typically leave that data in the dynamic buffer sequence for a
1707
+ * subsequent async_read_until operation to examine.
1708
+ *
1709
+ * @par Example
1710
+ * To asynchronously read data into a @c std::string until a CR-LF sequence is
1711
+ * encountered:
1712
+ * @code std::string data;
1713
+ * ...
1714
+ * void handler(const asio::error_code& e, std::size_t size)
1715
+ * {
1716
+ * if (!e)
1717
+ * {
1718
+ * std::string line = data.substr(0, n);
1719
+ * data.erase(0, n);
1720
+ * ...
1721
+ * }
1722
+ * }
1723
+ * ...
1724
+ * asio::async_read_until(s, data, "\r\n", handler); @endcode
1725
+ * After the @c async_read_until operation completes successfully, the string
1726
+ * @c data contains the delimiter:
1727
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1728
+ * The call to @c substr then extracts the data up to and including the
1729
+ * delimiter, so that the string @c line contains:
1730
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1731
+ * After the call to @c erase, the remaining data is left in the string @c data
1732
+ * as follows:
1733
+ * @code { 'd', 'e', ... } @endcode
1734
+ * This data may be the start of a new line, to be extracted by a subsequent
1735
+ * @c async_read_until operation.
1736
+ *
1737
+ * @par Per-Operation Cancellation
1738
+ * This asynchronous operation supports cancellation for the following
1739
+ * asio::cancellation_type values:
1740
+ *
1741
+ * @li @c cancellation_type::terminal
1742
+ *
1743
+ * @li @c cancellation_type::partial
1744
+ *
1745
+ * if they are also supported by the @c AsyncReadStream type's
1746
+ * @c async_read_some operation.
1747
+ */
1748
+ template <typename AsyncReadStream, typename DynamicBuffer_v1,
1749
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1750
+ std::size_t)) ReadHandler
1751
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1752
+ typename AsyncReadStream::executor_type)>
1753
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1754
+ void (asio::error_code, std::size_t))
1755
+ async_read_until(AsyncReadStream& s,
1756
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1757
+ ASIO_STRING_VIEW_PARAM delim,
1758
+ ASIO_MOVE_ARG(ReadHandler) handler
1759
+ ASIO_DEFAULT_COMPLETION_TOKEN(
1760
+ typename AsyncReadStream::executor_type),
1761
+ typename constraint<
1762
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1763
+ >::type = 0,
1764
+ typename constraint<
1765
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1766
+ >::type = 0);
1767
+
1768
+ #if !defined(ASIO_NO_EXTENSIONS)
1769
+ #if defined(ASIO_HAS_BOOST_REGEX) \
1770
+ || defined(GENERATING_DOCUMENTATION)
1771
+
1772
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
1773
+ /// until some part of its data matches a regular expression.
1774
+ /**
1775
+ * This function is used to asynchronously read data into the specified dynamic
1776
+ * buffer sequence until the dynamic buffer sequence's get area contains some
1777
+ * data that matches a regular expression. The function call always returns
1778
+ * immediately. The asynchronous operation will continue until one of the
1779
+ * following conditions is true:
1780
+ *
1781
+ * @li A substring of the dynamic buffer sequence's get area matches the regular
1782
+ * expression.
1783
+ *
1784
+ * @li An error occurred.
1785
+ *
1786
+ * This operation is implemented in terms of zero or more calls to the stream's
1787
+ * async_read_some function, and is known as a <em>composed operation</em>. If
1788
+ * the dynamic buffer sequence's get area already contains data that matches
1789
+ * the regular expression, this asynchronous operation completes immediately.
1790
+ * The program must ensure that the stream performs no other read operations
1791
+ * (such as async_read, async_read_until, the stream's async_read_some
1792
+ * function, or any other composed operations that perform reads) until this
1793
+ * operation completes.
1794
+ *
1795
+ * @param s The stream from which the data is to be read. The type must support
1796
+ * the AsyncReadStream concept.
1797
+ *
1798
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1799
+ * Although the buffers object may be copied as necessary, ownership of the
1800
+ * underlying memory blocks is retained by the caller, which must guarantee
1801
+ * that they remain valid until the handler is called.
1802
+ *
1803
+ * @param expr The regular expression.
1804
+ *
1805
+ * @param handler The handler to be called when the read operation completes.
1806
+ * Copies will be made of the handler as required. The function signature of the
1807
+ * handler must be:
1808
+ * @code void handler(
1809
+ * // Result of operation.
1810
+ * const asio::error_code& error,
1811
+ *
1812
+ * // The number of bytes in the dynamic buffer
1813
+ * // sequence's get area up to and including the
1814
+ * // substring that matches the regular expression.
1815
+ * // 0 if an error occurred.
1816
+ * std::size_t bytes_transferred
1817
+ * ); @endcode
1818
+ * Regardless of whether the asynchronous operation completes immediately or
1819
+ * not, the handler will not be invoked from within this function. On
1820
+ * immediate completion, invocation of the handler will be performed in a
1821
+ * manner equivalent to using asio::post().
1822
+ *
1823
+ * @note After a successful async_read_until operation, the dynamic buffer
1824
+ * sequence may contain additional data beyond that which matched the regular
1825
+ * expression. An application will typically leave that data in the dynamic
1826
+ * buffer sequence for a subsequent async_read_until operation to examine.
1827
+ *
1828
+ * @par Example
1829
+ * To asynchronously read data into a @c std::string until a CR-LF sequence is
1830
+ * encountered:
1831
+ * @code std::string data;
1832
+ * ...
1833
+ * void handler(const asio::error_code& e, std::size_t size)
1834
+ * {
1835
+ * if (!e)
1836
+ * {
1837
+ * std::string line = data.substr(0, n);
1838
+ * data.erase(0, n);
1839
+ * ...
1840
+ * }
1841
+ * }
1842
+ * ...
1843
+ * asio::async_read_until(s, data,
1844
+ * boost::regex("\r\n"), handler); @endcode
1845
+ * After the @c async_read_until operation completes successfully, the string
1846
+ * @c data contains the data which matched the regular expression:
1847
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1848
+ * The call to @c substr then extracts the data up to and including the match,
1849
+ * so that the string @c line contains:
1850
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1851
+ * After the call to @c erase, the remaining data is left in the string @c data
1852
+ * as follows:
1853
+ * @code { 'd', 'e', ... } @endcode
1854
+ * This data may be the start of a new line, to be extracted by a subsequent
1855
+ * @c async_read_until operation.
1856
+ *
1857
+ * @par Per-Operation Cancellation
1858
+ * This asynchronous operation supports cancellation for the following
1859
+ * asio::cancellation_type values:
1860
+ *
1861
+ * @li @c cancellation_type::terminal
1862
+ *
1863
+ * @li @c cancellation_type::partial
1864
+ *
1865
+ * if they are also supported by the @c AsyncReadStream type's
1866
+ * @c async_read_some operation.
1867
+ */
1868
+ template <typename AsyncReadStream, typename DynamicBuffer_v1,
1869
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1870
+ std::size_t)) ReadHandler
1871
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1872
+ typename AsyncReadStream::executor_type)>
1873
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1874
+ void (asio::error_code, std::size_t))
1875
+ async_read_until(AsyncReadStream& s,
1876
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1877
+ const boost::regex& expr,
1878
+ ASIO_MOVE_ARG(ReadHandler) handler
1879
+ ASIO_DEFAULT_COMPLETION_TOKEN(
1880
+ typename AsyncReadStream::executor_type),
1881
+ typename constraint<
1882
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1883
+ >::type = 0,
1884
+ typename constraint<
1885
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1886
+ >::type = 0);
1887
+
1888
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
1889
+ // || defined(GENERATING_DOCUMENTATION)
1890
+
1891
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
1892
+ /// until a function object indicates a match.
1893
+ /**
1894
+ * This function is used to asynchronously read data into the specified dynamic
1895
+ * buffer sequence until a user-defined match condition function object, when
1896
+ * applied to the data contained in the dynamic buffer sequence, indicates a
1897
+ * successful match. The function call always returns immediately. The
1898
+ * asynchronous operation will continue until one of the following conditions
1899
+ * is true:
1900
+ *
1901
+ * @li The match condition function object returns a std::pair where the second
1902
+ * element evaluates to true.
1903
+ *
1904
+ * @li An error occurred.
1905
+ *
1906
+ * This operation is implemented in terms of zero or more calls to the stream's
1907
+ * async_read_some function, and is known as a <em>composed operation</em>. If
1908
+ * the match condition function object already indicates a match, this
1909
+ * asynchronous operation completes immediately. The program must ensure that
1910
+ * the stream performs no other read operations (such as async_read,
1911
+ * async_read_until, the stream's async_read_some function, or any other
1912
+ * composed operations that perform reads) until this operation completes.
1913
+ *
1914
+ * @param s The stream from which the data is to be read. The type must support
1915
+ * the AsyncReadStream concept.
1916
+ *
1917
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1918
+ * Although the buffers object may be copied as necessary, ownership of the
1919
+ * underlying memory blocks is retained by the caller, which must guarantee
1920
+ * that they remain valid until the handler is called.
1921
+ *
1922
+ * @param match_condition The function object to be called to determine whether
1923
+ * a match exists. The signature of the function object must be:
1924
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1925
+ * @endcode
1926
+ * where @c iterator represents the type:
1927
+ * @code buffers_iterator<typename DynamicBuffer_v1::const_buffers_type>
1928
+ * @endcode
1929
+ * The iterator parameters @c begin and @c end define the range of bytes to be
1930
+ * scanned to determine whether there is a match. The @c first member of the
1931
+ * return value is an iterator marking one-past-the-end of the bytes that have
1932
+ * been consumed by the match function. This iterator is used to calculate the
1933
+ * @c begin parameter for any subsequent invocation of the match condition. The
1934
+ * @c second member of the return value is true if a match has been found, false
1935
+ * otherwise.
1936
+ *
1937
+ * @param handler The handler to be called when the read operation completes.
1938
+ * Copies will be made of the handler as required. The function signature of the
1939
+ * handler must be:
1940
+ * @code void handler(
1941
+ * // Result of operation.
1942
+ * const asio::error_code& error,
1943
+ *
1944
+ * // The number of bytes in the dynamic buffer sequence's
1945
+ * // get area that have been fully consumed by the match
1946
+ * // function. O if an error occurred.
1947
+ * std::size_t bytes_transferred
1948
+ * ); @endcode
1949
+ * Regardless of whether the asynchronous operation completes immediately or
1950
+ * not, the handler will not be invoked from within this function. On
1951
+ * immediate completion, invocation of the handler will be performed in a
1952
+ * manner equivalent to using asio::post().
1953
+ *
1954
+ * @note After a successful async_read_until operation, the dynamic buffer
1955
+ * sequence may contain additional data beyond that which matched the function
1956
+ * object. An application will typically leave that data in the dynamic buffer
1957
+ * sequence for a subsequent async_read_until operation to examine.
1958
+ *
1959
+ * @note The default implementation of the @c is_match_condition type trait
1960
+ * evaluates to true for function pointers and function objects with a
1961
+ * @c result_type typedef. It must be specialised for other user-defined
1962
+ * function objects.
1963
+ *
1964
+ * @par Examples
1965
+ * To asynchronously read data into a @c std::string until whitespace is
1966
+ * encountered:
1967
+ * @code typedef asio::buffers_iterator<
1968
+ * asio::const_buffers_1> iterator;
1969
+ *
1970
+ * std::pair<iterator, bool>
1971
+ * match_whitespace(iterator begin, iterator end)
1972
+ * {
1973
+ * iterator i = begin;
1974
+ * while (i != end)
1975
+ * if (std::isspace(*i++))
1976
+ * return std::make_pair(i, true);
1977
+ * return std::make_pair(i, false);
1978
+ * }
1979
+ * ...
1980
+ * void handler(const asio::error_code& e, std::size_t size);
1981
+ * ...
1982
+ * std::string data;
1983
+ * asio::async_read_until(s, data, match_whitespace, handler);
1984
+ * @endcode
1985
+ *
1986
+ * To asynchronously read data into a @c std::string until a matching character
1987
+ * is found:
1988
+ * @code class match_char
1989
+ * {
1990
+ * public:
1991
+ * explicit match_char(char c) : c_(c) {}
1992
+ *
1993
+ * template <typename Iterator>
1994
+ * std::pair<Iterator, bool> operator()(
1995
+ * Iterator begin, Iterator end) const
1996
+ * {
1997
+ * Iterator i = begin;
1998
+ * while (i != end)
1999
+ * if (c_ == *i++)
2000
+ * return std::make_pair(i, true);
2001
+ * return std::make_pair(i, false);
2002
+ * }
2003
+ *
2004
+ * private:
2005
+ * char c_;
2006
+ * };
2007
+ *
2008
+ * namespace asio {
2009
+ * template <> struct is_match_condition<match_char>
2010
+ * : public boost::true_type {};
2011
+ * } // namespace asio
2012
+ * ...
2013
+ * void handler(const asio::error_code& e, std::size_t size);
2014
+ * ...
2015
+ * std::string data;
2016
+ * asio::async_read_until(s, data, match_char('a'), handler);
2017
+ * @endcode
2018
+ *
2019
+ * @par Per-Operation Cancellation
2020
+ * This asynchronous operation supports cancellation for the following
2021
+ * asio::cancellation_type values:
2022
+ *
2023
+ * @li @c cancellation_type::terminal
2024
+ *
2025
+ * @li @c cancellation_type::partial
2026
+ *
2027
+ * if they are also supported by the @c AsyncReadStream type's
2028
+ * @c async_read_some operation.
2029
+ */
2030
+ template <typename AsyncReadStream,
2031
+ typename DynamicBuffer_v1, typename MatchCondition,
2032
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2033
+ std::size_t)) ReadHandler
2034
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2035
+ typename AsyncReadStream::executor_type)>
2036
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2037
+ void (asio::error_code, std::size_t))
2038
+ async_read_until(AsyncReadStream& s,
2039
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
2040
+ MatchCondition match_condition,
2041
+ ASIO_MOVE_ARG(ReadHandler) handler
2042
+ ASIO_DEFAULT_COMPLETION_TOKEN(
2043
+ typename AsyncReadStream::executor_type),
2044
+ typename constraint<
2045
+ is_match_condition<MatchCondition>::value
2046
+ >::type = 0,
2047
+ typename constraint<
2048
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
2049
+ >::type = 0,
2050
+ typename constraint<
2051
+ !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
2052
+ >::type = 0);
2053
+
2054
+ #if !defined(ASIO_NO_IOSTREAM)
2055
+
2056
+ /// Start an asynchronous operation to read data into a streambuf until it
2057
+ /// contains a specified delimiter.
2058
+ /**
2059
+ * This function is used to asynchronously read data into the specified
2060
+ * streambuf until the streambuf's get area contains the specified delimiter.
2061
+ * The function call always returns immediately. The asynchronous operation
2062
+ * will continue until one of the following conditions is true:
2063
+ *
2064
+ * @li The get area of the streambuf contains the specified delimiter.
2065
+ *
2066
+ * @li An error occurred.
2067
+ *
2068
+ * This operation is implemented in terms of zero or more calls to the stream's
2069
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2070
+ * the streambuf's get area already contains the delimiter, this asynchronous
2071
+ * operation completes immediately. The program must ensure that the stream
2072
+ * performs no other read operations (such as async_read, async_read_until, the
2073
+ * stream's async_read_some function, or any other composed operations that
2074
+ * perform reads) until this operation completes.
2075
+ *
2076
+ * @param s The stream from which the data is to be read. The type must support
2077
+ * the AsyncReadStream concept.
2078
+ *
2079
+ * @param b A streambuf object into which the data will be read. Ownership of
2080
+ * the streambuf is retained by the caller, which must guarantee that it remains
2081
+ * valid until the handler is called.
2082
+ *
2083
+ * @param delim The delimiter character.
2084
+ *
2085
+ * @param handler The handler to be called when the read operation completes.
2086
+ * Copies will be made of the handler as required. The function signature of the
2087
+ * handler must be:
2088
+ * @code void handler(
2089
+ * // Result of operation.
2090
+ * const asio::error_code& error,
2091
+ *
2092
+ * // The number of bytes in the streambuf's get
2093
+ * // area up to and including the delimiter.
2094
+ * // 0 if an error occurred.
2095
+ * std::size_t bytes_transferred
2096
+ * ); @endcode
2097
+ * Regardless of whether the asynchronous operation completes immediately or
2098
+ * not, the handler will not be invoked from within this function. On
2099
+ * immediate completion, invocation of the handler will be performed in a
2100
+ * manner equivalent to using asio::post().
2101
+ *
2102
+ * @note After a successful async_read_until operation, the streambuf may
2103
+ * contain additional data beyond the delimiter. An application will typically
2104
+ * leave that data in the streambuf for a subsequent async_read_until operation
2105
+ * to examine.
2106
+ *
2107
+ * @par Example
2108
+ * To asynchronously read data into a streambuf until a newline is encountered:
2109
+ * @code asio::streambuf b;
2110
+ * ...
2111
+ * void handler(const asio::error_code& e, std::size_t size)
2112
+ * {
2113
+ * if (!e)
2114
+ * {
2115
+ * std::istream is(&b);
2116
+ * std::string line;
2117
+ * std::getline(is, line);
2118
+ * ...
2119
+ * }
2120
+ * }
2121
+ * ...
2122
+ * asio::async_read_until(s, b, '\n', handler); @endcode
2123
+ * After the @c async_read_until operation completes successfully, the buffer
2124
+ * @c b contains the delimiter:
2125
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
2126
+ * The call to @c std::getline then extracts the data up to and including the
2127
+ * newline (which is discarded), so that the string @c line contains:
2128
+ * @code { 'a', 'b', ..., 'c' } @endcode
2129
+ * The remaining data is left in the buffer @c b as follows:
2130
+ * @code { 'd', 'e', ... } @endcode
2131
+ * This data may be the start of a new line, to be extracted by a subsequent
2132
+ * @c async_read_until operation.
2133
+ *
2134
+ * @par Per-Operation Cancellation
2135
+ * This asynchronous operation supports cancellation for the following
2136
+ * asio::cancellation_type values:
2137
+ *
2138
+ * @li @c cancellation_type::terminal
2139
+ *
2140
+ * @li @c cancellation_type::partial
2141
+ *
2142
+ * if they are also supported by the @c AsyncReadStream type's
2143
+ * @c async_read_some operation.
2144
+ */
2145
+ template <typename AsyncReadStream, typename Allocator,
2146
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2147
+ std::size_t)) ReadHandler
2148
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2149
+ typename AsyncReadStream::executor_type)>
2150
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2151
+ void (asio::error_code, std::size_t))
2152
+ async_read_until(AsyncReadStream& s,
2153
+ asio::basic_streambuf<Allocator>& b, char delim,
2154
+ ASIO_MOVE_ARG(ReadHandler) handler
2155
+ ASIO_DEFAULT_COMPLETION_TOKEN(
2156
+ typename AsyncReadStream::executor_type));
2157
+
2158
+ /// Start an asynchronous operation to read data into a streambuf until it
2159
+ /// contains a specified delimiter.
2160
+ /**
2161
+ * This function is used to asynchronously read data into the specified
2162
+ * streambuf until the streambuf's get area contains the specified delimiter.
2163
+ * The function call always returns immediately. The asynchronous operation
2164
+ * will continue until one of the following conditions is true:
2165
+ *
2166
+ * @li The get area of the streambuf contains the specified delimiter.
2167
+ *
2168
+ * @li An error occurred.
2169
+ *
2170
+ * This operation is implemented in terms of zero or more calls to the stream's
2171
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2172
+ * the streambuf's get area already contains the delimiter, this asynchronous
2173
+ * operation completes immediately. The program must ensure that the stream
2174
+ * performs no other read operations (such as async_read, async_read_until, the
2175
+ * stream's async_read_some function, or any other composed operations that
2176
+ * perform reads) until this operation completes.
2177
+ *
2178
+ * @param s The stream from which the data is to be read. The type must support
2179
+ * the AsyncReadStream concept.
2180
+ *
2181
+ * @param b A streambuf object into which the data will be read. Ownership of
2182
+ * the streambuf is retained by the caller, which must guarantee that it remains
2183
+ * valid until the handler is called.
2184
+ *
2185
+ * @param delim The delimiter string.
2186
+ *
2187
+ * @param handler The handler to be called when the read operation completes.
2188
+ * Copies will be made of the handler as required. The function signature of the
2189
+ * handler must be:
2190
+ * @code void handler(
2191
+ * // Result of operation.
2192
+ * const asio::error_code& error,
2193
+ *
2194
+ * // The number of bytes in the streambuf's get
2195
+ * // area up to and including the delimiter.
2196
+ * // 0 if an error occurred.
2197
+ * std::size_t bytes_transferred
2198
+ * ); @endcode
2199
+ * Regardless of whether the asynchronous operation completes immediately or
2200
+ * not, the handler will not be invoked from within this function. On
2201
+ * immediate completion, invocation of the handler will be performed in a
2202
+ * manner equivalent to using asio::post().
2203
+ *
2204
+ * @note After a successful async_read_until operation, the streambuf may
2205
+ * contain additional data beyond the delimiter. An application will typically
2206
+ * leave that data in the streambuf for a subsequent async_read_until operation
2207
+ * to examine.
2208
+ *
2209
+ * @par Example
2210
+ * To asynchronously read data into a streambuf until a newline is encountered:
2211
+ * @code asio::streambuf b;
2212
+ * ...
2213
+ * void handler(const asio::error_code& e, std::size_t size)
2214
+ * {
2215
+ * if (!e)
2216
+ * {
2217
+ * std::istream is(&b);
2218
+ * std::string line;
2219
+ * std::getline(is, line);
2220
+ * ...
2221
+ * }
2222
+ * }
2223
+ * ...
2224
+ * asio::async_read_until(s, b, "\r\n", handler); @endcode
2225
+ * After the @c async_read_until operation completes successfully, the buffer
2226
+ * @c b contains the delimiter:
2227
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2228
+ * The call to @c std::getline then extracts the data up to and including the
2229
+ * newline (which is discarded), so that the string @c line contains:
2230
+ * @code { 'a', 'b', ..., 'c', '\r' } @endcode
2231
+ * The remaining data is left in the buffer @c b as follows:
2232
+ * @code { 'd', 'e', ... } @endcode
2233
+ * This data may be the start of a new line, to be extracted by a subsequent
2234
+ * @c async_read_until operation.
2235
+ *
2236
+ * @par Per-Operation Cancellation
2237
+ * This asynchronous operation supports cancellation for the following
2238
+ * asio::cancellation_type values:
2239
+ *
2240
+ * @li @c cancellation_type::terminal
2241
+ *
2242
+ * @li @c cancellation_type::partial
2243
+ *
2244
+ * if they are also supported by the @c AsyncReadStream type's
2245
+ * @c async_read_some operation.
2246
+ */
2247
+ template <typename AsyncReadStream, typename Allocator,
2248
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2249
+ std::size_t)) ReadHandler
2250
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2251
+ typename AsyncReadStream::executor_type)>
2252
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2253
+ void (asio::error_code, std::size_t))
2254
+ async_read_until(AsyncReadStream& s,
2255
+ asio::basic_streambuf<Allocator>& b,
2256
+ ASIO_STRING_VIEW_PARAM delim,
2257
+ ASIO_MOVE_ARG(ReadHandler) handler
2258
+ ASIO_DEFAULT_COMPLETION_TOKEN(
2259
+ typename AsyncReadStream::executor_type));
2260
+
2261
+ #if defined(ASIO_HAS_BOOST_REGEX) \
2262
+ || defined(GENERATING_DOCUMENTATION)
2263
+
2264
+ /// Start an asynchronous operation to read data into a streambuf until some
2265
+ /// part of its data matches a regular expression.
2266
+ /**
2267
+ * This function is used to asynchronously read data into the specified
2268
+ * streambuf until the streambuf's get area contains some data that matches a
2269
+ * regular expression. The function call always returns immediately. The
2270
+ * asynchronous operation will continue until one of the following conditions
2271
+ * is true:
2272
+ *
2273
+ * @li A substring of the streambuf's get area matches the regular expression.
2274
+ *
2275
+ * @li An error occurred.
2276
+ *
2277
+ * This operation is implemented in terms of zero or more calls to the stream's
2278
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2279
+ * the streambuf's get area already contains data that matches the regular
2280
+ * expression, this asynchronous operation completes immediately. The program
2281
+ * must ensure that the stream performs no other read operations (such as
2282
+ * async_read, async_read_until, the stream's async_read_some function, or any
2283
+ * other composed operations that perform reads) until this operation
2284
+ * completes.
2285
+ *
2286
+ * @param s The stream from which the data is to be read. The type must support
2287
+ * the AsyncReadStream concept.
2288
+ *
2289
+ * @param b A streambuf object into which the data will be read. Ownership of
2290
+ * the streambuf is retained by the caller, which must guarantee that it remains
2291
+ * valid until the handler is called.
2292
+ *
2293
+ * @param expr The regular expression.
2294
+ *
2295
+ * @param handler The handler to be called when the read operation completes.
2296
+ * Copies will be made of the handler as required. The function signature of the
2297
+ * handler must be:
2298
+ * @code void handler(
2299
+ * // Result of operation.
2300
+ * const asio::error_code& error,
2301
+ *
2302
+ * // The number of bytes in the streambuf's get
2303
+ * // area up to and including the substring
2304
+ * // that matches the regular. expression.
2305
+ * // 0 if an error occurred.
2306
+ * std::size_t bytes_transferred
2307
+ * ); @endcode
2308
+ * Regardless of whether the asynchronous operation completes immediately or
2309
+ * not, the handler will not be invoked from within this function. On
2310
+ * immediate completion, invocation of the handler will be performed in a
2311
+ * manner equivalent to using asio::post().
2312
+ *
2313
+ * @note After a successful async_read_until operation, the streambuf may
2314
+ * contain additional data beyond that which matched the regular expression. An
2315
+ * application will typically leave that data in the streambuf for a subsequent
2316
+ * async_read_until operation to examine.
2317
+ *
2318
+ * @par Example
2319
+ * To asynchronously read data into a streambuf until a CR-LF sequence is
2320
+ * encountered:
2321
+ * @code asio::streambuf b;
2322
+ * ...
2323
+ * void handler(const asio::error_code& e, std::size_t size)
2324
+ * {
2325
+ * if (!e)
2326
+ * {
2327
+ * std::istream is(&b);
2328
+ * std::string line;
2329
+ * std::getline(is, line);
2330
+ * ...
2331
+ * }
2332
+ * }
2333
+ * ...
2334
+ * asio::async_read_until(s, b, boost::regex("\r\n"), handler); @endcode
2335
+ * After the @c async_read_until operation completes successfully, the buffer
2336
+ * @c b contains the data which matched the regular expression:
2337
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2338
+ * The call to @c std::getline then extracts the data up to and including the
2339
+ * newline (which is discarded), so that the string @c line contains:
2340
+ * @code { 'a', 'b', ..., 'c', '\r' } @endcode
2341
+ * The remaining data is left in the buffer @c b as follows:
2342
+ * @code { 'd', 'e', ... } @endcode
2343
+ * This data may be the start of a new line, to be extracted by a subsequent
2344
+ * @c async_read_until operation.
2345
+ *
2346
+ * @par Per-Operation Cancellation
2347
+ * This asynchronous operation supports cancellation for the following
2348
+ * asio::cancellation_type values:
2349
+ *
2350
+ * @li @c cancellation_type::terminal
2351
+ *
2352
+ * @li @c cancellation_type::partial
2353
+ *
2354
+ * if they are also supported by the @c AsyncReadStream type's
2355
+ * @c async_read_some operation.
2356
+ */
2357
+ template <typename AsyncReadStream, typename Allocator,
2358
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2359
+ std::size_t)) ReadHandler
2360
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2361
+ typename AsyncReadStream::executor_type)>
2362
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2363
+ void (asio::error_code, std::size_t))
2364
+ async_read_until(AsyncReadStream& s,
2365
+ asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
2366
+ ASIO_MOVE_ARG(ReadHandler) handler
2367
+ ASIO_DEFAULT_COMPLETION_TOKEN(
2368
+ typename AsyncReadStream::executor_type));
2369
+
2370
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
2371
+ // || defined(GENERATING_DOCUMENTATION)
2372
+
2373
+ /// Start an asynchronous operation to read data into a streambuf until a
2374
+ /// function object indicates a match.
2375
+ /**
2376
+ * This function is used to asynchronously read data into the specified
2377
+ * streambuf until a user-defined match condition function object, when applied
2378
+ * to the data contained in the streambuf, indicates a successful match. The
2379
+ * function call always returns immediately. The asynchronous operation will
2380
+ * continue until one of the following conditions is true:
2381
+ *
2382
+ * @li The match condition function object returns a std::pair where the second
2383
+ * element evaluates to true.
2384
+ *
2385
+ * @li An error occurred.
2386
+ *
2387
+ * This operation is implemented in terms of zero or more calls to the stream's
2388
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2389
+ * the match condition function object already indicates a match, this
2390
+ * asynchronous operation completes immediately. The program must ensure that
2391
+ * the stream performs no other read operations (such as async_read,
2392
+ * async_read_until, the stream's async_read_some function, or any other
2393
+ * composed operations that perform reads) until this operation completes.
2394
+ *
2395
+ * @param s The stream from which the data is to be read. The type must support
2396
+ * the AsyncReadStream concept.
2397
+ *
2398
+ * @param b A streambuf object into which the data will be read.
2399
+ *
2400
+ * @param match_condition The function object to be called to determine whether
2401
+ * a match exists. The signature of the function object must be:
2402
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
2403
+ * @endcode
2404
+ * where @c iterator represents the type:
2405
+ * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
2406
+ * @endcode
2407
+ * The iterator parameters @c begin and @c end define the range of bytes to be
2408
+ * scanned to determine whether there is a match. The @c first member of the
2409
+ * return value is an iterator marking one-past-the-end of the bytes that have
2410
+ * been consumed by the match function. This iterator is used to calculate the
2411
+ * @c begin parameter for any subsequent invocation of the match condition. The
2412
+ * @c second member of the return value is true if a match has been found, false
2413
+ * otherwise.
2414
+ *
2415
+ * @param handler The handler to be called when the read operation completes.
2416
+ * Copies will be made of the handler as required. The function signature of the
2417
+ * handler must be:
2418
+ * @code void handler(
2419
+ * // Result of operation.
2420
+ * const asio::error_code& error,
2421
+ *
2422
+ * // The number of bytes in the streambuf's get
2423
+ * // area that have been fully consumed by the
2424
+ * // match function. O if an error occurred.
2425
+ * std::size_t bytes_transferred
2426
+ * ); @endcode
2427
+ * Regardless of whether the asynchronous operation completes immediately or
2428
+ * not, the handler will not be invoked from within this function. On
2429
+ * immediate completion, invocation of the handler will be performed in a
2430
+ * manner equivalent to using asio::post().
2431
+ *
2432
+ * @note After a successful async_read_until operation, the streambuf may
2433
+ * contain additional data beyond that which matched the function object. An
2434
+ * application will typically leave that data in the streambuf for a subsequent
2435
+ * async_read_until operation to examine.
2436
+ *
2437
+ * @note The default implementation of the @c is_match_condition type trait
2438
+ * evaluates to true for function pointers and function objects with a
2439
+ * @c result_type typedef. It must be specialised for other user-defined
2440
+ * function objects.
2441
+ *
2442
+ * @par Examples
2443
+ * To asynchronously read data into a streambuf until whitespace is encountered:
2444
+ * @code typedef asio::buffers_iterator<
2445
+ * asio::streambuf::const_buffers_type> iterator;
2446
+ *
2447
+ * std::pair<iterator, bool>
2448
+ * match_whitespace(iterator begin, iterator end)
2449
+ * {
2450
+ * iterator i = begin;
2451
+ * while (i != end)
2452
+ * if (std::isspace(*i++))
2453
+ * return std::make_pair(i, true);
2454
+ * return std::make_pair(i, false);
2455
+ * }
2456
+ * ...
2457
+ * void handler(const asio::error_code& e, std::size_t size);
2458
+ * ...
2459
+ * asio::streambuf b;
2460
+ * asio::async_read_until(s, b, match_whitespace, handler);
2461
+ * @endcode
2462
+ *
2463
+ * To asynchronously read data into a streambuf until a matching character is
2464
+ * found:
2465
+ * @code class match_char
2466
+ * {
2467
+ * public:
2468
+ * explicit match_char(char c) : c_(c) {}
2469
+ *
2470
+ * template <typename Iterator>
2471
+ * std::pair<Iterator, bool> operator()(
2472
+ * Iterator begin, Iterator end) const
2473
+ * {
2474
+ * Iterator i = begin;
2475
+ * while (i != end)
2476
+ * if (c_ == *i++)
2477
+ * return std::make_pair(i, true);
2478
+ * return std::make_pair(i, false);
2479
+ * }
2480
+ *
2481
+ * private:
2482
+ * char c_;
2483
+ * };
2484
+ *
2485
+ * namespace asio {
2486
+ * template <> struct is_match_condition<match_char>
2487
+ * : public boost::true_type {};
2488
+ * } // namespace asio
2489
+ * ...
2490
+ * void handler(const asio::error_code& e, std::size_t size);
2491
+ * ...
2492
+ * asio::streambuf b;
2493
+ * asio::async_read_until(s, b, match_char('a'), handler);
2494
+ * @endcode
2495
+ *
2496
+ * @par Per-Operation Cancellation
2497
+ * This asynchronous operation supports cancellation for the following
2498
+ * asio::cancellation_type values:
2499
+ *
2500
+ * @li @c cancellation_type::terminal
2501
+ *
2502
+ * @li @c cancellation_type::partial
2503
+ *
2504
+ * if they are also supported by the @c AsyncReadStream type's
2505
+ * @c async_read_some operation.
2506
+ */
2507
+ template <typename AsyncReadStream, typename Allocator, typename MatchCondition,
2508
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2509
+ std::size_t)) ReadHandler
2510
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2511
+ typename AsyncReadStream::executor_type)>
2512
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2513
+ void (asio::error_code, std::size_t))
2514
+ async_read_until(AsyncReadStream& s,
2515
+ asio::basic_streambuf<Allocator>& b,
2516
+ MatchCondition match_condition,
2517
+ ASIO_MOVE_ARG(ReadHandler) handler
2518
+ ASIO_DEFAULT_COMPLETION_TOKEN(
2519
+ typename AsyncReadStream::executor_type),
2520
+ typename constraint<is_match_condition<MatchCondition>::value>::type = 0);
2521
+
2522
+ #endif // !defined(ASIO_NO_IOSTREAM)
2523
+ #endif // !defined(ASIO_NO_EXTENSIONS)
2524
+ #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
2525
+
2526
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
2527
+ /// until it contains a specified delimiter.
2528
+ /**
2529
+ * This function is used to asynchronously read data into the specified dynamic
2530
+ * buffer sequence until the dynamic buffer sequence's get area contains the
2531
+ * specified delimiter. The function call always returns immediately. The
2532
+ * asynchronous operation will continue until one of the following conditions
2533
+ * is true:
2534
+ *
2535
+ * @li The get area of the dynamic buffer sequence contains the specified
2536
+ * delimiter.
2537
+ *
2538
+ * @li An error occurred.
2539
+ *
2540
+ * This operation is implemented in terms of zero or more calls to the stream's
2541
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2542
+ * the dynamic buffer sequence's get area already contains the delimiter, this
2543
+ * asynchronous operation completes immediately. The program must ensure that
2544
+ * the stream performs no other read operations (such as async_read,
2545
+ * async_read_until, the stream's async_read_some function, or any other
2546
+ * composed operations that perform reads) until this operation completes.
2547
+ *
2548
+ * @param s The stream from which the data is to be read. The type must support
2549
+ * the AsyncReadStream concept.
2550
+ *
2551
+ * @param buffers The dynamic buffer sequence into which the data will be read.
2552
+ * Although the buffers object may be copied as necessary, ownership of the
2553
+ * underlying memory blocks is retained by the caller, which must guarantee
2554
+ * that they remain valid until the handler is called.
2555
+ *
2556
+ * @param delim The delimiter character.
2557
+ *
2558
+ * @param handler The handler to be called when the read operation completes.
2559
+ * Copies will be made of the handler as required. The function signature of the
2560
+ * handler must be:
2561
+ * @code void handler(
2562
+ * // Result of operation.
2563
+ * const asio::error_code& error,
2564
+ *
2565
+ * // The number of bytes in the dynamic buffer sequence's
2566
+ * // get area up to and including the delimiter.
2567
+ * // 0 if an error occurred.
2568
+ * std::size_t bytes_transferred
2569
+ * ); @endcode
2570
+ * Regardless of whether the asynchronous operation completes immediately or
2571
+ * not, the handler will not be invoked from within this function. On
2572
+ * immediate completion, invocation of the handler will be performed in a
2573
+ * manner equivalent to using asio::post().
2574
+ *
2575
+ * @note After a successful async_read_until operation, the dynamic buffer
2576
+ * sequence may contain additional data beyond the delimiter. An application
2577
+ * will typically leave that data in the dynamic buffer sequence for a
2578
+ * subsequent async_read_until operation to examine.
2579
+ *
2580
+ * @par Example
2581
+ * To asynchronously read data into a @c std::string until a newline is
2582
+ * encountered:
2583
+ * @code std::string data;
2584
+ * ...
2585
+ * void handler(const asio::error_code& e, std::size_t size)
2586
+ * {
2587
+ * if (!e)
2588
+ * {
2589
+ * std::string line = data.substr(0, n);
2590
+ * data.erase(0, n);
2591
+ * ...
2592
+ * }
2593
+ * }
2594
+ * ...
2595
+ * asio::async_read_until(s, data, '\n', handler); @endcode
2596
+ * After the @c async_read_until operation completes successfully, the buffer
2597
+ * @c data contains the delimiter:
2598
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
2599
+ * The call to @c substr then extracts the data up to and including the
2600
+ * delimiter, so that the string @c line contains:
2601
+ * @code { 'a', 'b', ..., 'c', '\n' } @endcode
2602
+ * After the call to @c erase, the remaining data is left in the buffer @c data
2603
+ * as follows:
2604
+ * @code { 'd', 'e', ... } @endcode
2605
+ * This data may be the start of a new line, to be extracted by a subsequent
2606
+ * @c async_read_until operation.
2607
+ *
2608
+ * @par Per-Operation Cancellation
2609
+ * This asynchronous operation supports cancellation for the following
2610
+ * asio::cancellation_type values:
2611
+ *
2612
+ * @li @c cancellation_type::terminal
2613
+ *
2614
+ * @li @c cancellation_type::partial
2615
+ *
2616
+ * if they are also supported by the @c AsyncReadStream type's
2617
+ * @c async_read_some operation.
2618
+ */
2619
+ template <typename AsyncReadStream, typename DynamicBuffer_v2,
2620
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2621
+ std::size_t)) ReadHandler
2622
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2623
+ typename AsyncReadStream::executor_type)>
2624
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2625
+ void (asio::error_code, std::size_t))
2626
+ async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers, char delim,
2627
+ ASIO_MOVE_ARG(ReadHandler) handler
2628
+ ASIO_DEFAULT_COMPLETION_TOKEN(
2629
+ typename AsyncReadStream::executor_type),
2630
+ typename constraint<
2631
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2632
+ >::type = 0);
2633
+
2634
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
2635
+ /// until it contains a specified delimiter.
2636
+ /**
2637
+ * This function is used to asynchronously read data into the specified dynamic
2638
+ * buffer sequence until the dynamic buffer sequence's get area contains the
2639
+ * specified delimiter. The function call always returns immediately. The
2640
+ * asynchronous operation will continue until one of the following conditions
2641
+ * is true:
2642
+ *
2643
+ * @li The get area of the dynamic buffer sequence contains the specified
2644
+ * delimiter.
2645
+ *
2646
+ * @li An error occurred.
2647
+ *
2648
+ * This operation is implemented in terms of zero or more calls to the stream's
2649
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2650
+ * the dynamic buffer sequence's get area already contains the delimiter, this
2651
+ * asynchronous operation completes immediately. The program must ensure that
2652
+ * the stream performs no other read operations (such as async_read,
2653
+ * async_read_until, the stream's async_read_some function, or any other
2654
+ * composed operations that perform reads) until this operation completes.
2655
+ *
2656
+ * @param s The stream from which the data is to be read. The type must support
2657
+ * the AsyncReadStream concept.
2658
+ *
2659
+ * @param buffers The dynamic buffer sequence into which the data will be read.
2660
+ * Although the buffers object may be copied as necessary, ownership of the
2661
+ * underlying memory blocks is retained by the caller, which must guarantee
2662
+ * that they remain valid until the handler is called.
2663
+ *
2664
+ * @param delim The delimiter string.
2665
+ *
2666
+ * @param handler The handler to be called when the read operation completes.
2667
+ * Copies will be made of the handler as required. The function signature of the
2668
+ * handler must be:
2669
+ * @code void handler(
2670
+ * // Result of operation.
2671
+ * const asio::error_code& error,
2672
+ *
2673
+ * // The number of bytes in the dynamic buffer sequence's
2674
+ * // get area up to and including the delimiter.
2675
+ * // 0 if an error occurred.
2676
+ * std::size_t bytes_transferred
2677
+ * ); @endcode
2678
+ * Regardless of whether the asynchronous operation completes immediately or
2679
+ * not, the handler will not be invoked from within this function. On
2680
+ * immediate completion, invocation of the handler will be performed in a
2681
+ * manner equivalent to using asio::post().
2682
+ *
2683
+ * @note After a successful async_read_until operation, the dynamic buffer
2684
+ * sequence may contain additional data beyond the delimiter. An application
2685
+ * will typically leave that data in the dynamic buffer sequence for a
2686
+ * subsequent async_read_until operation to examine.
2687
+ *
2688
+ * @par Example
2689
+ * To asynchronously read data into a @c std::string until a CR-LF sequence is
2690
+ * encountered:
2691
+ * @code std::string data;
2692
+ * ...
2693
+ * void handler(const asio::error_code& e, std::size_t size)
2694
+ * {
2695
+ * if (!e)
2696
+ * {
2697
+ * std::string line = data.substr(0, n);
2698
+ * data.erase(0, n);
2699
+ * ...
2700
+ * }
2701
+ * }
2702
+ * ...
2703
+ * asio::async_read_until(s, data, "\r\n", handler); @endcode
2704
+ * After the @c async_read_until operation completes successfully, the string
2705
+ * @c data contains the delimiter:
2706
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2707
+ * The call to @c substr then extracts the data up to and including the
2708
+ * delimiter, so that the string @c line contains:
2709
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
2710
+ * After the call to @c erase, the remaining data is left in the string @c data
2711
+ * as follows:
2712
+ * @code { 'd', 'e', ... } @endcode
2713
+ * This data may be the start of a new line, to be extracted by a subsequent
2714
+ * @c async_read_until operation.
2715
+ *
2716
+ * @par Per-Operation Cancellation
2717
+ * This asynchronous operation supports cancellation for the following
2718
+ * asio::cancellation_type values:
2719
+ *
2720
+ * @li @c cancellation_type::terminal
2721
+ *
2722
+ * @li @c cancellation_type::partial
2723
+ *
2724
+ * if they are also supported by the @c AsyncReadStream type's
2725
+ * @c async_read_some operation.
2726
+ */
2727
+ template <typename AsyncReadStream, typename DynamicBuffer_v2,
2728
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2729
+ std::size_t)) ReadHandler
2730
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2731
+ typename AsyncReadStream::executor_type)>
2732
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2733
+ void (asio::error_code, std::size_t))
2734
+ async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2735
+ ASIO_STRING_VIEW_PARAM delim,
2736
+ ASIO_MOVE_ARG(ReadHandler) handler
2737
+ ASIO_DEFAULT_COMPLETION_TOKEN(
2738
+ typename AsyncReadStream::executor_type),
2739
+ typename constraint<
2740
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2741
+ >::type = 0);
2742
+
2743
+ #if !defined(ASIO_NO_EXTENSIONS)
2744
+ #if defined(ASIO_HAS_BOOST_REGEX) \
2745
+ || defined(GENERATING_DOCUMENTATION)
2746
+
2747
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
2748
+ /// until some part of its data matches a regular expression.
2749
+ /**
2750
+ * This function is used to asynchronously read data into the specified dynamic
2751
+ * buffer sequence until the dynamic buffer sequence's get area contains some
2752
+ * data that matches a regular expression. The function call always returns
2753
+ * immediately. The asynchronous operation will continue until one of the
2754
+ * following conditions is true:
2755
+ *
2756
+ * @li A substring of the dynamic buffer sequence's get area matches the regular
2757
+ * expression.
2758
+ *
2759
+ * @li An error occurred.
2760
+ *
2761
+ * This operation is implemented in terms of zero or more calls to the stream's
2762
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2763
+ * the dynamic buffer sequence's get area already contains data that matches
2764
+ * the regular expression, this asynchronous operation completes immediately.
2765
+ * The program must ensure that the stream performs no other read operations
2766
+ * (such as async_read, async_read_until, the stream's async_read_some
2767
+ * function, or any other composed operations that perform reads) until this
2768
+ * operation completes.
2769
+ *
2770
+ * @param s The stream from which the data is to be read. The type must support
2771
+ * the AsyncReadStream concept.
2772
+ *
2773
+ * @param buffers The dynamic buffer sequence into which the data will be read.
2774
+ * Although the buffers object may be copied as necessary, ownership of the
2775
+ * underlying memory blocks is retained by the caller, which must guarantee
2776
+ * that they remain valid until the handler is called.
2777
+ *
2778
+ * @param expr The regular expression.
2779
+ *
2780
+ * @param handler The handler to be called when the read operation completes.
2781
+ * Copies will be made of the handler as required. The function signature of the
2782
+ * handler must be:
2783
+ * @code void handler(
2784
+ * // Result of operation.
2785
+ * const asio::error_code& error,
2786
+ *
2787
+ * // The number of bytes in the dynamic buffer
2788
+ * // sequence's get area up to and including the
2789
+ * // substring that matches the regular expression.
2790
+ * // 0 if an error occurred.
2791
+ * std::size_t bytes_transferred
2792
+ * ); @endcode
2793
+ * Regardless of whether the asynchronous operation completes immediately or
2794
+ * not, the handler will not be invoked from within this function. On
2795
+ * immediate completion, invocation of the handler will be performed in a
2796
+ * manner equivalent to using asio::post().
2797
+ *
2798
+ * @note After a successful async_read_until operation, the dynamic buffer
2799
+ * sequence may contain additional data beyond that which matched the regular
2800
+ * expression. An application will typically leave that data in the dynamic
2801
+ * buffer sequence for a subsequent async_read_until operation to examine.
2802
+ *
2803
+ * @par Example
2804
+ * To asynchronously read data into a @c std::string until a CR-LF sequence is
2805
+ * encountered:
2806
+ * @code std::string data;
2807
+ * ...
2808
+ * void handler(const asio::error_code& e, std::size_t size)
2809
+ * {
2810
+ * if (!e)
2811
+ * {
2812
+ * std::string line = data.substr(0, n);
2813
+ * data.erase(0, n);
2814
+ * ...
2815
+ * }
2816
+ * }
2817
+ * ...
2818
+ * asio::async_read_until(s, data,
2819
+ * boost::regex("\r\n"), handler); @endcode
2820
+ * After the @c async_read_until operation completes successfully, the string
2821
+ * @c data contains the data which matched the regular expression:
2822
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2823
+ * The call to @c substr then extracts the data up to and including the match,
2824
+ * so that the string @c line contains:
2825
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
2826
+ * After the call to @c erase, the remaining data is left in the string @c data
2827
+ * as follows:
2828
+ * @code { 'd', 'e', ... } @endcode
2829
+ * This data may be the start of a new line, to be extracted by a subsequent
2830
+ * @c async_read_until operation.
2831
+ *
2832
+ * @par Per-Operation Cancellation
2833
+ * This asynchronous operation supports cancellation for the following
2834
+ * asio::cancellation_type values:
2835
+ *
2836
+ * @li @c cancellation_type::terminal
2837
+ *
2838
+ * @li @c cancellation_type::partial
2839
+ *
2840
+ * if they are also supported by the @c AsyncReadStream type's
2841
+ * @c async_read_some operation.
2842
+ */
2843
+ template <typename AsyncReadStream, typename DynamicBuffer_v2,
2844
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2845
+ std::size_t)) ReadHandler
2846
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2847
+ typename AsyncReadStream::executor_type)>
2848
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2849
+ void (asio::error_code, std::size_t))
2850
+ async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2851
+ const boost::regex& expr,
2852
+ ASIO_MOVE_ARG(ReadHandler) handler
2853
+ ASIO_DEFAULT_COMPLETION_TOKEN(
2854
+ typename AsyncReadStream::executor_type),
2855
+ typename constraint<
2856
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2857
+ >::type = 0);
2858
+
2859
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
2860
+ // || defined(GENERATING_DOCUMENTATION)
2861
+
2862
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
2863
+ /// until a function object indicates a match.
2864
+ /**
2865
+ * This function is used to asynchronously read data into the specified dynamic
2866
+ * buffer sequence until a user-defined match condition function object, when
2867
+ * applied to the data contained in the dynamic buffer sequence, indicates a
2868
+ * successful match. The function call always returns immediately. The
2869
+ * asynchronous operation will continue until one of the following conditions
2870
+ * is true:
2871
+ *
2872
+ * @li The match condition function object returns a std::pair where the second
2873
+ * element evaluates to true.
2874
+ *
2875
+ * @li An error occurred.
2876
+ *
2877
+ * This operation is implemented in terms of zero or more calls to the stream's
2878
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2879
+ * the match condition function object already indicates a match, this
2880
+ * asynchronous operation completes immediately. The program must ensure that
2881
+ * the stream performs no other read operations (such as async_read,
2882
+ * async_read_until, the stream's async_read_some function, or any other
2883
+ * composed operations that perform reads) until this operation completes.
2884
+ *
2885
+ * @param s The stream from which the data is to be read. The type must support
2886
+ * the AsyncReadStream concept.
2887
+ *
2888
+ * @param buffers The dynamic buffer sequence into which the data will be read.
2889
+ * Although the buffers object may be copied as necessary, ownership of the
2890
+ * underlying memory blocks is retained by the caller, which must guarantee
2891
+ * that they remain valid until the handler is called.
2892
+ *
2893
+ * @param match_condition The function object to be called to determine whether
2894
+ * a match exists. The signature of the function object must be:
2895
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
2896
+ * @endcode
2897
+ * where @c iterator represents the type:
2898
+ * @code buffers_iterator<typename DynamicBuffer_v2::const_buffers_type>
2899
+ * @endcode
2900
+ * The iterator parameters @c begin and @c end define the range of bytes to be
2901
+ * scanned to determine whether there is a match. The @c first member of the
2902
+ * return value is an iterator marking one-past-the-end of the bytes that have
2903
+ * been consumed by the match function. This iterator is used to calculate the
2904
+ * @c begin parameter for any subsequent invocation of the match condition. The
2905
+ * @c second member of the return value is true if a match has been found, false
2906
+ * otherwise.
2907
+ *
2908
+ * @param handler The handler to be called when the read operation completes.
2909
+ * Copies will be made of the handler as required. The function signature of the
2910
+ * handler must be:
2911
+ * @code void handler(
2912
+ * // Result of operation.
2913
+ * const asio::error_code& error,
2914
+ *
2915
+ * // The number of bytes in the dynamic buffer sequence's
2916
+ * // get area that have been fully consumed by the match
2917
+ * // function. O if an error occurred.
2918
+ * std::size_t bytes_transferred
2919
+ * ); @endcode
2920
+ * Regardless of whether the asynchronous operation completes immediately or
2921
+ * not, the handler will not be invoked from within this function. On
2922
+ * immediate completion, invocation of the handler will be performed in a
2923
+ * manner equivalent to using asio::post().
2924
+ *
2925
+ * @note After a successful async_read_until operation, the dynamic buffer
2926
+ * sequence may contain additional data beyond that which matched the function
2927
+ * object. An application will typically leave that data in the dynamic buffer
2928
+ * sequence for a subsequent async_read_until operation to examine.
2929
+ *
2930
+ * @note The default implementation of the @c is_match_condition type trait
2931
+ * evaluates to true for function pointers and function objects with a
2932
+ * @c result_type typedef. It must be specialised for other user-defined
2933
+ * function objects.
2934
+ *
2935
+ * @par Examples
2936
+ * To asynchronously read data into a @c std::string until whitespace is
2937
+ * encountered:
2938
+ * @code typedef asio::buffers_iterator<
2939
+ * asio::const_buffers_1> iterator;
2940
+ *
2941
+ * std::pair<iterator, bool>
2942
+ * match_whitespace(iterator begin, iterator end)
2943
+ * {
2944
+ * iterator i = begin;
2945
+ * while (i != end)
2946
+ * if (std::isspace(*i++))
2947
+ * return std::make_pair(i, true);
2948
+ * return std::make_pair(i, false);
2949
+ * }
2950
+ * ...
2951
+ * void handler(const asio::error_code& e, std::size_t size);
2952
+ * ...
2953
+ * std::string data;
2954
+ * asio::async_read_until(s, data, match_whitespace, handler);
2955
+ * @endcode
2956
+ *
2957
+ * To asynchronously read data into a @c std::string until a matching character
2958
+ * is found:
2959
+ * @code class match_char
2960
+ * {
2961
+ * public:
2962
+ * explicit match_char(char c) : c_(c) {}
2963
+ *
2964
+ * template <typename Iterator>
2965
+ * std::pair<Iterator, bool> operator()(
2966
+ * Iterator begin, Iterator end) const
2967
+ * {
2968
+ * Iterator i = begin;
2969
+ * while (i != end)
2970
+ * if (c_ == *i++)
2971
+ * return std::make_pair(i, true);
2972
+ * return std::make_pair(i, false);
2973
+ * }
2974
+ *
2975
+ * private:
2976
+ * char c_;
2977
+ * };
2978
+ *
2979
+ * namespace asio {
2980
+ * template <> struct is_match_condition<match_char>
2981
+ * : public boost::true_type {};
2982
+ * } // namespace asio
2983
+ * ...
2984
+ * void handler(const asio::error_code& e, std::size_t size);
2985
+ * ...
2986
+ * std::string data;
2987
+ * asio::async_read_until(s, data, match_char('a'), handler);
2988
+ * @endcode
2989
+ *
2990
+ * @par Per-Operation Cancellation
2991
+ * This asynchronous operation supports cancellation for the following
2992
+ * asio::cancellation_type values:
2993
+ *
2994
+ * @li @c cancellation_type::terminal
2995
+ *
2996
+ * @li @c cancellation_type::partial
2997
+ *
2998
+ * if they are also supported by the @c AsyncReadStream type's
2999
+ * @c async_read_some operation.
3000
+ */
3001
+ template <typename AsyncReadStream,
3002
+ typename DynamicBuffer_v2, typename MatchCondition,
3003
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
3004
+ std::size_t)) ReadHandler
3005
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
3006
+ typename AsyncReadStream::executor_type)>
3007
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
3008
+ void (asio::error_code, std::size_t))
3009
+ async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
3010
+ MatchCondition match_condition,
3011
+ ASIO_MOVE_ARG(ReadHandler) handler
3012
+ ASIO_DEFAULT_COMPLETION_TOKEN(
3013
+ typename AsyncReadStream::executor_type),
3014
+ typename constraint<
3015
+ is_match_condition<MatchCondition>::value
3016
+ >::type = 0,
3017
+ typename constraint<
3018
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
3019
+ >::type = 0);
3020
+
3021
+ #endif // !defined(ASIO_NO_EXTENSIONS)
3022
+
3023
+ /*@}*/
3024
+
3025
+ } // namespace asio
3026
+
3027
+ #include "asio/detail/pop_options.hpp"
3028
+
3029
+ #include "asio/impl/read_until.hpp"
3030
+
3031
+ #endif // ASIO_READ_UNTIL_HPP