couchbase 3.0.0.alpha.4-universal-darwin-19 → 3.0.2-universal-darwin-19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +76 -5
  3. data/ext/extconf.rb +0 -47
  4. data/lib/couchbase.rb +1 -1
  5. data/lib/couchbase/analytics_options.rb +1 -59
  6. data/lib/couchbase/authenticator.rb +14 -0
  7. data/lib/couchbase/binary_collection.rb +61 -23
  8. data/lib/couchbase/binary_collection_options.rb +0 -74
  9. data/lib/couchbase/bucket.rb +47 -40
  10. data/lib/couchbase/cluster.rb +226 -133
  11. data/lib/couchbase/collection.rb +314 -86
  12. data/lib/couchbase/collection_options.rb +98 -231
  13. data/{bin/console → lib/couchbase/datastructures.rb} +4 -7
  14. data/lib/couchbase/datastructures/couchbase_list.rb +160 -0
  15. data/lib/couchbase/datastructures/couchbase_map.rb +194 -0
  16. data/lib/couchbase/datastructures/couchbase_queue.rb +134 -0
  17. data/lib/couchbase/datastructures/couchbase_set.rb +128 -0
  18. data/lib/couchbase/diagnostics.rb +181 -0
  19. data/lib/couchbase/errors.rb +79 -66
  20. data/lib/couchbase/json_transcoder.rb +3 -3
  21. data/lib/couchbase/libcouchbase.bundle +0 -0
  22. data/lib/couchbase/{common_options.rb → logger.rb} +25 -12
  23. data/lib/couchbase/management/analytics_index_manager.rb +37 -37
  24. data/lib/couchbase/management/bucket_manager.rb +61 -28
  25. data/lib/couchbase/management/collection_manager.rb +3 -3
  26. data/lib/couchbase/management/query_index_manager.rb +60 -15
  27. data/lib/couchbase/management/search_index_manager.rb +57 -13
  28. data/lib/couchbase/management/user_manager.rb +160 -50
  29. data/lib/couchbase/management/view_index_manager.rb +11 -5
  30. data/lib/couchbase/mutation_state.rb +13 -0
  31. data/lib/couchbase/options.rb +2094 -0
  32. data/lib/couchbase/query_options.rb +6 -105
  33. data/lib/couchbase/scope.rb +45 -8
  34. data/lib/couchbase/search_options.rb +98 -103
  35. data/lib/couchbase/subdoc.rb +87 -23
  36. data/lib/couchbase/version.rb +21 -2
  37. data/lib/couchbase/view_options.rb +4 -94
  38. metadata +19 -2150
  39. data/.github/workflows/tests-6.0.3.yml +0 -52
  40. data/.github/workflows/tests-dev-preview.yml +0 -55
  41. data/.github/workflows/tests.yml +0 -50
  42. data/.gitignore +0 -20
  43. data/.gitmodules +0 -21
  44. data/.idea/.gitignore +0 -5
  45. data/.idea/dictionaries/gem_terms.xml +0 -18
  46. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  47. data/.idea/vcs.xml +0 -13
  48. data/.yardopts +0 -1
  49. data/Gemfile +0 -24
  50. data/Rakefile +0 -51
  51. data/bin/check-cluster +0 -31
  52. data/bin/init-cluster +0 -82
  53. data/bin/setup +0 -24
  54. data/couchbase.gemspec +0 -47
  55. data/examples/analytics.rb +0 -221
  56. data/examples/crud.rb +0 -20
  57. data/examples/managing_analytics_indexes.rb +0 -72
  58. data/examples/managing_buckets.rb +0 -47
  59. data/examples/managing_collections.rb +0 -58
  60. data/examples/managing_query_indexes.rb +0 -63
  61. data/examples/managing_search_indexes.rb +0 -62
  62. data/examples/managing_view_indexes.rb +0 -54
  63. data/examples/query.rb +0 -18
  64. data/examples/query_with_consistency.rb +0 -76
  65. data/examples/search.rb +0 -187
  66. data/examples/search_with_consistency.rb +0 -84
  67. data/examples/subdocument.rb +0 -51
  68. data/examples/view.rb +0 -50
  69. data/ext/.clang-format +0 -15
  70. data/ext/.clang-tidy +0 -22
  71. data/ext/.cmake-format.yaml +0 -8
  72. data/ext/.gitignore +0 -2
  73. data/ext/.idea/.name +0 -1
  74. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  75. data/ext/.idea/ext.iml +0 -2
  76. data/ext/.idea/misc.xml +0 -4
  77. data/ext/.idea/modules.xml +0 -8
  78. data/ext/.idea/vcs.xml +0 -12
  79. data/ext/CMakeLists.txt +0 -163
  80. data/ext/LICENSE.txt +0 -202
  81. data/ext/build_version.hxx.in +0 -26
  82. data/ext/couchbase/bucket.hxx +0 -95
  83. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  84. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  85. data/ext/couchbase/cbsasl/client.cc +0 -48
  86. data/ext/couchbase/cbsasl/client.h +0 -127
  87. data/ext/couchbase/cbsasl/context.cc +0 -33
  88. data/ext/couchbase/cbsasl/context.h +0 -52
  89. data/ext/couchbase/cbsasl/error.h +0 -72
  90. data/ext/couchbase/cbsasl/mechanism.cc +0 -48
  91. data/ext/couchbase/cbsasl/mechanism.h +0 -55
  92. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  93. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  94. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -390
  95. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  96. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  97. data/ext/couchbase/cbsasl/scram-sha/stringutils.h +0 -48
  98. data/ext/couchbase/cluster.hxx +0 -175
  99. data/ext/couchbase/collections_manifest.hxx +0 -88
  100. data/ext/couchbase/configuration.hxx +0 -256
  101. data/ext/couchbase/configuration_monitor.hxx +0 -93
  102. data/ext/couchbase/couchbase.cxx +0 -5336
  103. data/ext/couchbase/document_id.hxx +0 -38
  104. data/ext/couchbase/error_map.hxx +0 -61
  105. data/ext/couchbase/errors.hxx +0 -691
  106. data/ext/couchbase/io/dns_client.hxx +0 -215
  107. data/ext/couchbase/io/dns_codec.hxx +0 -207
  108. data/ext/couchbase/io/dns_config.hxx +0 -116
  109. data/ext/couchbase/io/dns_message.hxx +0 -558
  110. data/ext/couchbase/io/http_message.hxx +0 -38
  111. data/ext/couchbase/io/http_parser.hxx +0 -174
  112. data/ext/couchbase/io/http_session.hxx +0 -316
  113. data/ext/couchbase/io/mcbp_message.hxx +0 -41
  114. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  115. data/ext/couchbase/io/mcbp_session.hxx +0 -889
  116. data/ext/couchbase/io/session_manager.hxx +0 -127
  117. data/ext/couchbase/mutation_token.hxx +0 -38
  118. data/ext/couchbase/operations.hxx +0 -91
  119. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -117
  120. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -103
  121. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -107
  122. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -104
  123. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -104
  124. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -91
  125. data/ext/couchbase/operations/analytics_index_create.hxx +0 -128
  126. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -110
  127. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -106
  128. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -102
  129. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -101
  130. data/ext/couchbase/operations/bucket_create.hxx +0 -139
  131. data/ext/couchbase/operations/bucket_drop.hxx +0 -66
  132. data/ext/couchbase/operations/bucket_flush.hxx +0 -66
  133. data/ext/couchbase/operations/bucket_get.hxx +0 -70
  134. data/ext/couchbase/operations/bucket_get_all.hxx +0 -63
  135. data/ext/couchbase/operations/bucket_settings.hxx +0 -111
  136. data/ext/couchbase/operations/bucket_update.hxx +0 -116
  137. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -61
  138. data/ext/couchbase/operations/collection_create.hxx +0 -91
  139. data/ext/couchbase/operations/collection_drop.hxx +0 -83
  140. data/ext/couchbase/operations/command.hxx +0 -152
  141. data/ext/couchbase/operations/design_document.hxx +0 -59
  142. data/ext/couchbase/operations/document_analytics.hxx +0 -293
  143. data/ext/couchbase/operations/document_decrement.hxx +0 -81
  144. data/ext/couchbase/operations/document_exists.hxx +0 -81
  145. data/ext/couchbase/operations/document_get.hxx +0 -63
  146. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -65
  147. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -65
  148. data/ext/couchbase/operations/document_get_projected.hxx +0 -243
  149. data/ext/couchbase/operations/document_increment.hxx +0 -83
  150. data/ext/couchbase/operations/document_insert.hxx +0 -75
  151. data/ext/couchbase/operations/document_lookup_in.hxx +0 -86
  152. data/ext/couchbase/operations/document_mutate_in.hxx +0 -97
  153. data/ext/couchbase/operations/document_query.hxx +0 -336
  154. data/ext/couchbase/operations/document_remove.hxx +0 -68
  155. data/ext/couchbase/operations/document_replace.hxx +0 -77
  156. data/ext/couchbase/operations/document_search.hxx +0 -355
  157. data/ext/couchbase/operations/document_touch.hxx +0 -61
  158. data/ext/couchbase/operations/document_unlock.hxx +0 -61
  159. data/ext/couchbase/operations/document_upsert.hxx +0 -75
  160. data/ext/couchbase/operations/document_view.hxx +0 -227
  161. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -86
  162. data/ext/couchbase/operations/query_index_create.hxx +0 -135
  163. data/ext/couchbase/operations/query_index_drop.hxx +0 -109
  164. data/ext/couchbase/operations/query_index_get_all.hxx +0 -107
  165. data/ext/couchbase/operations/scope_create.hxx +0 -82
  166. data/ext/couchbase/operations/scope_drop.hxx +0 -80
  167. data/ext/couchbase/operations/scope_get_all.hxx +0 -74
  168. data/ext/couchbase/operations/search_index.hxx +0 -79
  169. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -92
  170. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -80
  171. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -80
  172. data/ext/couchbase/operations/search_index_control_query.hxx +0 -80
  173. data/ext/couchbase/operations/search_index_drop.hxx +0 -77
  174. data/ext/couchbase/operations/search_index_get.hxx +0 -80
  175. data/ext/couchbase/operations/search_index_get_all.hxx +0 -82
  176. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -81
  177. data/ext/couchbase/operations/search_index_upsert.hxx +0 -106
  178. data/ext/couchbase/operations/view_index_drop.hxx +0 -67
  179. data/ext/couchbase/operations/view_index_get.hxx +0 -90
  180. data/ext/couchbase/operations/view_index_get_all.hxx +0 -125
  181. data/ext/couchbase/operations/view_index_upsert.hxx +0 -87
  182. data/ext/couchbase/platform/base64.cc +0 -234
  183. data/ext/couchbase/platform/base64.h +0 -47
  184. data/ext/couchbase/platform/random.cc +0 -119
  185. data/ext/couchbase/platform/random.h +0 -39
  186. data/ext/couchbase/platform/string_hex.cc +0 -99
  187. data/ext/couchbase/platform/string_hex.h +0 -50
  188. data/ext/couchbase/platform/uuid.cc +0 -96
  189. data/ext/couchbase/platform/uuid.h +0 -56
  190. data/ext/couchbase/protocol/client_opcode.hxx +0 -260
  191. data/ext/couchbase/protocol/client_request.hxx +0 -160
  192. data/ext/couchbase/protocol/client_response.hxx +0 -218
  193. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -81
  194. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -187
  195. data/ext/couchbase/protocol/cmd_exists.hxx +0 -171
  196. data/ext/couchbase/protocol/cmd_get.hxx +0 -122
  197. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -142
  198. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -142
  199. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -124
  200. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -117
  201. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -99
  202. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -126
  203. data/ext/couchbase/protocol/cmd_hello.hxx +0 -146
  204. data/ext/couchbase/protocol/cmd_increment.hxx +0 -187
  205. data/ext/couchbase/protocol/cmd_info.hxx +0 -36
  206. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  207. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -218
  208. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -317
  209. data/ext/couchbase/protocol/cmd_remove.hxx +0 -134
  210. data/ext/couchbase/protocol/cmd_replace.hxx +0 -172
  211. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -106
  212. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -100
  213. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -104
  214. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -85
  215. data/ext/couchbase/protocol/cmd_touch.hxx +0 -102
  216. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -95
  217. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -172
  218. data/ext/couchbase/protocol/datatype.hxx +0 -48
  219. data/ext/couchbase/protocol/durability_level.hxx +0 -67
  220. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  221. data/ext/couchbase/protocol/hello_feature.hxx +0 -255
  222. data/ext/couchbase/protocol/magic.hxx +0 -83
  223. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  224. data/ext/couchbase/protocol/server_request.hxx +0 -122
  225. data/ext/couchbase/protocol/status.hxx +0 -333
  226. data/ext/couchbase/protocol/unsigned_leb128.h +0 -195
  227. data/ext/couchbase/service_type.hxx +0 -60
  228. data/ext/couchbase/timeout_defaults.hxx +0 -34
  229. data/ext/couchbase/utils/byteswap.hxx +0 -33
  230. data/ext/couchbase/utils/connection_string.hxx +0 -231
  231. data/ext/couchbase/utils/crc32.hxx +0 -48
  232. data/ext/couchbase/utils/url_codec.hxx +0 -225
  233. data/ext/couchbase/version.hxx +0 -24
  234. data/ext/test/main.cxx +0 -58
  235. data/ext/third_party/asio/.appveyor.yml +0 -107
  236. data/ext/third_party/asio/.cirrus.yml +0 -16
  237. data/ext/third_party/asio/.gitignore +0 -3
  238. data/ext/third_party/asio/.travis.yml +0 -323
  239. data/ext/third_party/asio/asio/.gitignore +0 -23
  240. data/ext/third_party/asio/asio/COPYING +0 -4
  241. data/ext/third_party/asio/asio/INSTALL +0 -5
  242. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  243. data/ext/third_party/asio/asio/Makefile.am +0 -19
  244. data/ext/third_party/asio/asio/README +0 -4
  245. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  246. data/ext/third_party/asio/asio/autogen.sh +0 -55
  247. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  248. data/ext/third_party/asio/asio/boostify.pl +0 -603
  249. data/ext/third_party/asio/asio/configure.ac +0 -182
  250. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  251. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  252. data/ext/third_party/asio/asio/include/asio.hpp +0 -147
  253. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -131
  254. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -149
  255. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -589
  256. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -123
  257. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1210
  258. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  259. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  260. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1202
  261. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -756
  262. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  263. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  264. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  265. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2495
  266. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  267. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  268. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1049
  269. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  270. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  271. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -763
  272. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -580
  273. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2494
  274. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  275. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  276. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  277. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  278. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  279. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  280. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  281. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -100
  282. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  283. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  284. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  285. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  286. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  287. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -127
  288. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -62
  289. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  290. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  291. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  292. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -45
  293. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  294. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -816
  295. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  296. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -544
  297. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  298. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  299. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  300. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  301. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -83
  302. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  303. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -112
  304. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  305. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1499
  306. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  307. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  308. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  309. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  310. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -280
  311. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  312. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -121
  313. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -130
  314. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -130
  315. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  316. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  317. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  318. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  319. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -104
  320. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  321. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  322. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  323. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  324. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  325. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  326. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  327. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  328. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  329. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  330. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -242
  331. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  332. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -57
  333. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -238
  334. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  335. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -113
  336. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  337. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  338. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -474
  339. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  340. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  341. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  342. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  343. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  344. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -358
  345. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  346. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  347. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  348. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  349. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  350. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  351. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  352. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  353. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  354. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -152
  355. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  356. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  357. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -617
  358. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  359. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  360. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  361. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  362. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -667
  363. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3575
  364. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  365. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -179
  366. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  367. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -118
  368. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -177
  369. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  370. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  371. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  372. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  373. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  374. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  375. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -594
  376. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  377. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  378. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  379. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  380. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  381. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  382. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  383. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  384. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  385. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  386. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  387. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  388. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  389. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -193
  390. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  391. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  392. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  393. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  394. data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +0 -26
  395. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  396. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  397. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -70
  398. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  399. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  400. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  401. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -100
  402. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  403. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  404. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  405. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  406. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  407. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  408. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  409. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  410. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  411. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  412. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  413. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  414. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  415. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  416. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  417. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -162
  418. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  419. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  420. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  421. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  422. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  423. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  424. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  425. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  426. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -391
  427. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -92
  428. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -238
  429. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -230
  430. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -116
  431. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -137
  432. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -142
  433. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -135
  434. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -136
  435. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -134
  436. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -505
  437. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -518
  438. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -92
  439. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  440. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  441. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -65
  442. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  443. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  444. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  445. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -138
  446. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  447. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -148
  448. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  449. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  450. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -224
  451. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  452. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  453. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  454. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  455. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  456. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  457. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  458. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  459. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -88
  460. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  461. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  462. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  463. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  464. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -337
  465. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  466. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  467. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  468. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  469. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  470. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -176
  471. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  472. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  473. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  474. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  475. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  476. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -142
  477. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -142
  478. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  479. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  480. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  481. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  482. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -125
  483. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  484. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  485. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  486. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  487. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  488. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  489. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  490. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  491. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  492. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -89
  493. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -151
  494. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -87
  495. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  496. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -151
  497. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  498. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  499. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  500. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -113
  501. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  502. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -106
  503. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -338
  504. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -123
  505. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  506. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -92
  507. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -159
  508. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  509. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -308
  510. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -130
  511. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -120
  512. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -129
  513. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -121
  514. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -114
  515. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  516. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  517. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  518. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -123
  519. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  520. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  521. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  522. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  523. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  524. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  525. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  526. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  527. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  528. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -121
  529. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  530. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -94
  531. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -115
  532. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -106
  533. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  534. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  535. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  536. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  537. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  538. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -73
  539. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -291
  540. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -118
  541. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  542. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  543. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  544. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -341
  545. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -170
  546. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  547. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  548. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  549. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  550. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  551. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  552. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  553. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -81
  554. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  555. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -85
  556. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  557. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -422
  558. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -491
  559. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -471
  560. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -160
  561. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -533
  562. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -872
  563. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -113
  564. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  565. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -113
  566. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  567. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  568. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  569. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  570. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -387
  571. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -38
  572. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -52
  573. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -353
  574. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  575. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -113
  576. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1135
  577. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -699
  578. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3150
  579. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -372
  580. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  581. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  582. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -490
  583. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  584. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -82
  585. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  586. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -80
  587. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -85
  588. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -127
  589. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -87
  590. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -276
  591. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -887
  592. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1043
  593. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -624
  594. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -872
  595. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -374
  596. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  597. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  598. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  599. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  600. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  601. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  602. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  603. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  604. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  605. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  606. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  607. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  608. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  609. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  610. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  611. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  612. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  613. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  614. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  615. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  616. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  617. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  618. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  619. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  620. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  621. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  622. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  623. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  624. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  625. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  626. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  627. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  628. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  629. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  630. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  631. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  632. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  633. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  634. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  635. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  636. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  637. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  638. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  639. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  640. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  641. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  642. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  643. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  644. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  645. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  646. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  647. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  648. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  649. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  650. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  651. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  652. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  653. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  654. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -123
  655. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  656. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  657. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  658. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  659. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  660. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  661. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  662. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  663. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -336
  664. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  665. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  666. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  667. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -114
  668. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -160
  669. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -62
  670. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -336
  671. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  672. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -381
  673. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  674. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  675. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  676. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -67
  677. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -64
  678. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -135
  679. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  680. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -67
  681. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  682. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  683. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  684. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  685. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  686. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  687. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  688. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  689. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  690. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -885
  691. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  692. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  693. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  694. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  695. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -314
  696. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  697. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -81
  698. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  699. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -129
  700. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  701. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  702. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  703. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -235
  704. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  705. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  706. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -34
  707. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  708. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  709. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  710. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -203
  711. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  712. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  713. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  714. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -110
  715. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  716. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  717. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  718. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  719. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  720. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  721. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  722. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  723. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  724. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  725. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -143
  726. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  727. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  728. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  729. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  730. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  731. data/ext/third_party/asio/asio/release.pl +0 -440
  732. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  733. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  734. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  735. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  736. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  737. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  738. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  739. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  740. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  741. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  742. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  743. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  744. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  745. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  746. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  747. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  748. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  749. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  750. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  751. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  752. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  753. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  754. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  755. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  756. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  757. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  758. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  759. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  760. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  761. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  762. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  763. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  764. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  765. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  766. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  767. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  768. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  769. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  770. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  771. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  772. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  773. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  774. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  775. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  776. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  777. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  778. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  779. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  780. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  781. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  782. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  783. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  784. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  785. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  786. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  787. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  788. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  789. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  790. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  791. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  792. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  793. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  794. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  795. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  796. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  797. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  798. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  799. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  800. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  801. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  802. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  803. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  804. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  805. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  806. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  807. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  808. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  809. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  810. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  811. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  812. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  813. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  814. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  815. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  816. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  817. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  818. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  819. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  820. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  821. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  822. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  823. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  824. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  825. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  826. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  827. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  828. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  829. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  830. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  831. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  832. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  833. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  834. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  835. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  836. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  837. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  838. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  839. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  840. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  841. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  842. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  843. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  844. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  845. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  846. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  847. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  848. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  849. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  850. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  851. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  852. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  853. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  854. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  855. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  856. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  857. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  858. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  859. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  860. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  861. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  862. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  863. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  864. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  865. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  866. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  867. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  868. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  869. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  870. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  871. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  872. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  873. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  874. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  875. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  876. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  877. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  878. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  879. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  880. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  881. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  882. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  883. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  884. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  885. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  886. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  887. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  888. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  889. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  890. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  891. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  892. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  893. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  894. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  895. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  896. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  897. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  898. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  899. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  900. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  901. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  902. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  903. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  904. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  905. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  906. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  907. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  908. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  909. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  910. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  911. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  912. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  913. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  914. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  915. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  916. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  917. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  918. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  919. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  920. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  921. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  922. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  923. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  924. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  925. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  926. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  927. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  928. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  929. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  930. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  931. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  932. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  933. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  934. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  935. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  936. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  937. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  938. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  939. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  940. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  941. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  942. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  943. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  944. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  945. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  946. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  947. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  948. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  949. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  950. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  951. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  952. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  953. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  954. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  955. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  956. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  957. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  958. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  959. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  960. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  961. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  962. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  963. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  964. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  965. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  966. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  967. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  968. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  969. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  970. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  971. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  972. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  973. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  974. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  975. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  976. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  977. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  978. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  979. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  980. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  981. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  982. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  983. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  984. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  985. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  986. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  987. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  988. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  989. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  990. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  991. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  992. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  993. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  994. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  995. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  996. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  997. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  998. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  999. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  1000. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  1001. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  1002. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  1003. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  1004. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  1005. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  1006. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  1007. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  1008. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  1009. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  1010. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  1011. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  1012. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  1013. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  1014. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  1015. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  1016. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  1017. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  1018. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  1019. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  1020. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  1021. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  1022. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  1023. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  1024. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  1025. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  1026. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  1027. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  1028. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  1029. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  1030. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  1031. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  1032. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  1033. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  1034. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  1035. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  1036. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  1037. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  1038. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  1039. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  1040. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  1041. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  1042. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  1043. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  1044. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  1045. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  1046. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  1047. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  1048. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  1049. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  1050. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  1051. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  1052. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  1053. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  1054. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  1055. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  1056. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  1057. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  1058. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  1059. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  1060. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  1061. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  1062. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  1063. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  1064. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  1065. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  1066. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  1067. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  1068. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  1069. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  1070. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  1071. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  1072. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  1073. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  1074. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  1075. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  1076. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  1077. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  1078. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  1079. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  1080. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  1081. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  1082. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  1083. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  1084. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  1085. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  1086. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  1087. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  1088. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  1089. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  1090. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  1091. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  1092. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  1093. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  1094. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  1095. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  1096. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  1097. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  1098. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  1099. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  1100. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  1101. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  1102. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  1103. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  1104. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  1105. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  1106. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  1107. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  1108. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  1109. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  1110. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  1111. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  1112. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  1113. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  1114. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  1115. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  1116. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  1117. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  1118. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  1119. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  1120. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  1121. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  1122. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  1123. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  1124. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  1125. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  1126. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  1127. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  1128. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  1129. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  1130. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  1131. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  1132. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  1133. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  1134. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  1135. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  1136. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  1137. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  1138. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  1139. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  1140. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  1141. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  1142. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  1143. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  1144. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  1145. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  1146. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  1147. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  1148. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  1149. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  1150. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  1151. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  1152. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  1153. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  1154. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  1155. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  1156. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  1157. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  1158. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  1159. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  1160. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  1161. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  1162. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  1163. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  1164. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  1165. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  1166. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  1167. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  1168. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  1169. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  1170. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  1171. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  1172. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  1173. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  1174. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  1175. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  1176. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  1177. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  1178. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  1179. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  1180. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  1181. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  1182. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  1183. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  1184. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  1185. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  1186. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  1187. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  1188. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  1189. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  1190. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  1191. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  1192. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  1193. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  1194. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  1195. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  1196. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  1197. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  1198. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  1199. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  1200. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  1201. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  1202. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  1203. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  1204. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  1205. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  1206. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  1207. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  1208. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  1209. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  1210. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  1211. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  1212. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  1213. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  1214. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  1215. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  1216. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  1217. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  1218. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  1219. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  1220. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  1221. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  1222. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  1223. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  1224. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  1225. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  1226. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  1227. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  1228. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  1229. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  1230. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  1231. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  1232. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  1233. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  1234. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  1235. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  1236. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  1237. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  1238. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  1239. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  1240. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  1241. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  1242. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  1243. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  1244. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  1245. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  1246. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  1247. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  1248. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  1249. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  1250. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  1251. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  1252. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  1253. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  1254. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  1255. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  1256. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  1257. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  1258. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  1259. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  1260. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  1261. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  1262. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  1263. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  1264. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  1265. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  1266. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  1267. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  1268. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  1269. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  1270. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  1271. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  1272. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  1273. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  1274. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  1275. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  1276. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  1277. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  1278. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  1279. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  1280. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  1281. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  1282. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  1283. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  1284. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  1285. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  1286. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  1287. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  1288. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  1289. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  1290. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  1291. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  1292. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  1293. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  1294. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  1295. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  1296. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  1297. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  1298. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  1299. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  1300. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  1301. data/ext/third_party/asio/asio/tsify.pl +0 -574
  1302. data/ext/third_party/gsl/.clang-format +0 -34
  1303. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  1304. data/ext/third_party/gsl/.gitignore +0 -16
  1305. data/ext/third_party/gsl/.travis.yml +0 -551
  1306. data/ext/third_party/gsl/CMakeLists.txt +0 -119
  1307. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  1308. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  1309. data/ext/third_party/gsl/GSL.natvis +0 -98
  1310. data/ext/third_party/gsl/LICENSE +0 -21
  1311. data/ext/third_party/gsl/README.md +0 -124
  1312. data/ext/third_party/gsl/ThirdPartyNotices.txt +0 -41
  1313. data/ext/third_party/gsl/appveyor.yml +0 -128
  1314. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  1315. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  1316. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  1317. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  1318. data/ext/third_party/gsl/include/gsl/gsl_util +0 -171
  1319. data/ext/third_party/gsl/include/gsl/multi_span +0 -2273
  1320. data/ext/third_party/gsl/include/gsl/pointers +0 -301
  1321. data/ext/third_party/gsl/include/gsl/span +0 -764
  1322. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  1323. data/ext/third_party/gsl/include/gsl/string_span +0 -716
  1324. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  1325. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  1326. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  1327. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  1328. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  1329. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  1330. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  1331. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  1332. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  1333. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  1334. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  1335. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  1336. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  1337. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  1338. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  1339. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  1340. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  1341. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  1342. data/ext/third_party/http_parser/.gitignore +0 -30
  1343. data/ext/third_party/http_parser/.mailmap +0 -8
  1344. data/ext/third_party/http_parser/.travis.yml +0 -13
  1345. data/ext/third_party/http_parser/AUTHORS +0 -68
  1346. data/ext/third_party/http_parser/LICENSE-MIT +0 -19
  1347. data/ext/third_party/http_parser/README.md +0 -246
  1348. data/ext/third_party/http_parser/bench.c +0 -128
  1349. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  1350. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  1351. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  1352. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  1353. data/ext/third_party/http_parser/http_parser.c +0 -2568
  1354. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  1355. data/ext/third_party/http_parser/http_parser.h +0 -447
  1356. data/ext/third_party/http_parser/test.c +0 -4600
  1357. data/ext/third_party/json/.appveyor.yml +0 -44
  1358. data/ext/third_party/json/.clang-format +0 -84
  1359. data/ext/third_party/json/.conan/build.py +0 -80
  1360. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  1361. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  1362. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  1363. data/ext/third_party/json/.gitignore +0 -3
  1364. data/ext/third_party/json/.travis.yml +0 -173
  1365. data/ext/third_party/json/CMakeLists.txt +0 -44
  1366. data/ext/third_party/json/LICENSE +0 -21
  1367. data/ext/third_party/json/LICENSE.double-conversion +0 -32
  1368. data/ext/third_party/json/LICENSE.itoa +0 -19
  1369. data/ext/third_party/json/LICENSE.ryu +0 -201
  1370. data/ext/third_party/json/README.md +0 -149
  1371. data/ext/third_party/json/conanfile.py +0 -28
  1372. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  1373. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  1374. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  1375. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  1376. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  1377. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  1378. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  1379. data/ext/third_party/json/doc/Changelog.md +0 -31
  1380. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  1381. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  1382. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  1383. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  1384. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  1385. data/ext/third_party/json/doc/Interoperability.md +0 -75
  1386. data/ext/third_party/json/doc/Overview.md +0 -24
  1387. data/ext/third_party/json/doc/Overview.png +0 -0
  1388. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  1389. data/ext/third_party/json/doc/README.md +0 -78
  1390. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  1391. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  1392. data/ext/third_party/json/doc/Types.png +0 -0
  1393. data/ext/third_party/json/doc/Value-Class.md +0 -525
  1394. data/ext/third_party/json/include/tao/json.hpp +0 -45
  1395. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -941
  1396. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  1397. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  1398. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  1399. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  1400. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  1401. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -250
  1402. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  1403. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  1404. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  1405. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -103
  1406. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  1407. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -267
  1408. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  1409. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  1410. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  1411. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -127
  1412. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -18
  1413. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  1414. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  1415. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  1416. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  1417. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  1418. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  1419. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  1420. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  1421. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  1422. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  1423. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -417
  1424. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  1425. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  1426. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  1427. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  1428. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  1429. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  1430. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  1431. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  1432. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  1433. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  1434. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  1435. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  1436. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -69
  1437. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  1438. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  1439. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  1440. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  1441. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  1442. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  1443. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  1444. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  1445. data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +0 -59
  1446. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  1447. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -115
  1448. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1851
  1449. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  1450. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -90
  1451. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  1452. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  1453. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -89
  1454. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  1455. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  1456. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  1457. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  1458. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  1459. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  1460. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  1461. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  1462. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  1463. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  1464. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -265
  1465. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  1466. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  1467. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  1468. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  1469. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  1470. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  1471. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  1472. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  1473. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  1474. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  1475. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  1476. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  1477. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  1478. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  1479. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  1480. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  1481. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  1482. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  1483. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  1484. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  1485. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  1486. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  1487. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  1488. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  1489. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  1490. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  1491. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  1492. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  1493. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  1494. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  1495. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  1496. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  1497. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -170
  1498. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  1499. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  1500. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -53
  1501. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  1502. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  1503. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  1504. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  1505. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  1506. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  1507. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  1508. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  1509. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  1510. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  1511. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -51
  1512. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -67
  1513. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  1514. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  1515. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  1516. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  1517. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  1518. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  1519. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  1520. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  1521. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  1522. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  1523. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  1524. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -253
  1525. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -68
  1526. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -200
  1527. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -200
  1528. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -105
  1529. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -55
  1530. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -446
  1531. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  1532. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  1533. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -561
  1534. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -104
  1535. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -225
  1536. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -86
  1537. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -62
  1538. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -44
  1539. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  1540. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  1541. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  1542. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  1543. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -33
  1544. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  1545. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  1546. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  1547. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  1548. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  1549. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  1550. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  1551. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  1552. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -44
  1553. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -107
  1554. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  1555. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  1556. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +0 -21
  1557. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  1558. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  1559. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -50
  1560. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  1561. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  1562. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -53
  1563. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -31
  1564. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  1565. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  1566. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  1567. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -36
  1568. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -44
  1569. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  1570. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  1571. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  1572. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  1573. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  1574. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +0 -140
  1575. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -44
  1576. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -33
  1577. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  1578. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  1579. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -44
  1580. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +0 -62
  1581. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +0 -206
  1582. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +0 -106
  1583. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -31
  1584. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -31
  1585. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -32
  1586. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -83
  1587. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -219
  1588. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  1589. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -114
  1590. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -25
  1591. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -25
  1592. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -56
  1593. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  1594. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -53
  1595. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -48
  1596. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -19
  1597. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  1598. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  1599. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -40
  1600. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  1601. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -52
  1602. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  1603. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  1604. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  1605. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  1606. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -20
  1607. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  1608. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -82
  1609. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -25
  1610. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -23
  1611. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -72
  1612. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -53
  1613. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -44
  1614. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  1615. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  1616. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  1617. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  1618. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +0 -54
  1619. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +0 -34
  1620. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +0 -45
  1621. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +0 -33
  1622. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +0 -54
  1623. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +0 -43
  1624. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -90
  1625. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  1626. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -53
  1627. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -53
  1628. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -51
  1629. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -93
  1630. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +0 -77
  1631. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -69
  1632. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -66
  1633. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  1634. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -79
  1635. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -46
  1636. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  1637. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  1638. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  1639. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -73
  1640. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +0 -25
  1641. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -60
  1642. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -47
  1643. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  1644. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -49
  1645. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  1646. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  1647. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  1648. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -84
  1649. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -33
  1650. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -73
  1651. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -381
  1652. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  1653. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  1654. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -20
  1655. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -53
  1656. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -69
  1657. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -75
  1658. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -74
  1659. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  1660. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  1661. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  1662. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -67
  1663. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -66
  1664. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  1665. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +0 -62
  1666. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +0 -62
  1667. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +0 -63
  1668. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +0 -36
  1669. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +0 -49
  1670. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +0 -49
  1671. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  1672. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  1673. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  1674. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  1675. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  1676. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  1677. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  1678. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  1679. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  1680. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  1681. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  1682. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  1683. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  1684. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  1685. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  1686. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  1687. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -59
  1688. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  1689. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  1690. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  1691. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  1692. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  1693. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  1694. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  1695. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  1696. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  1697. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  1698. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -113
  1699. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  1700. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  1701. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  1702. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  1703. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  1704. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  1705. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  1706. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  1707. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  1708. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  1709. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  1710. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  1711. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  1712. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  1713. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  1714. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  1715. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  1716. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  1717. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  1718. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  1719. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -256
  1720. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  1721. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  1722. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -263
  1723. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  1724. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  1725. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  1726. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -18
  1727. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  1728. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  1729. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  1730. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  1731. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  1732. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  1733. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  1734. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  1735. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  1736. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  1737. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  1738. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -249
  1739. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  1740. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  1741. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  1742. data/ext/third_party/json/include/tao/json/operators.hpp +0 -494
  1743. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -306
  1744. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  1745. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  1746. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -143
  1747. data/ext/third_party/json/include/tao/json/span.hpp +0 -568
  1748. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  1749. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  1750. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  1751. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  1752. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  1753. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -18
  1754. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  1755. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  1756. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  1757. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  1758. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  1759. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  1760. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  1761. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  1762. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  1763. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  1764. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -413
  1765. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  1766. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  1767. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  1768. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  1769. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  1770. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  1771. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  1772. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  1773. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  1774. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  1775. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  1776. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  1777. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  1778. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  1779. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  1780. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  1781. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  1782. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  1783. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  1784. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  1785. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  1786. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  1787. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  1788. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  1789. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  1790. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  1791. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  1792. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  1793. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  1794. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  1795. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  1796. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  1797. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  1798. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  1799. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  1800. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  1801. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  1802. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  1803. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  1804. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  1805. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  1806. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  1807. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  1808. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  1809. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  1810. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  1811. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  1812. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  1813. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  1814. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  1815. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  1816. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  1817. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  1818. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  1819. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  1820. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  1821. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  1822. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  1823. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  1824. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  1825. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  1826. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  1827. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  1828. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  1829. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  1830. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  1831. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  1832. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  1833. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  1834. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  1835. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  1836. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  1837. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  1838. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  1839. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  1840. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  1841. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  1842. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  1843. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  1844. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  1845. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  1846. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  1847. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  1848. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  1849. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  1850. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  1851. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  1852. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  1853. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  1854. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  1855. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  1856. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  1857. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  1858. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  1859. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  1860. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  1861. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  1862. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  1863. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  1864. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  1865. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  1866. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  1867. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  1868. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  1869. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  1870. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  1871. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  1872. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  1873. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  1874. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  1875. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  1876. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  1877. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  1878. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  1879. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  1880. data/ext/third_party/json/tests/blns.json +0 -496
  1881. data/ext/third_party/json/tests/canada.json +0 -9
  1882. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  1883. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  1884. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  1885. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  1886. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  1887. data/ext/third_party/json/tests/draft4/default.json +0 -49
  1888. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  1889. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  1890. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  1891. data/ext/third_party/json/tests/draft4/items.json +0 -46
  1892. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  1893. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  1894. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  1895. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  1896. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  1897. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  1898. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  1899. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  1900. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  1901. data/ext/third_party/json/tests/draft4/not.json +0 -96
  1902. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  1903. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  1904. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  1905. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  1906. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  1907. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  1908. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  1909. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  1910. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  1911. data/ext/third_party/json/tests/draft4/required.json +0 -44
  1912. data/ext/third_party/json/tests/draft4/type.json +0 -345
  1913. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  1914. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  1915. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  1916. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1917. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  1918. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  1919. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  1920. data/ext/third_party/json/tests/twitter.json +0 -15482
  1921. data/ext/third_party/snappy/.appveyor.yml +0 -36
  1922. data/ext/third_party/snappy/.gitignore +0 -8
  1923. data/ext/third_party/snappy/.travis.yml +0 -98
  1924. data/ext/third_party/snappy/AUTHORS +0 -1
  1925. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  1926. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  1927. data/ext/third_party/snappy/COPYING +0 -54
  1928. data/ext/third_party/snappy/NEWS +0 -188
  1929. data/ext/third_party/snappy/README.md +0 -148
  1930. data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +0 -33
  1931. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  1932. data/ext/third_party/snappy/docs/README.md +0 -72
  1933. data/ext/third_party/snappy/format_description.txt +0 -110
  1934. data/ext/third_party/snappy/framing_format.txt +0 -135
  1935. data/ext/third_party/snappy/snappy-c.cc +0 -90
  1936. data/ext/third_party/snappy/snappy-c.h +0 -138
  1937. data/ext/third_party/snappy/snappy-internal.h +0 -315
  1938. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  1939. data/ext/third_party/snappy/snappy-sinksource.h +0 -182
  1940. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  1941. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  1942. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  1943. data/ext/third_party/snappy/snappy-test.cc +0 -613
  1944. data/ext/third_party/snappy/snappy-test.h +0 -526
  1945. data/ext/third_party/snappy/snappy.cc +0 -1770
  1946. data/ext/third_party/snappy/snappy.h +0 -209
  1947. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  1948. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  1949. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  1950. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  1951. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  1952. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  1953. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  1954. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  1955. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  1956. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  1957. data/ext/third_party/snappy/testdata/html +0 -1
  1958. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  1959. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  1960. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  1961. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  1962. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  1963. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  1964. data/ext/third_party/spdlog/.clang-format +0 -108
  1965. data/ext/third_party/spdlog/.clang-tidy +0 -54
  1966. data/ext/third_party/spdlog/.gitattributes +0 -1
  1967. data/ext/third_party/spdlog/.gitignore +0 -83
  1968. data/ext/third_party/spdlog/.travis.yml +0 -112
  1969. data/ext/third_party/spdlog/CMakeLists.txt +0 -324
  1970. data/ext/third_party/spdlog/INSTALL +0 -24
  1971. data/ext/third_party/spdlog/LICENSE +0 -26
  1972. data/ext/third_party/spdlog/README.md +0 -423
  1973. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1974. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  1975. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  1976. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  1977. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  1978. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  1979. data/ext/third_party/spdlog/bench/utils.h +0 -34
  1980. data/ext/third_party/spdlog/cmake/ide.cmake +0 -18
  1981. data/ext/third_party/spdlog/cmake/pch.h.in +0 -258
  1982. data/ext/third_party/spdlog/cmake/spdlog.pc.in +0 -13
  1983. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  1984. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  1985. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  1986. data/ext/third_party/spdlog/cmake/version.rc.in +0 -42
  1987. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  1988. data/ext/third_party/spdlog/example/example.cpp +0 -282
  1989. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  1990. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  1991. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  1992. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +0 -45
  1993. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +0 -36
  1994. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -103
  1995. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -28
  1996. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1997. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  1998. data/ext/third_party/spdlog/include/spdlog/common.h +0 -246
  1999. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  2000. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  2001. data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +0 -141
  2002. data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +0 -32
  2003. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  2004. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  2005. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -108
  2006. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  2007. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  2008. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  2009. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  2010. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  2011. data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +0 -49
  2012. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  2013. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  2014. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  2015. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  2016. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -299
  2017. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -112
  2018. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  2019. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  2020. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -145
  2021. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  2022. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  2023. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  2024. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  2025. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +0 -27
  2026. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1119
  2027. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -568
  2028. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -595
  2029. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1789
  2030. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1403
  2031. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3648
  2032. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  2033. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -143
  2034. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  2035. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -721
  2036. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -387
  2037. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -25
  2038. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  2039. data/ext/third_party/spdlog/include/spdlog/formatter.h +0 -18
  2040. data/ext/third_party/spdlog/include/spdlog/fwd.h +0 -14
  2041. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -253
  2042. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -392
  2043. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1358
  2044. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  2045. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  2046. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  2047. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  2048. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  2049. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  2050. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  2051. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  2052. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  2053. data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +0 -97
  2054. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  2055. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  2056. data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +0 -44
  2057. data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +0 -50
  2058. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -72
  2059. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  2060. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  2061. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  2062. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  2063. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  2064. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  2065. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -94
  2066. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -80
  2067. data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +0 -109
  2068. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  2069. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  2070. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  2071. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -180
  2072. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  2073. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -115
  2074. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -340
  2075. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  2076. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  2077. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  2078. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  2079. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  2080. data/ext/third_party/spdlog/src/async.cpp +0 -13
  2081. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  2082. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  2083. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  2084. data/ext/third_party/spdlog/src/fmt.cpp +0 -189
  2085. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  2086. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
  2087. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  2088. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  2089. data/ext/third_party/spdlog/tests/catch.license +0 -23
  2090. data/ext/third_party/spdlog/tests/includes.h +0 -26
  2091. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  2092. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  2093. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  2094. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  2095. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  2096. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  2097. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  2098. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  2099. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  2100. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  2101. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  2102. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  2103. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  2104. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  2105. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  2106. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  2107. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  2108. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  2109. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  2110. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  2111. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  2112. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  2113. data/ext/third_party/spdlog/tests/utils.h +0 -18
  2114. data/rbi/couchbase.rbi +0 -79
@@ -1,2863 +0,0 @@
1
- //
2
- // read_until.hpp
3
- // ~~~~~~~~~~~~~~
4
- //
5
- // Copyright (c) 2003-2020 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::string 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 enable_if<
137
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
138
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
139
- >::type* = 0);
140
-
141
- /// Read data into a dynamic buffer sequence until it contains a specified
142
- /// delimiter.
143
- /**
144
- * This function is used to read data into the specified dynamic buffer
145
- * sequence until the dynamic buffer sequence's get area contains the specified
146
- * delimiter. The call will block until one of the following conditions is
147
- * true:
148
- *
149
- * @li The get area of the dynamic buffer sequence contains the specified
150
- * delimiter.
151
- *
152
- * @li An error occurred.
153
- *
154
- * This operation is implemented in terms of zero or more calls to the stream's
155
- * read_some function. If the dynamic buffer sequence's get area already
156
- * contains the delimiter, the function returns immediately.
157
- *
158
- * @param s The stream from which the data is to be read. The type must support
159
- * the SyncReadStream concept.
160
- *
161
- * @param buffers The dynamic buffer sequence into which the data will be read.
162
- *
163
- * @param delim The delimiter character.
164
- *
165
- * @param ec Set to indicate what error occurred, if any.
166
- *
167
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
168
- * and including the delimiter. Returns 0 if an error occurred.
169
- *
170
- * @note After a successful read_until operation, the dynamic buffer sequence
171
- * may contain additional data beyond the delimiter. An application will
172
- * typically leave that data in the dynamic buffer sequence for a subsequent
173
- * read_until operation to examine.
174
- */
175
- template <typename SyncReadStream, typename DynamicBuffer_v1>
176
- std::size_t read_until(SyncReadStream& s,
177
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
178
- char delim, asio::error_code& ec,
179
- typename enable_if<
180
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
181
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
182
- >::type* = 0);
183
-
184
- /// Read data into a dynamic buffer sequence until it contains a specified
185
- /// delimiter.
186
- /**
187
- * This function is used to read data into the specified dynamic buffer
188
- * sequence until the dynamic buffer sequence's get area contains the specified
189
- * delimiter. The call will block until one of the following conditions is
190
- * true:
191
- *
192
- * @li The get area of the dynamic buffer sequence contains the specified
193
- * delimiter.
194
- *
195
- * @li An error occurred.
196
- *
197
- * This operation is implemented in terms of zero or more calls to the stream's
198
- * read_some function. If the dynamic buffer sequence's get area already
199
- * contains the delimiter, the function returns immediately.
200
- *
201
- * @param s The stream from which the data is to be read. The type must support
202
- * the SyncReadStream concept.
203
- *
204
- * @param buffers The dynamic buffer sequence into which the data will be read.
205
- *
206
- * @param delim The delimiter string.
207
- *
208
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
209
- * and including the delimiter.
210
- *
211
- * @note After a successful read_until operation, the dynamic buffer sequence
212
- * may contain additional data beyond the delimiter. An application will
213
- * typically leave that data in the dynamic buffer sequence for a subsequent
214
- * read_until operation to examine.
215
- *
216
- * @par Example
217
- * To read data into a @c std::string until a CR-LF sequence is encountered:
218
- * @code std::string data;
219
- * std::string n = asio::read_until(s,
220
- * asio::dynamic_buffer(data), "\r\n");
221
- * std::string line = data.substr(0, n);
222
- * data.erase(0, n); @endcode
223
- * After the @c read_until operation completes successfully, the string @c data
224
- * contains the delimiter:
225
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
226
- * The call to @c substr then extracts the data up to and including the
227
- * delimiter, so that the string @c line contains:
228
- * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
229
- * After the call to @c erase, the remaining data is left in the buffer @c b as
230
- * follows:
231
- * @code { 'd', 'e', ... } @endcode
232
- * This data may be the start of a new line, to be extracted by a subsequent
233
- * @c read_until operation.
234
- */
235
- template <typename SyncReadStream, typename DynamicBuffer_v1>
236
- std::size_t read_until(SyncReadStream& s,
237
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
238
- ASIO_STRING_VIEW_PARAM delim,
239
- typename enable_if<
240
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
241
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
242
- >::type* = 0);
243
-
244
- /// Read data into a dynamic buffer sequence until it contains a specified
245
- /// delimiter.
246
- /**
247
- * This function is used to read data into the specified dynamic buffer
248
- * sequence until the dynamic buffer sequence's get area contains the specified
249
- * delimiter. The call will block until one of the following conditions is
250
- * true:
251
- *
252
- * @li The get area of the dynamic buffer sequence contains the specified
253
- * delimiter.
254
- *
255
- * @li An error occurred.
256
- *
257
- * This operation is implemented in terms of zero or more calls to the stream's
258
- * read_some function. If the dynamic buffer sequence's get area already
259
- * contains the delimiter, the function returns immediately.
260
- *
261
- * @param s The stream from which the data is to be read. The type must support
262
- * the SyncReadStream concept.
263
- *
264
- * @param buffers The dynamic buffer sequence into which the data will be read.
265
- *
266
- * @param delim The delimiter string.
267
- *
268
- * @param ec Set to indicate what error occurred, if any.
269
- *
270
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
271
- * and including the delimiter. Returns 0 if an error occurred.
272
- *
273
- * @note After a successful read_until operation, the dynamic buffer sequence
274
- * may contain additional data beyond the delimiter. An application will
275
- * typically leave that data in the dynamic buffer sequence for a subsequent
276
- * read_until operation to examine.
277
- */
278
- template <typename SyncReadStream, typename DynamicBuffer_v1>
279
- std::size_t read_until(SyncReadStream& s,
280
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
281
- ASIO_STRING_VIEW_PARAM delim,
282
- asio::error_code& ec,
283
- typename enable_if<
284
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
285
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
286
- >::type* = 0);
287
-
288
- #if !defined(ASIO_NO_EXTENSIONS)
289
- #if defined(ASIO_HAS_BOOST_REGEX) \
290
- || defined(GENERATING_DOCUMENTATION)
291
-
292
- /// Read data into a dynamic buffer sequence until some part of the data it
293
- /// contains matches a regular expression.
294
- /**
295
- * This function is used to read data into the specified dynamic buffer
296
- * sequence until the dynamic buffer sequence's get area contains some data
297
- * that matches a regular expression. The call will block until one of the
298
- * following conditions is true:
299
- *
300
- * @li A substring of the dynamic buffer sequence's get area matches the
301
- * regular expression.
302
- *
303
- * @li An error occurred.
304
- *
305
- * This operation is implemented in terms of zero or more calls to the stream's
306
- * read_some function. If the dynamic buffer sequence's get area already
307
- * contains data that matches the regular expression, the function returns
308
- * immediately.
309
- *
310
- * @param s The stream from which the data is to be read. The type must support
311
- * the SyncReadStream concept.
312
- *
313
- * @param buffers A dynamic buffer sequence into which the data will be read.
314
- *
315
- * @param expr The regular expression.
316
- *
317
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
318
- * and including the substring that matches the regular expression.
319
- *
320
- * @throws asio::system_error Thrown on failure.
321
- *
322
- * @note After a successful read_until operation, the dynamic buffer sequence
323
- * may contain additional data beyond that which matched the regular
324
- * expression. An application will typically leave that data in the dynamic
325
- * buffer sequence for a subsequent read_until operation to examine.
326
- *
327
- * @par Example
328
- * To read data into a @c std::string until a CR-LF sequence is encountered:
329
- * @code std::string data;
330
- * std::string n = asio::read_until(s,
331
- * asio::dynamic_buffer(data), boost::regex("\r\n"));
332
- * std::string line = data.substr(0, n);
333
- * data.erase(0, n); @endcode
334
- * After the @c read_until operation completes successfully, the string @c data
335
- * contains the delimiter:
336
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
337
- * The call to @c substr then extracts the data up to and including the
338
- * delimiter, so that the string @c line contains:
339
- * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
340
- * After the call to @c erase, the remaining data is left in the buffer @c b as
341
- * follows:
342
- * @code { 'd', 'e', ... } @endcode
343
- * This data may be the start of a new line, to be extracted by a subsequent
344
- * @c read_until operation.
345
- */
346
- template <typename SyncReadStream, typename DynamicBuffer_v1>
347
- std::size_t read_until(SyncReadStream& s,
348
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
349
- const boost::regex& expr,
350
- typename enable_if<
351
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
352
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
353
- >::type* = 0);
354
-
355
- /// Read data into a dynamic buffer sequence until some part of the data it
356
- /// contains matches a regular expression.
357
- /**
358
- * This function is used to read data into the specified dynamic buffer
359
- * sequence until the dynamic buffer sequence's get area contains some data
360
- * that matches a regular expression. The call will block until one of the
361
- * following conditions is true:
362
- *
363
- * @li A substring of the dynamic buffer sequence's get area matches the
364
- * regular expression.
365
- *
366
- * @li An error occurred.
367
- *
368
- * This operation is implemented in terms of zero or more calls to the stream's
369
- * read_some function. If the dynamic buffer sequence's get area already
370
- * contains data that matches the regular expression, the function returns
371
- * immediately.
372
- *
373
- * @param s The stream from which the data is to be read. The type must support
374
- * the SyncReadStream concept.
375
- *
376
- * @param buffers A dynamic buffer sequence into which the data will be read.
377
- *
378
- * @param expr The regular expression.
379
- *
380
- * @param ec Set to indicate what error occurred, if any.
381
- *
382
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
383
- * and including the substring that matches the regular expression. Returns 0
384
- * if an error occurred.
385
- *
386
- * @note After a successful read_until operation, the dynamic buffer sequence
387
- * may contain additional data beyond that which matched the regular
388
- * expression. An application will typically leave that data in the dynamic
389
- * buffer sequence for a subsequent read_until operation to examine.
390
- */
391
- template <typename SyncReadStream, typename DynamicBuffer_v1>
392
- std::size_t read_until(SyncReadStream& s,
393
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
394
- const boost::regex& expr, asio::error_code& ec,
395
- typename enable_if<
396
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
397
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
398
- >::type* = 0);
399
-
400
- #endif // defined(ASIO_HAS_BOOST_REGEX)
401
- // || defined(GENERATING_DOCUMENTATION)
402
-
403
- /// Read data into a dynamic buffer sequence until a function object indicates a
404
- /// match.
405
-
406
- /**
407
- * This function is used to read data into the specified dynamic buffer
408
- * sequence until a user-defined match condition function object, when applied
409
- * to the data contained in the dynamic buffer sequence, indicates a successful
410
- * match. The call will block until one of the following conditions is true:
411
- *
412
- * @li The match condition function object returns a std::pair where the second
413
- * element evaluates to true.
414
- *
415
- * @li An error occurred.
416
- *
417
- * This operation is implemented in terms of zero or more calls to the stream's
418
- * read_some function. If the match condition function object already indicates
419
- * a match, the function returns immediately.
420
- *
421
- * @param s The stream from which the data is to be read. The type must support
422
- * the SyncReadStream concept.
423
- *
424
- * @param buffers A dynamic buffer sequence into which the data will be read.
425
- *
426
- * @param match_condition The function object to be called to determine whether
427
- * a match exists. The signature of the function object must be:
428
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
429
- * @endcode
430
- * where @c iterator represents the type:
431
- * @code buffers_iterator<typename DynamicBuffer_v1::const_buffers_type>
432
- * @endcode
433
- * The iterator parameters @c begin and @c end define the range of bytes to be
434
- * scanned to determine whether there is a match. The @c first member of the
435
- * return value is an iterator marking one-past-the-end of the bytes that have
436
- * been consumed by the match function. This iterator is used to calculate the
437
- * @c begin parameter for any subsequent invocation of the match condition. The
438
- * @c second member of the return value is true if a match has been found, false
439
- * otherwise.
440
- *
441
- * @returns The number of bytes in the dynamic_buffer's get area that
442
- * have been fully consumed by the match function.
443
- *
444
- * @throws asio::system_error Thrown on failure.
445
- *
446
- * @note After a successful read_until operation, the dynamic buffer sequence
447
- * may contain additional data beyond that which matched the function object.
448
- * An application will typically leave that data in the dynamic buffer sequence
449
- * for a subsequent read_until operation to examine.
450
-
451
- * @note The default implementation of the @c is_match_condition type trait
452
- * evaluates to true for function pointers and function objects with a
453
- * @c result_type typedef. It must be specialised for other user-defined
454
- * function objects.
455
- *
456
- * @par Examples
457
- * To read data into a dynamic buffer sequence until whitespace is encountered:
458
- * @code typedef asio::buffers_iterator<
459
- * asio::const_buffers_1> iterator;
460
- *
461
- * std::pair<iterator, bool>
462
- * match_whitespace(iterator begin, iterator end)
463
- * {
464
- * iterator i = begin;
465
- * while (i != end)
466
- * if (std::isspace(*i++))
467
- * return std::make_pair(i, true);
468
- * return std::make_pair(i, false);
469
- * }
470
- * ...
471
- * std::string data;
472
- * asio::read_until(s, data, match_whitespace);
473
- * @endcode
474
- *
475
- * To read data into a @c std::string until a matching character is found:
476
- * @code class match_char
477
- * {
478
- * public:
479
- * explicit match_char(char c) : c_(c) {}
480
- *
481
- * template <typename Iterator>
482
- * std::pair<Iterator, bool> operator()(
483
- * Iterator begin, Iterator end) const
484
- * {
485
- * Iterator i = begin;
486
- * while (i != end)
487
- * if (c_ == *i++)
488
- * return std::make_pair(i, true);
489
- * return std::make_pair(i, false);
490
- * }
491
- *
492
- * private:
493
- * char c_;
494
- * };
495
- *
496
- * namespace asio {
497
- * template <> struct is_match_condition<match_char>
498
- * : public boost::true_type {};
499
- * } // namespace asio
500
- * ...
501
- * std::string data;
502
- * asio::read_until(s, data, match_char('a'));
503
- * @endcode
504
- */
505
- template <typename SyncReadStream,
506
- typename DynamicBuffer_v1, typename MatchCondition>
507
- std::size_t read_until(SyncReadStream& s,
508
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
509
- MatchCondition match_condition,
510
- typename enable_if<
511
- is_match_condition<MatchCondition>::value
512
- && is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
513
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
514
- >::type* = 0);
515
-
516
- /// Read data into a dynamic buffer sequence until a function object indicates a
517
- /// match.
518
- /**
519
- * This function is used to read data into the specified dynamic buffer
520
- * sequence until a user-defined match condition function object, when applied
521
- * to the data contained in the dynamic buffer sequence, indicates a successful
522
- * match. The call will block until one of the following conditions is true:
523
- *
524
- * @li The match condition function object returns a std::pair where the second
525
- * element evaluates to true.
526
- *
527
- * @li An error occurred.
528
- *
529
- * This operation is implemented in terms of zero or more calls to the stream's
530
- * read_some function. If the match condition function object already indicates
531
- * a match, the function returns immediately.
532
- *
533
- * @param s The stream from which the data is to be read. The type must support
534
- * the SyncReadStream concept.
535
- *
536
- * @param buffers A dynamic buffer sequence into which the data will be read.
537
- *
538
- * @param match_condition The function object to be called to determine whether
539
- * a match exists. The signature of the function object must be:
540
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
541
- * @endcode
542
- * where @c iterator represents the type:
543
- * @code buffers_iterator<DynamicBuffer_v1::const_buffers_type>
544
- * @endcode
545
- * The iterator parameters @c begin and @c end define the range of bytes to be
546
- * scanned to determine whether there is a match. The @c first member of the
547
- * return value is an iterator marking one-past-the-end of the bytes that have
548
- * been consumed by the match function. This iterator is used to calculate the
549
- * @c begin parameter for any subsequent invocation of the match condition. The
550
- * @c second member of the return value is true if a match has been found, false
551
- * otherwise.
552
- *
553
- * @param ec Set to indicate what error occurred, if any.
554
- *
555
- * @returns The number of bytes in the dynamic buffer sequence's get area that
556
- * have been fully consumed by the match function. Returns 0 if an error
557
- * occurred.
558
- *
559
- * @note After a successful read_until operation, the dynamic buffer sequence
560
- * may contain additional data beyond that which matched the function object.
561
- * An application will typically leave that data in the dynamic buffer sequence
562
- * for a subsequent read_until operation to examine.
563
- *
564
- * @note The default implementation of the @c is_match_condition type trait
565
- * evaluates to true for function pointers and function objects with a
566
- * @c result_type typedef. It must be specialised for other user-defined
567
- * function objects.
568
- */
569
- template <typename SyncReadStream,
570
- typename DynamicBuffer_v1, typename MatchCondition>
571
- std::size_t read_until(SyncReadStream& s,
572
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
573
- MatchCondition match_condition, asio::error_code& ec,
574
- typename enable_if<
575
- is_match_condition<MatchCondition>::value
576
- && is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
577
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
578
- >::type* = 0);
579
-
580
- #if !defined(ASIO_NO_IOSTREAM)
581
-
582
- /// Read data into a streambuf until it contains a specified delimiter.
583
- /**
584
- * This function is used to read data into the specified streambuf until the
585
- * streambuf's get area contains the specified delimiter. The call will block
586
- * until one of the following conditions is true:
587
- *
588
- * @li The get area of the streambuf contains the specified delimiter.
589
- *
590
- * @li An error occurred.
591
- *
592
- * This operation is implemented in terms of zero or more calls to the stream's
593
- * read_some function. If the streambuf's get area already contains the
594
- * delimiter, the function returns immediately.
595
- *
596
- * @param s The stream from which the data is to be read. The type must support
597
- * the SyncReadStream concept.
598
- *
599
- * @param b A streambuf object into which the data will be read.
600
- *
601
- * @param delim The delimiter character.
602
- *
603
- * @returns The number of bytes in the streambuf's get area up to and including
604
- * the delimiter.
605
- *
606
- * @throws asio::system_error Thrown on failure.
607
- *
608
- * @note After a successful read_until operation, the streambuf may contain
609
- * additional data beyond the delimiter. An application will typically leave
610
- * that data in the streambuf for a subsequent read_until operation to examine.
611
- *
612
- * @par Example
613
- * To read data into a streambuf until a newline is encountered:
614
- * @code asio::streambuf b;
615
- * asio::read_until(s, b, '\n');
616
- * std::istream is(&b);
617
- * std::string line;
618
- * std::getline(is, line); @endcode
619
- * After the @c read_until operation completes successfully, the buffer @c b
620
- * contains the delimiter:
621
- * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
622
- * The call to @c std::getline then extracts the data up to and including the
623
- * newline (which is discarded), so that the string @c line contains:
624
- * @code { 'a', 'b', ..., 'c' } @endcode
625
- * The remaining data is left in the buffer @c b as follows:
626
- * @code { 'd', 'e', ... } @endcode
627
- * This data may be the start of a new line, to be extracted by a subsequent
628
- * @c read_until operation.
629
- */
630
- template <typename SyncReadStream, typename Allocator>
631
- std::size_t read_until(SyncReadStream& s,
632
- asio::basic_streambuf<Allocator>& b, char delim);
633
-
634
- /// Read data into a streambuf until it contains a specified delimiter.
635
- /**
636
- * This function is used to read data into the specified streambuf until the
637
- * streambuf's get area contains the specified delimiter. The call will block
638
- * until one of the following conditions is true:
639
- *
640
- * @li The get area of the streambuf contains the specified delimiter.
641
- *
642
- * @li An error occurred.
643
- *
644
- * This operation is implemented in terms of zero or more calls to the stream's
645
- * read_some function. If the streambuf's get area already contains the
646
- * delimiter, the function returns immediately.
647
- *
648
- * @param s The stream from which the data is to be read. The type must support
649
- * the SyncReadStream concept.
650
- *
651
- * @param b A streambuf object into which the data will be read.
652
- *
653
- * @param delim The delimiter character.
654
- *
655
- * @param ec Set to indicate what error occurred, if any.
656
- *
657
- * @returns The number of bytes in the streambuf's get area up to and including
658
- * the delimiter. Returns 0 if an error occurred.
659
- *
660
- * @note After a successful read_until operation, the streambuf may contain
661
- * additional data beyond the delimiter. An application will typically leave
662
- * that data in the streambuf for a subsequent read_until operation to examine.
663
- */
664
- template <typename SyncReadStream, typename Allocator>
665
- std::size_t read_until(SyncReadStream& s,
666
- asio::basic_streambuf<Allocator>& b, char delim,
667
- asio::error_code& ec);
668
-
669
- /// Read data into a streambuf until it contains a specified delimiter.
670
- /**
671
- * This function is used to read data into the specified streambuf until the
672
- * streambuf's get area contains the specified delimiter. The call will block
673
- * until one of the following conditions is true:
674
- *
675
- * @li The get area of the streambuf contains the specified delimiter.
676
- *
677
- * @li An error occurred.
678
- *
679
- * This operation is implemented in terms of zero or more calls to the stream's
680
- * read_some function. If the streambuf's get area already contains the
681
- * delimiter, the function returns immediately.
682
- *
683
- * @param s The stream from which the data is to be read. The type must support
684
- * the SyncReadStream concept.
685
- *
686
- * @param b A streambuf object into which the data will be read.
687
- *
688
- * @param delim The delimiter string.
689
- *
690
- * @returns The number of bytes in the streambuf's get area up to and including
691
- * the delimiter.
692
- *
693
- * @throws asio::system_error Thrown on failure.
694
- *
695
- * @note After a successful read_until operation, the streambuf may contain
696
- * additional data beyond the delimiter. An application will typically leave
697
- * that data in the streambuf for a subsequent read_until operation to examine.
698
- *
699
- * @par Example
700
- * To read data into a streambuf until a newline is encountered:
701
- * @code asio::streambuf b;
702
- * asio::read_until(s, b, "\r\n");
703
- * std::istream is(&b);
704
- * std::string line;
705
- * std::getline(is, line); @endcode
706
- * After the @c read_until operation completes successfully, the buffer @c b
707
- * contains the delimiter:
708
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
709
- * The call to @c std::getline then extracts the data up to and including the
710
- * newline (which is discarded), so that the string @c line contains:
711
- * @code { 'a', 'b', ..., 'c', '\r' } @endcode
712
- * The remaining data is left in the buffer @c b as follows:
713
- * @code { 'd', 'e', ... } @endcode
714
- * This data may be the start of a new line, to be extracted by a subsequent
715
- * @c read_until operation.
716
- */
717
- template <typename SyncReadStream, typename Allocator>
718
- std::size_t read_until(SyncReadStream& s,
719
- asio::basic_streambuf<Allocator>& b,
720
- ASIO_STRING_VIEW_PARAM delim);
721
-
722
- /// Read data into a streambuf until it contains a specified delimiter.
723
- /**
724
- * This function is used to read data into the specified streambuf until the
725
- * streambuf's get area contains the specified delimiter. The call will block
726
- * until one of the following conditions is true:
727
- *
728
- * @li The get area of the streambuf contains the specified delimiter.
729
- *
730
- * @li An error occurred.
731
- *
732
- * This operation is implemented in terms of zero or more calls to the stream's
733
- * read_some function. If the streambuf's get area already contains the
734
- * delimiter, the function returns immediately.
735
- *
736
- * @param s The stream from which the data is to be read. The type must support
737
- * the SyncReadStream concept.
738
- *
739
- * @param b A streambuf object into which the data will be read.
740
- *
741
- * @param delim The delimiter string.
742
- *
743
- * @param ec Set to indicate what error occurred, if any.
744
- *
745
- * @returns The number of bytes in the streambuf's get area up to and including
746
- * the delimiter. Returns 0 if an error occurred.
747
- *
748
- * @note After a successful read_until operation, the streambuf may contain
749
- * additional data beyond the delimiter. An application will typically leave
750
- * that data in the streambuf for a subsequent read_until operation to examine.
751
- */
752
- template <typename SyncReadStream, typename Allocator>
753
- std::size_t read_until(SyncReadStream& s,
754
- asio::basic_streambuf<Allocator>& b,
755
- ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec);
756
-
757
- #if defined(ASIO_HAS_BOOST_REGEX) \
758
- || defined(GENERATING_DOCUMENTATION)
759
-
760
- /// Read data into a streambuf until some part of the data it contains matches
761
- /// a regular expression.
762
- /**
763
- * This function is used to read data into the specified streambuf until the
764
- * streambuf's get area contains some data that matches a regular expression.
765
- * The call will block until one of the following conditions is true:
766
- *
767
- * @li A substring of the streambuf's get area matches the regular expression.
768
- *
769
- * @li An error occurred.
770
- *
771
- * This operation is implemented in terms of zero or more calls to the stream's
772
- * read_some function. If the streambuf's get area already contains data that
773
- * matches the regular expression, the function returns immediately.
774
- *
775
- * @param s The stream from which the data is to be read. The type must support
776
- * the SyncReadStream concept.
777
- *
778
- * @param b A streambuf object into which the data will be read.
779
- *
780
- * @param expr The regular expression.
781
- *
782
- * @returns The number of bytes in the streambuf's get area up to and including
783
- * the substring that matches the regular expression.
784
- *
785
- * @throws asio::system_error Thrown on failure.
786
- *
787
- * @note After a successful read_until operation, the streambuf may contain
788
- * additional data beyond that which matched the regular expression. An
789
- * application will typically leave that data in the streambuf for a subsequent
790
- * read_until operation to examine.
791
- *
792
- * @par Example
793
- * To read data into a streambuf until a CR-LF sequence is encountered:
794
- * @code asio::streambuf b;
795
- * asio::read_until(s, b, boost::regex("\r\n"));
796
- * std::istream is(&b);
797
- * std::string line;
798
- * std::getline(is, line); @endcode
799
- * After the @c read_until operation completes successfully, the buffer @c b
800
- * contains the data which matched the regular expression:
801
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
802
- * The call to @c std::getline then extracts the data up to and including the
803
- * newline (which is discarded), so that the string @c line contains:
804
- * @code { 'a', 'b', ..., 'c', '\r' } @endcode
805
- * The remaining data is left in the buffer @c b as follows:
806
- * @code { 'd', 'e', ... } @endcode
807
- * This data may be the start of a new line, to be extracted by a subsequent
808
- * @c read_until operation.
809
- */
810
- template <typename SyncReadStream, typename Allocator>
811
- std::size_t read_until(SyncReadStream& s,
812
- asio::basic_streambuf<Allocator>& b, const boost::regex& expr);
813
-
814
- /// Read data into a streambuf until some part of the data it contains matches
815
- /// a regular expression.
816
- /**
817
- * This function is used to read data into the specified streambuf until the
818
- * streambuf's get area contains some data that matches a regular expression.
819
- * The call will block until one of the following conditions is true:
820
- *
821
- * @li A substring of the streambuf's get area matches the regular expression.
822
- *
823
- * @li An error occurred.
824
- *
825
- * This operation is implemented in terms of zero or more calls to the stream's
826
- * read_some function. If the streambuf's get area already contains data that
827
- * matches the regular expression, the function returns immediately.
828
- *
829
- * @param s The stream from which the data is to be read. The type must support
830
- * the SyncReadStream concept.
831
- *
832
- * @param b A streambuf object into which the data will be read.
833
- *
834
- * @param expr The regular expression.
835
- *
836
- * @param ec Set to indicate what error occurred, if any.
837
- *
838
- * @returns The number of bytes in the streambuf's get area up to and including
839
- * the substring that matches the regular expression. Returns 0 if an error
840
- * occurred.
841
- *
842
- * @note After a successful read_until operation, the streambuf may contain
843
- * additional data beyond that which matched the regular expression. An
844
- * application will typically leave that data in the streambuf for a subsequent
845
- * read_until operation to examine.
846
- */
847
- template <typename SyncReadStream, typename Allocator>
848
- std::size_t read_until(SyncReadStream& s,
849
- asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
850
- asio::error_code& ec);
851
-
852
- #endif // defined(ASIO_HAS_BOOST_REGEX)
853
- // || defined(GENERATING_DOCUMENTATION)
854
-
855
- /// Read data into a streambuf until a function object indicates a match.
856
- /**
857
- * This function is used to read data into the specified streambuf until a
858
- * user-defined match condition function object, when applied to the data
859
- * contained in the streambuf, indicates a successful match. The call will
860
- * block until one of the following conditions is true:
861
- *
862
- * @li The match condition function object returns a std::pair where the second
863
- * element evaluates to true.
864
- *
865
- * @li An error occurred.
866
- *
867
- * This operation is implemented in terms of zero or more calls to the stream's
868
- * read_some function. If the match condition function object already indicates
869
- * a match, the function returns immediately.
870
- *
871
- * @param s The stream from which the data is to be read. The type must support
872
- * the SyncReadStream concept.
873
- *
874
- * @param b A streambuf object into which the data will be read.
875
- *
876
- * @param match_condition The function object to be called to determine whether
877
- * a match exists. The signature of the function object must be:
878
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
879
- * @endcode
880
- * where @c iterator represents the type:
881
- * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
882
- * @endcode
883
- * The iterator parameters @c begin and @c end define the range of bytes to be
884
- * scanned to determine whether there is a match. The @c first member of the
885
- * return value is an iterator marking one-past-the-end of the bytes that have
886
- * been consumed by the match function. This iterator is used to calculate the
887
- * @c begin parameter for any subsequent invocation of the match condition. The
888
- * @c second member of the return value is true if a match has been found, false
889
- * otherwise.
890
- *
891
- * @returns The number of bytes in the streambuf's get area that have been fully
892
- * consumed by the match function.
893
- *
894
- * @throws asio::system_error Thrown on failure.
895
- *
896
- * @note After a successful read_until operation, the streambuf may contain
897
- * additional data beyond that which matched the function object. An application
898
- * will typically leave that data in the streambuf for a subsequent read_until
899
- * operation to examine.
900
- *
901
- * @note The default implementation of the @c is_match_condition type trait
902
- * evaluates to true for function pointers and function objects with a
903
- * @c result_type typedef. It must be specialised for other user-defined
904
- * function objects.
905
- *
906
- * @par Examples
907
- * To read data into a streambuf until whitespace is encountered:
908
- * @code typedef asio::buffers_iterator<
909
- * asio::streambuf::const_buffers_type> iterator;
910
- *
911
- * std::pair<iterator, bool>
912
- * match_whitespace(iterator begin, iterator end)
913
- * {
914
- * iterator i = begin;
915
- * while (i != end)
916
- * if (std::isspace(*i++))
917
- * return std::make_pair(i, true);
918
- * return std::make_pair(i, false);
919
- * }
920
- * ...
921
- * asio::streambuf b;
922
- * asio::read_until(s, b, match_whitespace);
923
- * @endcode
924
- *
925
- * To read data into a streambuf until a matching character is found:
926
- * @code class match_char
927
- * {
928
- * public:
929
- * explicit match_char(char c) : c_(c) {}
930
- *
931
- * template <typename Iterator>
932
- * std::pair<Iterator, bool> operator()(
933
- * Iterator begin, Iterator end) const
934
- * {
935
- * Iterator i = begin;
936
- * while (i != end)
937
- * if (c_ == *i++)
938
- * return std::make_pair(i, true);
939
- * return std::make_pair(i, false);
940
- * }
941
- *
942
- * private:
943
- * char c_;
944
- * };
945
- *
946
- * namespace asio {
947
- * template <> struct is_match_condition<match_char>
948
- * : public boost::true_type {};
949
- * } // namespace asio
950
- * ...
951
- * asio::streambuf b;
952
- * asio::read_until(s, b, match_char('a'));
953
- * @endcode
954
- */
955
- template <typename SyncReadStream, typename Allocator, typename MatchCondition>
956
- std::size_t read_until(SyncReadStream& s,
957
- asio::basic_streambuf<Allocator>& b, MatchCondition match_condition,
958
- typename enable_if<is_match_condition<MatchCondition>::value>::type* = 0);
959
-
960
- /// Read data into a streambuf until a function object indicates a match.
961
- /**
962
- * This function is used to read data into the specified streambuf until a
963
- * user-defined match condition function object, when applied to the data
964
- * contained in the streambuf, indicates a successful match. The call will
965
- * block until one of the following conditions is true:
966
- *
967
- * @li The match condition function object returns a std::pair where the second
968
- * element evaluates to true.
969
- *
970
- * @li An error occurred.
971
- *
972
- * This operation is implemented in terms of zero or more calls to the stream's
973
- * read_some function. If the match condition function object already indicates
974
- * a match, the function returns immediately.
975
- *
976
- * @param s The stream from which the data is to be read. The type must support
977
- * the SyncReadStream concept.
978
- *
979
- * @param b A streambuf object into which the data will be read.
980
- *
981
- * @param match_condition The function object to be called to determine whether
982
- * a match exists. The signature of the function object must be:
983
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
984
- * @endcode
985
- * where @c iterator represents the type:
986
- * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
987
- * @endcode
988
- * The iterator parameters @c begin and @c end define the range of bytes to be
989
- * scanned to determine whether there is a match. The @c first member of the
990
- * return value is an iterator marking one-past-the-end of the bytes that have
991
- * been consumed by the match function. This iterator is used to calculate the
992
- * @c begin parameter for any subsequent invocation of the match condition. The
993
- * @c second member of the return value is true if a match has been found, false
994
- * otherwise.
995
- *
996
- * @param ec Set to indicate what error occurred, if any.
997
- *
998
- * @returns The number of bytes in the streambuf's get area that have been fully
999
- * consumed by the match function. Returns 0 if an error occurred.
1000
- *
1001
- * @note After a successful read_until operation, the streambuf may contain
1002
- * additional data beyond that which matched the function object. An application
1003
- * will typically leave that data in the streambuf for a subsequent read_until
1004
- * operation to examine.
1005
- *
1006
- * @note The default implementation of the @c is_match_condition type trait
1007
- * evaluates to true for function pointers and function objects with a
1008
- * @c result_type typedef. It must be specialised for other user-defined
1009
- * function objects.
1010
- */
1011
- template <typename SyncReadStream, typename Allocator, typename MatchCondition>
1012
- std::size_t read_until(SyncReadStream& s,
1013
- asio::basic_streambuf<Allocator>& b,
1014
- MatchCondition match_condition, asio::error_code& ec,
1015
- typename enable_if<is_match_condition<MatchCondition>::value>::type* = 0);
1016
-
1017
- #endif // !defined(ASIO_NO_IOSTREAM)
1018
- #endif // !defined(ASIO_NO_EXTENSIONS)
1019
- #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
1020
-
1021
- /// Read data into a dynamic buffer sequence until it contains a specified
1022
- /// delimiter.
1023
- /**
1024
- * This function is used to read data into the specified dynamic buffer
1025
- * sequence until the dynamic buffer sequence's get area contains the specified
1026
- * delimiter. The call will block until one of the following conditions is
1027
- * true:
1028
- *
1029
- * @li The get area of the dynamic buffer sequence contains the specified
1030
- * delimiter.
1031
- *
1032
- * @li An error occurred.
1033
- *
1034
- * This operation is implemented in terms of zero or more calls to the stream's
1035
- * read_some function. If the dynamic buffer sequence's get area already
1036
- * contains the delimiter, the function returns immediately.
1037
- *
1038
- * @param s The stream from which the data is to be read. The type must support
1039
- * the SyncReadStream concept.
1040
- *
1041
- * @param buffers The dynamic buffer sequence into which the data will be read.
1042
- *
1043
- * @param delim The delimiter character.
1044
- *
1045
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
1046
- * and including the delimiter.
1047
- *
1048
- * @throws asio::system_error Thrown on failure.
1049
- *
1050
- * @note After a successful read_until operation, the dynamic buffer sequence
1051
- * may contain additional data beyond the delimiter. An application will
1052
- * typically leave that data in the dynamic buffer sequence for a subsequent
1053
- * read_until operation to examine.
1054
- *
1055
- * @par Example
1056
- * To read data into a @c std::string until a newline is encountered:
1057
- * @code std::string data;
1058
- * std::string n = asio::read_until(s,
1059
- * asio::dynamic_buffer(data), '\n');
1060
- * std::string line = data.substr(0, n);
1061
- * data.erase(0, n); @endcode
1062
- * After the @c read_until operation completes successfully, the string @c data
1063
- * contains the delimiter:
1064
- * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
1065
- * The call to @c substr then extracts the data up to and including the
1066
- * delimiter, so that the string @c line contains:
1067
- * @code { 'a', 'b', ..., 'c', '\n' } @endcode
1068
- * After the call to @c erase, the remaining data is left in the buffer @c b as
1069
- * follows:
1070
- * @code { 'd', 'e', ... } @endcode
1071
- * This data may be the start of a new line, to be extracted by a subsequent
1072
- * @c read_until operation.
1073
- */
1074
- template <typename SyncReadStream, typename DynamicBuffer_v2>
1075
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers, char delim,
1076
- typename enable_if<
1077
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1078
- >::type* = 0);
1079
-
1080
- /// Read data into a dynamic buffer sequence until it contains a specified
1081
- /// delimiter.
1082
- /**
1083
- * This function is used to read data into the specified dynamic buffer
1084
- * sequence until the dynamic buffer sequence's get area contains the specified
1085
- * delimiter. The call will block until one of the following conditions is
1086
- * true:
1087
- *
1088
- * @li The get area of the dynamic buffer sequence contains the specified
1089
- * delimiter.
1090
- *
1091
- * @li An error occurred.
1092
- *
1093
- * This operation is implemented in terms of zero or more calls to the stream's
1094
- * read_some function. If the dynamic buffer sequence's get area already
1095
- * contains the delimiter, the function returns immediately.
1096
- *
1097
- * @param s The stream from which the data is to be read. The type must support
1098
- * the SyncReadStream concept.
1099
- *
1100
- * @param buffers The dynamic buffer sequence into which the data will be read.
1101
- *
1102
- * @param delim The delimiter character.
1103
- *
1104
- * @param ec Set to indicate what error occurred, if any.
1105
- *
1106
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
1107
- * and including the delimiter. Returns 0 if an error occurred.
1108
- *
1109
- * @note After a successful read_until operation, the dynamic buffer sequence
1110
- * may contain additional data beyond the delimiter. An application will
1111
- * typically leave that data in the dynamic buffer sequence for a subsequent
1112
- * read_until operation to examine.
1113
- */
1114
- template <typename SyncReadStream, typename DynamicBuffer_v2>
1115
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1116
- char delim, asio::error_code& ec,
1117
- typename enable_if<
1118
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1119
- >::type* = 0);
1120
-
1121
- /// Read data into a dynamic buffer sequence until it contains a specified
1122
- /// delimiter.
1123
- /**
1124
- * This function is used to read data into the specified dynamic buffer
1125
- * sequence until the dynamic buffer sequence's get area contains the specified
1126
- * delimiter. The call will block until one of the following conditions is
1127
- * true:
1128
- *
1129
- * @li The get area of the dynamic buffer sequence contains the specified
1130
- * delimiter.
1131
- *
1132
- * @li An error occurred.
1133
- *
1134
- * This operation is implemented in terms of zero or more calls to the stream's
1135
- * read_some function. If the dynamic buffer sequence's get area already
1136
- * contains the delimiter, the function returns immediately.
1137
- *
1138
- * @param s The stream from which the data is to be read. The type must support
1139
- * the SyncReadStream concept.
1140
- *
1141
- * @param buffers The dynamic buffer sequence into which the data will be read.
1142
- *
1143
- * @param delim The delimiter string.
1144
- *
1145
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
1146
- * and including the delimiter.
1147
- *
1148
- * @note After a successful read_until operation, the dynamic buffer sequence
1149
- * may contain additional data beyond the delimiter. An application will
1150
- * typically leave that data in the dynamic buffer sequence for a subsequent
1151
- * read_until operation to examine.
1152
- *
1153
- * @par Example
1154
- * To read data into a @c std::string until a CR-LF sequence is encountered:
1155
- * @code std::string data;
1156
- * std::string n = asio::read_until(s,
1157
- * asio::dynamic_buffer(data), "\r\n");
1158
- * std::string line = data.substr(0, n);
1159
- * data.erase(0, n); @endcode
1160
- * After the @c read_until operation completes successfully, the string @c data
1161
- * contains the delimiter:
1162
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1163
- * The call to @c substr then extracts the data up to and including the
1164
- * delimiter, so that the string @c line contains:
1165
- * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1166
- * After the call to @c erase, the remaining data is left in the buffer @c b as
1167
- * follows:
1168
- * @code { 'd', 'e', ... } @endcode
1169
- * This data may be the start of a new line, to be extracted by a subsequent
1170
- * @c read_until operation.
1171
- */
1172
- template <typename SyncReadStream, typename DynamicBuffer_v2>
1173
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1174
- ASIO_STRING_VIEW_PARAM delim,
1175
- typename enable_if<
1176
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1177
- >::type* = 0);
1178
-
1179
- /// Read data into a dynamic buffer sequence until it contains a specified
1180
- /// delimiter.
1181
- /**
1182
- * This function is used to read data into the specified dynamic buffer
1183
- * sequence until the dynamic buffer sequence's get area contains the specified
1184
- * delimiter. The call will block until one of the following conditions is
1185
- * true:
1186
- *
1187
- * @li The get area of the dynamic buffer sequence contains the specified
1188
- * delimiter.
1189
- *
1190
- * @li An error occurred.
1191
- *
1192
- * This operation is implemented in terms of zero or more calls to the stream's
1193
- * read_some function. If the dynamic buffer sequence's get area already
1194
- * contains the delimiter, the function returns immediately.
1195
- *
1196
- * @param s The stream from which the data is to be read. The type must support
1197
- * the SyncReadStream concept.
1198
- *
1199
- * @param buffers The dynamic buffer sequence into which the data will be read.
1200
- *
1201
- * @param delim The delimiter string.
1202
- *
1203
- * @param ec Set to indicate what error occurred, if any.
1204
- *
1205
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
1206
- * and including the delimiter. Returns 0 if an error occurred.
1207
- *
1208
- * @note After a successful read_until operation, the dynamic buffer sequence
1209
- * may contain additional data beyond the delimiter. An application will
1210
- * typically leave that data in the dynamic buffer sequence for a subsequent
1211
- * read_until operation to examine.
1212
- */
1213
- template <typename SyncReadStream, typename DynamicBuffer_v2>
1214
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1215
- ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec,
1216
- typename enable_if<
1217
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1218
- >::type* = 0);
1219
-
1220
- #if !defined(ASIO_NO_EXTENSIONS)
1221
- #if defined(ASIO_HAS_BOOST_REGEX) \
1222
- || defined(GENERATING_DOCUMENTATION)
1223
-
1224
- /// Read data into a dynamic buffer sequence until some part of the data it
1225
- /// contains matches a regular expression.
1226
- /**
1227
- * This function is used to read data into the specified dynamic buffer
1228
- * sequence until the dynamic buffer sequence's get area contains some data
1229
- * that matches a regular expression. The call will block until one of the
1230
- * following conditions is true:
1231
- *
1232
- * @li A substring of the dynamic buffer sequence's get area matches the
1233
- * regular expression.
1234
- *
1235
- * @li An error occurred.
1236
- *
1237
- * This operation is implemented in terms of zero or more calls to the stream's
1238
- * read_some function. If the dynamic buffer sequence's get area already
1239
- * contains data that matches the regular expression, the function returns
1240
- * immediately.
1241
- *
1242
- * @param s The stream from which the data is to be read. The type must support
1243
- * the SyncReadStream concept.
1244
- *
1245
- * @param buffers A dynamic buffer sequence into which the data will be read.
1246
- *
1247
- * @param expr The regular expression.
1248
- *
1249
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
1250
- * and including the substring that matches the regular expression.
1251
- *
1252
- * @throws asio::system_error Thrown on failure.
1253
- *
1254
- * @note After a successful read_until operation, the dynamic buffer sequence
1255
- * may contain additional data beyond that which matched the regular
1256
- * expression. An application will typically leave that data in the dynamic
1257
- * buffer sequence for a subsequent read_until operation to examine.
1258
- *
1259
- * @par Example
1260
- * To read data into a @c std::string until a CR-LF sequence is encountered:
1261
- * @code std::string data;
1262
- * std::string n = asio::read_until(s,
1263
- * asio::dynamic_buffer(data), boost::regex("\r\n"));
1264
- * std::string line = data.substr(0, n);
1265
- * data.erase(0, n); @endcode
1266
- * After the @c read_until operation completes successfully, the string @c data
1267
- * contains the delimiter:
1268
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1269
- * The call to @c substr then extracts the data up to and including the
1270
- * delimiter, so that the string @c line contains:
1271
- * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1272
- * After the call to @c erase, the remaining data is left in the buffer @c b as
1273
- * follows:
1274
- * @code { 'd', 'e', ... } @endcode
1275
- * This data may be the start of a new line, to be extracted by a subsequent
1276
- * @c read_until operation.
1277
- */
1278
- template <typename SyncReadStream, typename DynamicBuffer_v2>
1279
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1280
- const boost::regex& expr,
1281
- typename enable_if<
1282
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1283
- >::type* = 0);
1284
-
1285
- /// Read data into a dynamic buffer sequence until some part of the data it
1286
- /// contains matches a regular expression.
1287
- /**
1288
- * This function is used to read data into the specified dynamic buffer
1289
- * sequence until the dynamic buffer sequence's get area contains some data
1290
- * that matches a regular expression. The call will block until one of the
1291
- * following conditions is true:
1292
- *
1293
- * @li A substring of the dynamic buffer sequence's get area matches the
1294
- * regular expression.
1295
- *
1296
- * @li An error occurred.
1297
- *
1298
- * This operation is implemented in terms of zero or more calls to the stream's
1299
- * read_some function. If the dynamic buffer sequence's get area already
1300
- * contains data that matches the regular expression, the function returns
1301
- * immediately.
1302
- *
1303
- * @param s The stream from which the data is to be read. The type must support
1304
- * the SyncReadStream concept.
1305
- *
1306
- * @param buffers A dynamic buffer sequence into which the data will be read.
1307
- *
1308
- * @param expr The regular expression.
1309
- *
1310
- * @param ec Set to indicate what error occurred, if any.
1311
- *
1312
- * @returns The number of bytes in the dynamic buffer sequence's get area up to
1313
- * and including the substring that matches the regular expression. Returns 0
1314
- * if an error occurred.
1315
- *
1316
- * @note After a successful read_until operation, the dynamic buffer sequence
1317
- * may contain additional data beyond that which matched the regular
1318
- * expression. An application will typically leave that data in the dynamic
1319
- * buffer sequence for a subsequent read_until operation to examine.
1320
- */
1321
- template <typename SyncReadStream, typename DynamicBuffer_v2>
1322
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1323
- const boost::regex& expr, asio::error_code& ec,
1324
- typename enable_if<
1325
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1326
- >::type* = 0);
1327
-
1328
- #endif // defined(ASIO_HAS_BOOST_REGEX)
1329
- // || defined(GENERATING_DOCUMENTATION)
1330
-
1331
- /// Read data into a dynamic buffer sequence until a function object indicates a
1332
- /// match.
1333
-
1334
- /**
1335
- * This function is used to read data into the specified dynamic buffer
1336
- * sequence until a user-defined match condition function object, when applied
1337
- * to the data contained in the dynamic buffer sequence, indicates a successful
1338
- * match. The call will block until one of the following conditions is true:
1339
- *
1340
- * @li The match condition function object returns a std::pair where the second
1341
- * element evaluates to true.
1342
- *
1343
- * @li An error occurred.
1344
- *
1345
- * This operation is implemented in terms of zero or more calls to the stream's
1346
- * read_some function. If the match condition function object already indicates
1347
- * a match, the function returns immediately.
1348
- *
1349
- * @param s The stream from which the data is to be read. The type must support
1350
- * the SyncReadStream concept.
1351
- *
1352
- * @param buffers A dynamic buffer sequence into which the data will be read.
1353
- *
1354
- * @param match_condition The function object to be called to determine whether
1355
- * a match exists. The signature of the function object must be:
1356
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1357
- * @endcode
1358
- * where @c iterator represents the type:
1359
- * @code buffers_iterator<typename DynamicBuffer_v2::const_buffers_type>
1360
- * @endcode
1361
- * The iterator parameters @c begin and @c end define the range of bytes to be
1362
- * scanned to determine whether there is a match. The @c first member of the
1363
- * return value is an iterator marking one-past-the-end of the bytes that have
1364
- * been consumed by the match function. This iterator is used to calculate the
1365
- * @c begin parameter for any subsequent invocation of the match condition. The
1366
- * @c second member of the return value is true if a match has been found, false
1367
- * otherwise.
1368
- *
1369
- * @returns The number of bytes in the dynamic_buffer's get area that
1370
- * have been fully consumed by the match function.
1371
- *
1372
- * @throws asio::system_error Thrown on failure.
1373
- *
1374
- * @note After a successful read_until operation, the dynamic buffer sequence
1375
- * may contain additional data beyond that which matched the function object.
1376
- * An application will typically leave that data in the dynamic buffer sequence
1377
- * for a subsequent read_until operation to examine.
1378
-
1379
- * @note The default implementation of the @c is_match_condition type trait
1380
- * evaluates to true for function pointers and function objects with a
1381
- * @c result_type typedef. It must be specialised for other user-defined
1382
- * function objects.
1383
- *
1384
- * @par Examples
1385
- * To read data into a dynamic buffer sequence until whitespace is encountered:
1386
- * @code typedef asio::buffers_iterator<
1387
- * asio::const_buffers_1> iterator;
1388
- *
1389
- * std::pair<iterator, bool>
1390
- * match_whitespace(iterator begin, iterator end)
1391
- * {
1392
- * iterator i = begin;
1393
- * while (i != end)
1394
- * if (std::isspace(*i++))
1395
- * return std::make_pair(i, true);
1396
- * return std::make_pair(i, false);
1397
- * }
1398
- * ...
1399
- * std::string data;
1400
- * asio::read_until(s, data, match_whitespace);
1401
- * @endcode
1402
- *
1403
- * To read data into a @c std::string until a matching character is found:
1404
- * @code class match_char
1405
- * {
1406
- * public:
1407
- * explicit match_char(char c) : c_(c) {}
1408
- *
1409
- * template <typename Iterator>
1410
- * std::pair<Iterator, bool> operator()(
1411
- * Iterator begin, Iterator end) const
1412
- * {
1413
- * Iterator i = begin;
1414
- * while (i != end)
1415
- * if (c_ == *i++)
1416
- * return std::make_pair(i, true);
1417
- * return std::make_pair(i, false);
1418
- * }
1419
- *
1420
- * private:
1421
- * char c_;
1422
- * };
1423
- *
1424
- * namespace asio {
1425
- * template <> struct is_match_condition<match_char>
1426
- * : public boost::true_type {};
1427
- * } // namespace asio
1428
- * ...
1429
- * std::string data;
1430
- * asio::read_until(s, data, match_char('a'));
1431
- * @endcode
1432
- */
1433
- template <typename SyncReadStream,
1434
- typename DynamicBuffer_v2, typename MatchCondition>
1435
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1436
- MatchCondition match_condition,
1437
- typename enable_if<
1438
- is_match_condition<MatchCondition>::value
1439
- && is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1440
- >::type* = 0);
1441
-
1442
- /// Read data into a dynamic buffer sequence until a function object indicates a
1443
- /// match.
1444
- /**
1445
- * This function is used to read data into the specified dynamic buffer
1446
- * sequence until a user-defined match condition function object, when applied
1447
- * to the data contained in the dynamic buffer sequence, indicates a successful
1448
- * match. The call will block until one of the following conditions is true:
1449
- *
1450
- * @li The match condition function object returns a std::pair where the second
1451
- * element evaluates to true.
1452
- *
1453
- * @li An error occurred.
1454
- *
1455
- * This operation is implemented in terms of zero or more calls to the stream's
1456
- * read_some function. If the match condition function object already indicates
1457
- * a match, the function returns immediately.
1458
- *
1459
- * @param s The stream from which the data is to be read. The type must support
1460
- * the SyncReadStream concept.
1461
- *
1462
- * @param buffers A dynamic buffer sequence into which the data will be read.
1463
- *
1464
- * @param match_condition The function object to be called to determine whether
1465
- * a match exists. The signature of the function object must be:
1466
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1467
- * @endcode
1468
- * where @c iterator represents the type:
1469
- * @code buffers_iterator<DynamicBuffer_v2::const_buffers_type>
1470
- * @endcode
1471
- * The iterator parameters @c begin and @c end define the range of bytes to be
1472
- * scanned to determine whether there is a match. The @c first member of the
1473
- * return value is an iterator marking one-past-the-end of the bytes that have
1474
- * been consumed by the match function. This iterator is used to calculate the
1475
- * @c begin parameter for any subsequent invocation of the match condition. The
1476
- * @c second member of the return value is true if a match has been found, false
1477
- * otherwise.
1478
- *
1479
- * @param ec Set to indicate what error occurred, if any.
1480
- *
1481
- * @returns The number of bytes in the dynamic buffer sequence's get area that
1482
- * have been fully consumed by the match function. Returns 0 if an error
1483
- * occurred.
1484
- *
1485
- * @note After a successful read_until operation, the dynamic buffer sequence
1486
- * may contain additional data beyond that which matched the function object.
1487
- * An application will typically leave that data in the dynamic buffer sequence
1488
- * for a subsequent read_until operation to examine.
1489
- *
1490
- * @note The default implementation of the @c is_match_condition type trait
1491
- * evaluates to true for function pointers and function objects with a
1492
- * @c result_type typedef. It must be specialised for other user-defined
1493
- * function objects.
1494
- */
1495
- template <typename SyncReadStream,
1496
- typename DynamicBuffer_v2, typename MatchCondition>
1497
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1498
- MatchCondition match_condition, asio::error_code& ec,
1499
- typename enable_if<
1500
- is_match_condition<MatchCondition>::value
1501
- && is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1502
- >::type* = 0);
1503
-
1504
- #endif // !defined(ASIO_NO_EXTENSIONS)
1505
-
1506
- /*@}*/
1507
- /**
1508
- * @defgroup async_read_until asio::async_read_until
1509
- *
1510
- * @brief The @c async_read_until function is a composed asynchronous operation
1511
- * that reads data into a dynamic buffer sequence, or into a streambuf, until
1512
- * it contains a delimiter, matches a regular expression, or a function object
1513
- * indicates a match.
1514
- */
1515
- /*@{*/
1516
-
1517
- #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
1518
-
1519
- /// Start an asynchronous operation to read data into a dynamic buffer sequence
1520
- /// until it contains a specified delimiter.
1521
- /**
1522
- * This function is used to asynchronously read data into the specified dynamic
1523
- * buffer sequence until the dynamic buffer sequence's get area contains the
1524
- * specified delimiter. The function call always returns immediately. The
1525
- * asynchronous operation will continue until one of the following conditions
1526
- * is true:
1527
- *
1528
- * @li The get area of the dynamic buffer sequence contains the specified
1529
- * delimiter.
1530
- *
1531
- * @li An error occurred.
1532
- *
1533
- * This operation is implemented in terms of zero or more calls to the stream's
1534
- * async_read_some function, and is known as a <em>composed operation</em>. If
1535
- * the dynamic buffer sequence's get area already contains the delimiter, this
1536
- * asynchronous operation completes immediately. The program must ensure that
1537
- * the stream performs no other read operations (such as async_read,
1538
- * async_read_until, the stream's async_read_some function, or any other
1539
- * composed operations that perform reads) until this operation completes.
1540
- *
1541
- * @param s The stream from which the data is to be read. The type must support
1542
- * the AsyncReadStream concept.
1543
- *
1544
- * @param buffers The dynamic buffer sequence into which the data will be read.
1545
- * Although the buffers object may be copied as necessary, ownership of the
1546
- * underlying memory blocks is retained by the caller, which must guarantee
1547
- * that they remain valid until the handler is called.
1548
- *
1549
- * @param delim The delimiter character.
1550
- *
1551
- * @param handler The handler to be called when the read operation completes.
1552
- * Copies will be made of the handler as required. The function signature of the
1553
- * handler must be:
1554
- * @code void handler(
1555
- * // Result of operation.
1556
- * const asio::error_code& error,
1557
- *
1558
- * // The number of bytes in the dynamic buffer sequence's
1559
- * // get area up to and including the delimiter.
1560
- * // 0 if an error occurred.
1561
- * std::size_t bytes_transferred
1562
- * ); @endcode
1563
- * Regardless of whether the asynchronous operation completes immediately or
1564
- * not, the handler will not be invoked from within this function. On
1565
- * immediate completion, invocation of the handler will be performed in a
1566
- * manner equivalent to using asio::post().
1567
- *
1568
- * @note After a successful async_read_until operation, the dynamic buffer
1569
- * sequence may contain additional data beyond the delimiter. An application
1570
- * will typically leave that data in the dynamic buffer sequence for a
1571
- * subsequent async_read_until operation to examine.
1572
- *
1573
- * @par Example
1574
- * To asynchronously read data into a @c std::string until a newline is
1575
- * encountered:
1576
- * @code std::string data;
1577
- * ...
1578
- * void handler(const asio::error_code& e, std::size_t size)
1579
- * {
1580
- * if (!e)
1581
- * {
1582
- * std::string line = data.substr(0, n);
1583
- * data.erase(0, n);
1584
- * ...
1585
- * }
1586
- * }
1587
- * ...
1588
- * asio::async_read_until(s, data, '\n', handler); @endcode
1589
- * After the @c async_read_until operation completes successfully, the buffer
1590
- * @c data contains the delimiter:
1591
- * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
1592
- * The call to @c substr then extracts the data up to and including the
1593
- * delimiter, so that the string @c line contains:
1594
- * @code { 'a', 'b', ..., 'c', '\n' } @endcode
1595
- * After the call to @c erase, the remaining data is left in the buffer @c data
1596
- * as follows:
1597
- * @code { 'd', 'e', ... } @endcode
1598
- * This data may be the start of a new line, to be extracted by a subsequent
1599
- * @c async_read_until operation.
1600
- */
1601
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1602
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1603
- std::size_t)) ReadHandler
1604
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1605
- typename AsyncReadStream::executor_type)>
1606
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1607
- void (asio::error_code, std::size_t))
1608
- async_read_until(AsyncReadStream& s,
1609
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers, char delim,
1610
- ASIO_MOVE_ARG(ReadHandler) handler
1611
- ASIO_DEFAULT_COMPLETION_TOKEN(
1612
- typename AsyncReadStream::executor_type),
1613
- typename enable_if<
1614
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1615
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1616
- >::type* = 0);
1617
-
1618
- /// Start an asynchronous operation to read data into a dynamic buffer sequence
1619
- /// until it contains a specified delimiter.
1620
- /**
1621
- * This function is used to asynchronously read data into the specified dynamic
1622
- * buffer sequence until the dynamic buffer sequence's get area contains the
1623
- * specified delimiter. The function call always returns immediately. The
1624
- * asynchronous operation will continue until one of the following conditions
1625
- * is true:
1626
- *
1627
- * @li The get area of the dynamic buffer sequence contains the specified
1628
- * delimiter.
1629
- *
1630
- * @li An error occurred.
1631
- *
1632
- * This operation is implemented in terms of zero or more calls to the stream's
1633
- * async_read_some function, and is known as a <em>composed operation</em>. If
1634
- * the dynamic buffer sequence's get area already contains the delimiter, this
1635
- * asynchronous operation completes immediately. The program must ensure that
1636
- * the stream performs no other read operations (such as async_read,
1637
- * async_read_until, the stream's async_read_some function, or any other
1638
- * composed operations that perform reads) until this operation completes.
1639
- *
1640
- * @param s The stream from which the data is to be read. The type must support
1641
- * the AsyncReadStream concept.
1642
- *
1643
- * @param buffers The dynamic buffer sequence into which the data will be read.
1644
- * Although the buffers object may be copied as necessary, ownership of the
1645
- * underlying memory blocks is retained by the caller, which must guarantee
1646
- * that they remain valid until the handler is called.
1647
- *
1648
- * @param delim The delimiter string.
1649
- *
1650
- * @param handler The handler to be called when the read operation completes.
1651
- * Copies will be made of the handler as required. The function signature of the
1652
- * handler must be:
1653
- * @code void handler(
1654
- * // Result of operation.
1655
- * const asio::error_code& error,
1656
- *
1657
- * // The number of bytes in the dynamic buffer sequence's
1658
- * // get area up to and including the delimiter.
1659
- * // 0 if an error occurred.
1660
- * std::size_t bytes_transferred
1661
- * ); @endcode
1662
- * Regardless of whether the asynchronous operation completes immediately or
1663
- * not, the handler will not be invoked from within this function. On
1664
- * immediate completion, invocation of the handler will be performed in a
1665
- * manner equivalent to using asio::post().
1666
- *
1667
- * @note After a successful async_read_until operation, the dynamic buffer
1668
- * sequence may contain additional data beyond the delimiter. An application
1669
- * will typically leave that data in the dynamic buffer sequence for a
1670
- * subsequent async_read_until operation to examine.
1671
- *
1672
- * @par Example
1673
- * To asynchronously read data into a @c std::string until a CR-LF sequence is
1674
- * encountered:
1675
- * @code std::string data;
1676
- * ...
1677
- * void handler(const asio::error_code& e, std::size_t size)
1678
- * {
1679
- * if (!e)
1680
- * {
1681
- * std::string line = data.substr(0, n);
1682
- * data.erase(0, n);
1683
- * ...
1684
- * }
1685
- * }
1686
- * ...
1687
- * asio::async_read_until(s, data, "\r\n", handler); @endcode
1688
- * After the @c async_read_until operation completes successfully, the string
1689
- * @c data contains the delimiter:
1690
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1691
- * The call to @c substr then extracts the data up to and including the
1692
- * delimiter, so that the string @c line contains:
1693
- * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1694
- * After the call to @c erase, the remaining data is left in the string @c data
1695
- * as follows:
1696
- * @code { 'd', 'e', ... } @endcode
1697
- * This data may be the start of a new line, to be extracted by a subsequent
1698
- * @c async_read_until operation.
1699
- */
1700
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1701
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1702
- std::size_t)) ReadHandler
1703
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1704
- typename AsyncReadStream::executor_type)>
1705
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1706
- void (asio::error_code, std::size_t))
1707
- async_read_until(AsyncReadStream& s,
1708
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1709
- ASIO_STRING_VIEW_PARAM delim,
1710
- ASIO_MOVE_ARG(ReadHandler) handler
1711
- ASIO_DEFAULT_COMPLETION_TOKEN(
1712
- typename AsyncReadStream::executor_type),
1713
- typename enable_if<
1714
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1715
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1716
- >::type* = 0);
1717
-
1718
- #if !defined(ASIO_NO_EXTENSIONS)
1719
- #if defined(ASIO_HAS_BOOST_REGEX) \
1720
- || defined(GENERATING_DOCUMENTATION)
1721
-
1722
- /// Start an asynchronous operation to read data into a dynamic buffer sequence
1723
- /// until some part of its data matches a regular expression.
1724
- /**
1725
- * This function is used to asynchronously read data into the specified dynamic
1726
- * buffer sequence until the dynamic buffer sequence's get area contains some
1727
- * data that matches a regular expression. The function call always returns
1728
- * immediately. The asynchronous operation will continue until one of the
1729
- * following conditions is true:
1730
- *
1731
- * @li A substring of the dynamic buffer sequence's get area matches the regular
1732
- * expression.
1733
- *
1734
- * @li An error occurred.
1735
- *
1736
- * This operation is implemented in terms of zero or more calls to the stream's
1737
- * async_read_some function, and is known as a <em>composed operation</em>. If
1738
- * the dynamic buffer sequence's get area already contains data that matches
1739
- * the regular expression, this asynchronous operation completes immediately.
1740
- * The program must ensure that the stream performs no other read operations
1741
- * (such as async_read, async_read_until, the stream's async_read_some
1742
- * function, or any other composed operations that perform reads) until this
1743
- * operation completes.
1744
- *
1745
- * @param s The stream from which the data is to be read. The type must support
1746
- * the AsyncReadStream concept.
1747
- *
1748
- * @param buffers The dynamic buffer sequence into which the data will be read.
1749
- * Although the buffers object may be copied as necessary, ownership of the
1750
- * underlying memory blocks is retained by the caller, which must guarantee
1751
- * that they remain valid until the handler is called.
1752
- *
1753
- * @param expr The regular expression.
1754
- *
1755
- * @param handler The handler to be called when the read operation completes.
1756
- * Copies will be made of the handler as required. The function signature of the
1757
- * handler must be:
1758
- * @code void handler(
1759
- * // Result of operation.
1760
- * const asio::error_code& error,
1761
- *
1762
- * // The number of bytes in the dynamic buffer
1763
- * // sequence's get area up to and including the
1764
- * // substring that matches the regular expression.
1765
- * // 0 if an error occurred.
1766
- * std::size_t bytes_transferred
1767
- * ); @endcode
1768
- * Regardless of whether the asynchronous operation completes immediately or
1769
- * not, the handler will not be invoked from within this function. On
1770
- * immediate completion, invocation of the handler will be performed in a
1771
- * manner equivalent to using asio::post().
1772
- *
1773
- * @note After a successful async_read_until operation, the dynamic buffer
1774
- * sequence may contain additional data beyond that which matched the regular
1775
- * expression. An application will typically leave that data in the dynamic
1776
- * buffer sequence for a subsequent async_read_until operation to examine.
1777
- *
1778
- * @par Example
1779
- * To asynchronously read data into a @c std::string until a CR-LF sequence is
1780
- * encountered:
1781
- * @code std::string data;
1782
- * ...
1783
- * void handler(const asio::error_code& e, std::size_t size)
1784
- * {
1785
- * if (!e)
1786
- * {
1787
- * std::string line = data.substr(0, n);
1788
- * data.erase(0, n);
1789
- * ...
1790
- * }
1791
- * }
1792
- * ...
1793
- * asio::async_read_until(s, data,
1794
- * boost::regex("\r\n"), handler); @endcode
1795
- * After the @c async_read_until operation completes successfully, the string
1796
- * @c data contains the data which matched the regular expression:
1797
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1798
- * The call to @c substr then extracts the data up to and including the match,
1799
- * so that the string @c line contains:
1800
- * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1801
- * After the call to @c erase, the remaining data is left in the string @c data
1802
- * as follows:
1803
- * @code { 'd', 'e', ... } @endcode
1804
- * This data may be the start of a new line, to be extracted by a subsequent
1805
- * @c async_read_until operation.
1806
- */
1807
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1808
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1809
- std::size_t)) ReadHandler
1810
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1811
- typename AsyncReadStream::executor_type)>
1812
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1813
- void (asio::error_code, std::size_t))
1814
- async_read_until(AsyncReadStream& s,
1815
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1816
- const boost::regex& expr,
1817
- ASIO_MOVE_ARG(ReadHandler) handler
1818
- ASIO_DEFAULT_COMPLETION_TOKEN(
1819
- typename AsyncReadStream::executor_type),
1820
- typename enable_if<
1821
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1822
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1823
- >::type* = 0);
1824
-
1825
- #endif // defined(ASIO_HAS_BOOST_REGEX)
1826
- // || defined(GENERATING_DOCUMENTATION)
1827
-
1828
- /// Start an asynchronous operation to read data into a dynamic buffer sequence
1829
- /// until a function object indicates a match.
1830
- /**
1831
- * This function is used to asynchronously read data into the specified dynamic
1832
- * buffer sequence until a user-defined match condition function object, when
1833
- * applied to the data contained in the dynamic buffer sequence, indicates a
1834
- * successful match. The function call always returns immediately. The
1835
- * asynchronous operation will continue until one of the following conditions
1836
- * is true:
1837
- *
1838
- * @li The match condition function object returns a std::pair where the second
1839
- * element evaluates to true.
1840
- *
1841
- * @li An error occurred.
1842
- *
1843
- * This operation is implemented in terms of zero or more calls to the stream's
1844
- * async_read_some function, and is known as a <em>composed operation</em>. If
1845
- * the match condition function object already indicates a match, this
1846
- * asynchronous operation completes immediately. The program must ensure that
1847
- * the stream performs no other read operations (such as async_read,
1848
- * async_read_until, the stream's async_read_some function, or any other
1849
- * composed operations that perform reads) until this operation completes.
1850
- *
1851
- * @param s The stream from which the data is to be read. The type must support
1852
- * the AsyncReadStream concept.
1853
- *
1854
- * @param buffers The dynamic buffer sequence into which the data will be read.
1855
- * Although the buffers object may be copied as necessary, ownership of the
1856
- * underlying memory blocks is retained by the caller, which must guarantee
1857
- * that they remain valid until the handler is called.
1858
- *
1859
- * @param match_condition The function object to be called to determine whether
1860
- * a match exists. The signature of the function object must be:
1861
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1862
- * @endcode
1863
- * where @c iterator represents the type:
1864
- * @code buffers_iterator<typename DynamicBuffer_v1::const_buffers_type>
1865
- * @endcode
1866
- * The iterator parameters @c begin and @c end define the range of bytes to be
1867
- * scanned to determine whether there is a match. The @c first member of the
1868
- * return value is an iterator marking one-past-the-end of the bytes that have
1869
- * been consumed by the match function. This iterator is used to calculate the
1870
- * @c begin parameter for any subsequent invocation of the match condition. The
1871
- * @c second member of the return value is true if a match has been found, false
1872
- * otherwise.
1873
- *
1874
- * @param handler The handler to be called when the read operation completes.
1875
- * Copies will be made of the handler as required. The function signature of the
1876
- * handler must be:
1877
- * @code void handler(
1878
- * // Result of operation.
1879
- * const asio::error_code& error,
1880
- *
1881
- * // The number of bytes in the dynamic buffer sequence's
1882
- * // get area that have been fully consumed by the match
1883
- * // function. O if an error occurred.
1884
- * std::size_t bytes_transferred
1885
- * ); @endcode
1886
- * Regardless of whether the asynchronous operation completes immediately or
1887
- * not, the handler will not be invoked from within this function. On
1888
- * immediate completion, invocation of the handler will be performed in a
1889
- * manner equivalent to using asio::post().
1890
- *
1891
- * @note After a successful async_read_until operation, the dynamic buffer
1892
- * sequence may contain additional data beyond that which matched the function
1893
- * object. An application will typically leave that data in the dynamic buffer
1894
- * sequence for a subsequent async_read_until operation to examine.
1895
- *
1896
- * @note The default implementation of the @c is_match_condition type trait
1897
- * evaluates to true for function pointers and function objects with a
1898
- * @c result_type typedef. It must be specialised for other user-defined
1899
- * function objects.
1900
- *
1901
- * @par Examples
1902
- * To asynchronously read data into a @c std::string until whitespace is
1903
- * encountered:
1904
- * @code typedef asio::buffers_iterator<
1905
- * asio::const_buffers_1> iterator;
1906
- *
1907
- * std::pair<iterator, bool>
1908
- * match_whitespace(iterator begin, iterator end)
1909
- * {
1910
- * iterator i = begin;
1911
- * while (i != end)
1912
- * if (std::isspace(*i++))
1913
- * return std::make_pair(i, true);
1914
- * return std::make_pair(i, false);
1915
- * }
1916
- * ...
1917
- * void handler(const asio::error_code& e, std::size_t size);
1918
- * ...
1919
- * std::string data;
1920
- * asio::async_read_until(s, data, match_whitespace, handler);
1921
- * @endcode
1922
- *
1923
- * To asynchronously read data into a @c std::string until a matching character
1924
- * is found:
1925
- * @code class match_char
1926
- * {
1927
- * public:
1928
- * explicit match_char(char c) : c_(c) {}
1929
- *
1930
- * template <typename Iterator>
1931
- * std::pair<Iterator, bool> operator()(
1932
- * Iterator begin, Iterator end) const
1933
- * {
1934
- * Iterator i = begin;
1935
- * while (i != end)
1936
- * if (c_ == *i++)
1937
- * return std::make_pair(i, true);
1938
- * return std::make_pair(i, false);
1939
- * }
1940
- *
1941
- * private:
1942
- * char c_;
1943
- * };
1944
- *
1945
- * namespace asio {
1946
- * template <> struct is_match_condition<match_char>
1947
- * : public boost::true_type {};
1948
- * } // namespace asio
1949
- * ...
1950
- * void handler(const asio::error_code& e, std::size_t size);
1951
- * ...
1952
- * std::string data;
1953
- * asio::async_read_until(s, data, match_char('a'), handler);
1954
- * @endcode
1955
- */
1956
- template <typename AsyncReadStream,
1957
- typename DynamicBuffer_v1, typename MatchCondition,
1958
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1959
- std::size_t)) ReadHandler
1960
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1961
- typename AsyncReadStream::executor_type)>
1962
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1963
- void (asio::error_code, std::size_t))
1964
- async_read_until(AsyncReadStream& s,
1965
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1966
- MatchCondition match_condition,
1967
- ASIO_MOVE_ARG(ReadHandler) handler
1968
- ASIO_DEFAULT_COMPLETION_TOKEN(
1969
- typename AsyncReadStream::executor_type),
1970
- typename enable_if<
1971
- is_match_condition<MatchCondition>::value
1972
- && is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1973
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1974
- >::type* = 0);
1975
-
1976
- #if !defined(ASIO_NO_IOSTREAM)
1977
-
1978
- /// Start an asynchronous operation to read data into a streambuf until it
1979
- /// contains a specified delimiter.
1980
- /**
1981
- * This function is used to asynchronously read data into the specified
1982
- * streambuf until the streambuf's get area contains the specified delimiter.
1983
- * The function call always returns immediately. The asynchronous operation
1984
- * will continue until one of the following conditions is true:
1985
- *
1986
- * @li The get area of the streambuf contains the specified delimiter.
1987
- *
1988
- * @li An error occurred.
1989
- *
1990
- * This operation is implemented in terms of zero or more calls to the stream's
1991
- * async_read_some function, and is known as a <em>composed operation</em>. If
1992
- * the streambuf's get area already contains the delimiter, this asynchronous
1993
- * operation completes immediately. The program must ensure that the stream
1994
- * performs no other read operations (such as async_read, async_read_until, the
1995
- * stream's async_read_some function, or any other composed operations that
1996
- * perform reads) until this operation completes.
1997
- *
1998
- * @param s The stream from which the data is to be read. The type must support
1999
- * the AsyncReadStream concept.
2000
- *
2001
- * @param b A streambuf object into which the data will be read. Ownership of
2002
- * the streambuf is retained by the caller, which must guarantee that it remains
2003
- * valid until the handler is called.
2004
- *
2005
- * @param delim The delimiter character.
2006
- *
2007
- * @param handler The handler to be called when the read operation completes.
2008
- * Copies will be made of the handler as required. The function signature of the
2009
- * handler must be:
2010
- * @code void handler(
2011
- * // Result of operation.
2012
- * const asio::error_code& error,
2013
- *
2014
- * // The number of bytes in the streambuf's get
2015
- * // area up to and including the delimiter.
2016
- * // 0 if an error occurred.
2017
- * std::size_t bytes_transferred
2018
- * ); @endcode
2019
- * Regardless of whether the asynchronous operation completes immediately or
2020
- * not, the handler will not be invoked from within this function. On
2021
- * immediate completion, invocation of the handler will be performed in a
2022
- * manner equivalent to using asio::post().
2023
- *
2024
- * @note After a successful async_read_until operation, the streambuf may
2025
- * contain additional data beyond the delimiter. An application will typically
2026
- * leave that data in the streambuf for a subsequent async_read_until operation
2027
- * to examine.
2028
- *
2029
- * @par Example
2030
- * To asynchronously read data into a streambuf until a newline is encountered:
2031
- * @code asio::streambuf b;
2032
- * ...
2033
- * void handler(const asio::error_code& e, std::size_t size)
2034
- * {
2035
- * if (!e)
2036
- * {
2037
- * std::istream is(&b);
2038
- * std::string line;
2039
- * std::getline(is, line);
2040
- * ...
2041
- * }
2042
- * }
2043
- * ...
2044
- * asio::async_read_until(s, b, '\n', handler); @endcode
2045
- * After the @c async_read_until operation completes successfully, the buffer
2046
- * @c b contains the delimiter:
2047
- * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
2048
- * The call to @c std::getline then extracts the data up to and including the
2049
- * newline (which is discarded), so that the string @c line contains:
2050
- * @code { 'a', 'b', ..., 'c' } @endcode
2051
- * The remaining data is left in the buffer @c b as follows:
2052
- * @code { 'd', 'e', ... } @endcode
2053
- * This data may be the start of a new line, to be extracted by a subsequent
2054
- * @c async_read_until operation.
2055
- */
2056
- template <typename AsyncReadStream, typename Allocator,
2057
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2058
- std::size_t)) ReadHandler
2059
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2060
- typename AsyncReadStream::executor_type)>
2061
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2062
- void (asio::error_code, std::size_t))
2063
- async_read_until(AsyncReadStream& s,
2064
- asio::basic_streambuf<Allocator>& b, char delim,
2065
- ASIO_MOVE_ARG(ReadHandler) handler
2066
- ASIO_DEFAULT_COMPLETION_TOKEN(
2067
- typename AsyncReadStream::executor_type));
2068
-
2069
- /// Start an asynchronous operation to read data into a streambuf until it
2070
- /// contains a specified delimiter.
2071
- /**
2072
- * This function is used to asynchronously read data into the specified
2073
- * streambuf until the streambuf's get area contains the specified delimiter.
2074
- * The function call always returns immediately. The asynchronous operation
2075
- * will continue until one of the following conditions is true:
2076
- *
2077
- * @li The get area of the streambuf contains the specified delimiter.
2078
- *
2079
- * @li An error occurred.
2080
- *
2081
- * This operation is implemented in terms of zero or more calls to the stream's
2082
- * async_read_some function, and is known as a <em>composed operation</em>. If
2083
- * the streambuf's get area already contains the delimiter, this asynchronous
2084
- * operation completes immediately. The program must ensure that the stream
2085
- * performs no other read operations (such as async_read, async_read_until, the
2086
- * stream's async_read_some function, or any other composed operations that
2087
- * perform reads) until this operation completes.
2088
- *
2089
- * @param s The stream from which the data is to be read. The type must support
2090
- * the AsyncReadStream concept.
2091
- *
2092
- * @param b A streambuf object into which the data will be read. Ownership of
2093
- * the streambuf is retained by the caller, which must guarantee that it remains
2094
- * valid until the handler is called.
2095
- *
2096
- * @param delim The delimiter string.
2097
- *
2098
- * @param handler The handler to be called when the read operation completes.
2099
- * Copies will be made of the handler as required. The function signature of the
2100
- * handler must be:
2101
- * @code void handler(
2102
- * // Result of operation.
2103
- * const asio::error_code& error,
2104
- *
2105
- * // The number of bytes in the streambuf's get
2106
- * // area up to and including the delimiter.
2107
- * // 0 if an error occurred.
2108
- * std::size_t bytes_transferred
2109
- * ); @endcode
2110
- * Regardless of whether the asynchronous operation completes immediately or
2111
- * not, the handler will not be invoked from within this function. On
2112
- * immediate completion, invocation of the handler will be performed in a
2113
- * manner equivalent to using asio::post().
2114
- *
2115
- * @note After a successful async_read_until operation, the streambuf may
2116
- * contain additional data beyond the delimiter. An application will typically
2117
- * leave that data in the streambuf for a subsequent async_read_until operation
2118
- * to examine.
2119
- *
2120
- * @par Example
2121
- * To asynchronously read data into a streambuf until a newline is encountered:
2122
- * @code asio::streambuf b;
2123
- * ...
2124
- * void handler(const asio::error_code& e, std::size_t size)
2125
- * {
2126
- * if (!e)
2127
- * {
2128
- * std::istream is(&b);
2129
- * std::string line;
2130
- * std::getline(is, line);
2131
- * ...
2132
- * }
2133
- * }
2134
- * ...
2135
- * asio::async_read_until(s, b, "\r\n", handler); @endcode
2136
- * After the @c async_read_until operation completes successfully, the buffer
2137
- * @c b contains the delimiter:
2138
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2139
- * The call to @c std::getline then extracts the data up to and including the
2140
- * newline (which is discarded), so that the string @c line contains:
2141
- * @code { 'a', 'b', ..., 'c', '\r' } @endcode
2142
- * The remaining data is left in the buffer @c b as follows:
2143
- * @code { 'd', 'e', ... } @endcode
2144
- * This data may be the start of a new line, to be extracted by a subsequent
2145
- * @c async_read_until operation.
2146
- */
2147
- template <typename AsyncReadStream, typename Allocator,
2148
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2149
- std::size_t)) ReadHandler
2150
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2151
- typename AsyncReadStream::executor_type)>
2152
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2153
- void (asio::error_code, std::size_t))
2154
- async_read_until(AsyncReadStream& s,
2155
- asio::basic_streambuf<Allocator>& b,
2156
- ASIO_STRING_VIEW_PARAM delim,
2157
- ASIO_MOVE_ARG(ReadHandler) handler
2158
- ASIO_DEFAULT_COMPLETION_TOKEN(
2159
- typename AsyncReadStream::executor_type));
2160
-
2161
- #if defined(ASIO_HAS_BOOST_REGEX) \
2162
- || defined(GENERATING_DOCUMENTATION)
2163
-
2164
- /// Start an asynchronous operation to read data into a streambuf until some
2165
- /// part of its data matches a regular expression.
2166
- /**
2167
- * This function is used to asynchronously read data into the specified
2168
- * streambuf until the streambuf's get area contains some data that matches a
2169
- * regular expression. The function call always returns immediately. The
2170
- * asynchronous operation will continue until one of the following conditions
2171
- * is true:
2172
- *
2173
- * @li A substring of the streambuf's get area matches the regular expression.
2174
- *
2175
- * @li An error occurred.
2176
- *
2177
- * This operation is implemented in terms of zero or more calls to the stream's
2178
- * async_read_some function, and is known as a <em>composed operation</em>. If
2179
- * the streambuf's get area already contains data that matches the regular
2180
- * expression, this asynchronous operation completes immediately. The program
2181
- * must ensure that the stream performs no other read operations (such as
2182
- * async_read, async_read_until, the stream's async_read_some function, or any
2183
- * other composed operations that perform reads) until this operation
2184
- * completes.
2185
- *
2186
- * @param s The stream from which the data is to be read. The type must support
2187
- * the AsyncReadStream concept.
2188
- *
2189
- * @param b A streambuf object into which the data will be read. Ownership of
2190
- * the streambuf is retained by the caller, which must guarantee that it remains
2191
- * valid until the handler is called.
2192
- *
2193
- * @param expr The regular expression.
2194
- *
2195
- * @param handler The handler to be called when the read operation completes.
2196
- * Copies will be made of the handler as required. The function signature of the
2197
- * handler must be:
2198
- * @code void handler(
2199
- * // Result of operation.
2200
- * const asio::error_code& error,
2201
- *
2202
- * // The number of bytes in the streambuf's get
2203
- * // area up to and including the substring
2204
- * // that matches the regular. expression.
2205
- * // 0 if an error occurred.
2206
- * std::size_t bytes_transferred
2207
- * ); @endcode
2208
- * Regardless of whether the asynchronous operation completes immediately or
2209
- * not, the handler will not be invoked from within this function. On
2210
- * immediate completion, invocation of the handler will be performed in a
2211
- * manner equivalent to using asio::post().
2212
- *
2213
- * @note After a successful async_read_until operation, the streambuf may
2214
- * contain additional data beyond that which matched the regular expression. An
2215
- * application will typically leave that data in the streambuf for a subsequent
2216
- * async_read_until operation to examine.
2217
- *
2218
- * @par Example
2219
- * To asynchronously read data into a streambuf until a CR-LF sequence is
2220
- * encountered:
2221
- * @code asio::streambuf b;
2222
- * ...
2223
- * void handler(const asio::error_code& e, std::size_t size)
2224
- * {
2225
- * if (!e)
2226
- * {
2227
- * std::istream is(&b);
2228
- * std::string line;
2229
- * std::getline(is, line);
2230
- * ...
2231
- * }
2232
- * }
2233
- * ...
2234
- * asio::async_read_until(s, b, boost::regex("\r\n"), handler); @endcode
2235
- * After the @c async_read_until operation completes successfully, the buffer
2236
- * @c b contains the data which matched the regular expression:
2237
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2238
- * The call to @c std::getline then extracts the data up to and including the
2239
- * newline (which is discarded), so that the string @c line contains:
2240
- * @code { 'a', 'b', ..., 'c', '\r' } @endcode
2241
- * The remaining data is left in the buffer @c b as follows:
2242
- * @code { 'd', 'e', ... } @endcode
2243
- * This data may be the start of a new line, to be extracted by a subsequent
2244
- * @c async_read_until operation.
2245
- */
2246
- template <typename AsyncReadStream, typename Allocator,
2247
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2248
- std::size_t)) ReadHandler
2249
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2250
- typename AsyncReadStream::executor_type)>
2251
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2252
- void (asio::error_code, std::size_t))
2253
- async_read_until(AsyncReadStream& s,
2254
- asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
2255
- ASIO_MOVE_ARG(ReadHandler) handler
2256
- ASIO_DEFAULT_COMPLETION_TOKEN(
2257
- typename AsyncReadStream::executor_type));
2258
-
2259
- #endif // defined(ASIO_HAS_BOOST_REGEX)
2260
- // || defined(GENERATING_DOCUMENTATION)
2261
-
2262
- /// Start an asynchronous operation to read data into a streambuf until a
2263
- /// function object indicates a match.
2264
- /**
2265
- * This function is used to asynchronously read data into the specified
2266
- * streambuf until a user-defined match condition function object, when applied
2267
- * to the data contained in the streambuf, indicates a successful match. The
2268
- * function call always returns immediately. The asynchronous operation will
2269
- * continue until one of the following conditions is true:
2270
- *
2271
- * @li The match condition function object returns a std::pair where the second
2272
- * element evaluates to true.
2273
- *
2274
- * @li An error occurred.
2275
- *
2276
- * This operation is implemented in terms of zero or more calls to the stream's
2277
- * async_read_some function, and is known as a <em>composed operation</em>. If
2278
- * the match condition function object already indicates a match, this
2279
- * asynchronous operation completes immediately. The program must ensure that
2280
- * the stream performs no other read operations (such as async_read,
2281
- * async_read_until, the stream's async_read_some function, or any other
2282
- * composed operations that perform reads) until this operation completes.
2283
- *
2284
- * @param s The stream from which the data is to be read. The type must support
2285
- * the AsyncReadStream concept.
2286
- *
2287
- * @param b A streambuf object into which the data will be read.
2288
- *
2289
- * @param match_condition The function object to be called to determine whether
2290
- * a match exists. The signature of the function object must be:
2291
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
2292
- * @endcode
2293
- * where @c iterator represents the type:
2294
- * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
2295
- * @endcode
2296
- * The iterator parameters @c begin and @c end define the range of bytes to be
2297
- * scanned to determine whether there is a match. The @c first member of the
2298
- * return value is an iterator marking one-past-the-end of the bytes that have
2299
- * been consumed by the match function. This iterator is used to calculate the
2300
- * @c begin parameter for any subsequent invocation of the match condition. The
2301
- * @c second member of the return value is true if a match has been found, false
2302
- * otherwise.
2303
- *
2304
- * @param handler The handler to be called when the read operation completes.
2305
- * Copies will be made of the handler as required. The function signature of the
2306
- * handler must be:
2307
- * @code void handler(
2308
- * // Result of operation.
2309
- * const asio::error_code& error,
2310
- *
2311
- * // The number of bytes in the streambuf's get
2312
- * // area that have been fully consumed by the
2313
- * // match function. O if an error occurred.
2314
- * std::size_t bytes_transferred
2315
- * ); @endcode
2316
- * Regardless of whether the asynchronous operation completes immediately or
2317
- * not, the handler will not be invoked from within this function. On
2318
- * immediate completion, invocation of the handler will be performed in a
2319
- * manner equivalent to using asio::post().
2320
- *
2321
- * @note After a successful async_read_until operation, the streambuf may
2322
- * contain additional data beyond that which matched the function object. An
2323
- * application will typically leave that data in the streambuf for a subsequent
2324
- * async_read_until operation to examine.
2325
- *
2326
- * @note The default implementation of the @c is_match_condition type trait
2327
- * evaluates to true for function pointers and function objects with a
2328
- * @c result_type typedef. It must be specialised for other user-defined
2329
- * function objects.
2330
- *
2331
- * @par Examples
2332
- * To asynchronously read data into a streambuf until whitespace is encountered:
2333
- * @code typedef asio::buffers_iterator<
2334
- * asio::streambuf::const_buffers_type> iterator;
2335
- *
2336
- * std::pair<iterator, bool>
2337
- * match_whitespace(iterator begin, iterator end)
2338
- * {
2339
- * iterator i = begin;
2340
- * while (i != end)
2341
- * if (std::isspace(*i++))
2342
- * return std::make_pair(i, true);
2343
- * return std::make_pair(i, false);
2344
- * }
2345
- * ...
2346
- * void handler(const asio::error_code& e, std::size_t size);
2347
- * ...
2348
- * asio::streambuf b;
2349
- * asio::async_read_until(s, b, match_whitespace, handler);
2350
- * @endcode
2351
- *
2352
- * To asynchronously read data into a streambuf until a matching character is
2353
- * found:
2354
- * @code class match_char
2355
- * {
2356
- * public:
2357
- * explicit match_char(char c) : c_(c) {}
2358
- *
2359
- * template <typename Iterator>
2360
- * std::pair<Iterator, bool> operator()(
2361
- * Iterator begin, Iterator end) const
2362
- * {
2363
- * Iterator i = begin;
2364
- * while (i != end)
2365
- * if (c_ == *i++)
2366
- * return std::make_pair(i, true);
2367
- * return std::make_pair(i, false);
2368
- * }
2369
- *
2370
- * private:
2371
- * char c_;
2372
- * };
2373
- *
2374
- * namespace asio {
2375
- * template <> struct is_match_condition<match_char>
2376
- * : public boost::true_type {};
2377
- * } // namespace asio
2378
- * ...
2379
- * void handler(const asio::error_code& e, std::size_t size);
2380
- * ...
2381
- * asio::streambuf b;
2382
- * asio::async_read_until(s, b, match_char('a'), handler);
2383
- * @endcode
2384
- */
2385
- template <typename AsyncReadStream, typename Allocator, typename MatchCondition,
2386
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2387
- std::size_t)) ReadHandler
2388
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2389
- typename AsyncReadStream::executor_type)>
2390
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2391
- void (asio::error_code, std::size_t))
2392
- async_read_until(AsyncReadStream& s,
2393
- asio::basic_streambuf<Allocator>& b,
2394
- MatchCondition match_condition,
2395
- ASIO_MOVE_ARG(ReadHandler) handler
2396
- ASIO_DEFAULT_COMPLETION_TOKEN(
2397
- typename AsyncReadStream::executor_type),
2398
- typename enable_if<is_match_condition<MatchCondition>::value>::type* = 0);
2399
-
2400
- #endif // !defined(ASIO_NO_IOSTREAM)
2401
- #endif // !defined(ASIO_NO_EXTENSIONS)
2402
- #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
2403
-
2404
- /// Start an asynchronous operation to read data into a dynamic buffer sequence
2405
- /// until it contains a specified delimiter.
2406
- /**
2407
- * This function is used to asynchronously read data into the specified dynamic
2408
- * buffer sequence until the dynamic buffer sequence's get area contains the
2409
- * specified delimiter. The function call always returns immediately. The
2410
- * asynchronous operation will continue until one of the following conditions
2411
- * is true:
2412
- *
2413
- * @li The get area of the dynamic buffer sequence contains the specified
2414
- * delimiter.
2415
- *
2416
- * @li An error occurred.
2417
- *
2418
- * This operation is implemented in terms of zero or more calls to the stream's
2419
- * async_read_some function, and is known as a <em>composed operation</em>. If
2420
- * the dynamic buffer sequence's get area already contains the delimiter, this
2421
- * asynchronous operation completes immediately. The program must ensure that
2422
- * the stream performs no other read operations (such as async_read,
2423
- * async_read_until, the stream's async_read_some function, or any other
2424
- * composed operations that perform reads) until this operation completes.
2425
- *
2426
- * @param s The stream from which the data is to be read. The type must support
2427
- * the AsyncReadStream concept.
2428
- *
2429
- * @param buffers The dynamic buffer sequence into which the data will be read.
2430
- * Although the buffers object may be copied as necessary, ownership of the
2431
- * underlying memory blocks is retained by the caller, which must guarantee
2432
- * that they remain valid until the handler is called.
2433
- *
2434
- * @param delim The delimiter character.
2435
- *
2436
- * @param handler The handler to be called when the read operation completes.
2437
- * Copies will be made of the handler as required. The function signature of the
2438
- * handler must be:
2439
- * @code void handler(
2440
- * // Result of operation.
2441
- * const asio::error_code& error,
2442
- *
2443
- * // The number of bytes in the dynamic buffer sequence's
2444
- * // get area up to and including the delimiter.
2445
- * // 0 if an error occurred.
2446
- * std::size_t bytes_transferred
2447
- * ); @endcode
2448
- * Regardless of whether the asynchronous operation completes immediately or
2449
- * not, the handler will not be invoked from within this function. On
2450
- * immediate completion, invocation of the handler will be performed in a
2451
- * manner equivalent to using asio::post().
2452
- *
2453
- * @note After a successful async_read_until operation, the dynamic buffer
2454
- * sequence may contain additional data beyond the delimiter. An application
2455
- * will typically leave that data in the dynamic buffer sequence for a
2456
- * subsequent async_read_until operation to examine.
2457
- *
2458
- * @par Example
2459
- * To asynchronously read data into a @c std::string until a newline is
2460
- * encountered:
2461
- * @code std::string data;
2462
- * ...
2463
- * void handler(const asio::error_code& e, std::size_t size)
2464
- * {
2465
- * if (!e)
2466
- * {
2467
- * std::string line = data.substr(0, n);
2468
- * data.erase(0, n);
2469
- * ...
2470
- * }
2471
- * }
2472
- * ...
2473
- * asio::async_read_until(s, data, '\n', handler); @endcode
2474
- * After the @c async_read_until operation completes successfully, the buffer
2475
- * @c data contains the delimiter:
2476
- * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
2477
- * The call to @c substr then extracts the data up to and including the
2478
- * delimiter, so that the string @c line contains:
2479
- * @code { 'a', 'b', ..., 'c', '\n' } @endcode
2480
- * After the call to @c erase, the remaining data is left in the buffer @c data
2481
- * as follows:
2482
- * @code { 'd', 'e', ... } @endcode
2483
- * This data may be the start of a new line, to be extracted by a subsequent
2484
- * @c async_read_until operation.
2485
- */
2486
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2487
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2488
- std::size_t)) ReadHandler
2489
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2490
- typename AsyncReadStream::executor_type)>
2491
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2492
- void (asio::error_code, std::size_t))
2493
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers, char delim,
2494
- ASIO_MOVE_ARG(ReadHandler) handler
2495
- ASIO_DEFAULT_COMPLETION_TOKEN(
2496
- typename AsyncReadStream::executor_type),
2497
- typename enable_if<
2498
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2499
- >::type* = 0);
2500
-
2501
- /// Start an asynchronous operation to read data into a dynamic buffer sequence
2502
- /// until it contains a specified delimiter.
2503
- /**
2504
- * This function is used to asynchronously read data into the specified dynamic
2505
- * buffer sequence until the dynamic buffer sequence's get area contains the
2506
- * specified delimiter. The function call always returns immediately. The
2507
- * asynchronous operation will continue until one of the following conditions
2508
- * is true:
2509
- *
2510
- * @li The get area of the dynamic buffer sequence contains the specified
2511
- * delimiter.
2512
- *
2513
- * @li An error occurred.
2514
- *
2515
- * This operation is implemented in terms of zero or more calls to the stream's
2516
- * async_read_some function, and is known as a <em>composed operation</em>. If
2517
- * the dynamic buffer sequence's get area already contains the delimiter, this
2518
- * asynchronous operation completes immediately. The program must ensure that
2519
- * the stream performs no other read operations (such as async_read,
2520
- * async_read_until, the stream's async_read_some function, or any other
2521
- * composed operations that perform reads) until this operation completes.
2522
- *
2523
- * @param s The stream from which the data is to be read. The type must support
2524
- * the AsyncReadStream concept.
2525
- *
2526
- * @param buffers The dynamic buffer sequence into which the data will be read.
2527
- * Although the buffers object may be copied as necessary, ownership of the
2528
- * underlying memory blocks is retained by the caller, which must guarantee
2529
- * that they remain valid until the handler is called.
2530
- *
2531
- * @param delim The delimiter string.
2532
- *
2533
- * @param handler The handler to be called when the read operation completes.
2534
- * Copies will be made of the handler as required. The function signature of the
2535
- * handler must be:
2536
- * @code void handler(
2537
- * // Result of operation.
2538
- * const asio::error_code& error,
2539
- *
2540
- * // The number of bytes in the dynamic buffer sequence's
2541
- * // get area up to and including the delimiter.
2542
- * // 0 if an error occurred.
2543
- * std::size_t bytes_transferred
2544
- * ); @endcode
2545
- * Regardless of whether the asynchronous operation completes immediately or
2546
- * not, the handler will not be invoked from within this function. On
2547
- * immediate completion, invocation of the handler will be performed in a
2548
- * manner equivalent to using asio::post().
2549
- *
2550
- * @note After a successful async_read_until operation, the dynamic buffer
2551
- * sequence may contain additional data beyond the delimiter. An application
2552
- * will typically leave that data in the dynamic buffer sequence for a
2553
- * subsequent async_read_until operation to examine.
2554
- *
2555
- * @par Example
2556
- * To asynchronously read data into a @c std::string until a CR-LF sequence is
2557
- * encountered:
2558
- * @code std::string data;
2559
- * ...
2560
- * void handler(const asio::error_code& e, std::size_t size)
2561
- * {
2562
- * if (!e)
2563
- * {
2564
- * std::string line = data.substr(0, n);
2565
- * data.erase(0, n);
2566
- * ...
2567
- * }
2568
- * }
2569
- * ...
2570
- * asio::async_read_until(s, data, "\r\n", handler); @endcode
2571
- * After the @c async_read_until operation completes successfully, the string
2572
- * @c data contains the delimiter:
2573
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2574
- * The call to @c substr then extracts the data up to and including the
2575
- * delimiter, so that the string @c line contains:
2576
- * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
2577
- * After the call to @c erase, the remaining data is left in the string @c data
2578
- * as follows:
2579
- * @code { 'd', 'e', ... } @endcode
2580
- * This data may be the start of a new line, to be extracted by a subsequent
2581
- * @c async_read_until operation.
2582
- */
2583
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2584
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2585
- std::size_t)) ReadHandler
2586
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2587
- typename AsyncReadStream::executor_type)>
2588
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2589
- void (asio::error_code, std::size_t))
2590
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2591
- ASIO_STRING_VIEW_PARAM delim,
2592
- ASIO_MOVE_ARG(ReadHandler) handler
2593
- ASIO_DEFAULT_COMPLETION_TOKEN(
2594
- typename AsyncReadStream::executor_type),
2595
- typename enable_if<
2596
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2597
- >::type* = 0);
2598
-
2599
- #if !defined(ASIO_NO_EXTENSIONS)
2600
- #if defined(ASIO_HAS_BOOST_REGEX) \
2601
- || defined(GENERATING_DOCUMENTATION)
2602
-
2603
- /// Start an asynchronous operation to read data into a dynamic buffer sequence
2604
- /// until some part of its data matches a regular expression.
2605
- /**
2606
- * This function is used to asynchronously read data into the specified dynamic
2607
- * buffer sequence until the dynamic buffer sequence's get area contains some
2608
- * data that matches a regular expression. The function call always returns
2609
- * immediately. The asynchronous operation will continue until one of the
2610
- * following conditions is true:
2611
- *
2612
- * @li A substring of the dynamic buffer sequence's get area matches the regular
2613
- * expression.
2614
- *
2615
- * @li An error occurred.
2616
- *
2617
- * This operation is implemented in terms of zero or more calls to the stream's
2618
- * async_read_some function, and is known as a <em>composed operation</em>. If
2619
- * the dynamic buffer sequence's get area already contains data that matches
2620
- * the regular expression, this asynchronous operation completes immediately.
2621
- * The program must ensure that the stream performs no other read operations
2622
- * (such as async_read, async_read_until, the stream's async_read_some
2623
- * function, or any other composed operations that perform reads) until this
2624
- * operation completes.
2625
- *
2626
- * @param s The stream from which the data is to be read. The type must support
2627
- * the AsyncReadStream concept.
2628
- *
2629
- * @param buffers The dynamic buffer sequence into which the data will be read.
2630
- * Although the buffers object may be copied as necessary, ownership of the
2631
- * underlying memory blocks is retained by the caller, which must guarantee
2632
- * that they remain valid until the handler is called.
2633
- *
2634
- * @param expr The regular expression.
2635
- *
2636
- * @param handler The handler to be called when the read operation completes.
2637
- * Copies will be made of the handler as required. The function signature of the
2638
- * handler must be:
2639
- * @code void handler(
2640
- * // Result of operation.
2641
- * const asio::error_code& error,
2642
- *
2643
- * // The number of bytes in the dynamic buffer
2644
- * // sequence's get area up to and including the
2645
- * // substring that matches the regular expression.
2646
- * // 0 if an error occurred.
2647
- * std::size_t bytes_transferred
2648
- * ); @endcode
2649
- * Regardless of whether the asynchronous operation completes immediately or
2650
- * not, the handler will not be invoked from within this function. On
2651
- * immediate completion, invocation of the handler will be performed in a
2652
- * manner equivalent to using asio::post().
2653
- *
2654
- * @note After a successful async_read_until operation, the dynamic buffer
2655
- * sequence may contain additional data beyond that which matched the regular
2656
- * expression. An application will typically leave that data in the dynamic
2657
- * buffer sequence for a subsequent async_read_until operation to examine.
2658
- *
2659
- * @par Example
2660
- * To asynchronously read data into a @c std::string until a CR-LF sequence is
2661
- * encountered:
2662
- * @code std::string data;
2663
- * ...
2664
- * void handler(const asio::error_code& e, std::size_t size)
2665
- * {
2666
- * if (!e)
2667
- * {
2668
- * std::string line = data.substr(0, n);
2669
- * data.erase(0, n);
2670
- * ...
2671
- * }
2672
- * }
2673
- * ...
2674
- * asio::async_read_until(s, data,
2675
- * boost::regex("\r\n"), handler); @endcode
2676
- * After the @c async_read_until operation completes successfully, the string
2677
- * @c data contains the data which matched the regular expression:
2678
- * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2679
- * The call to @c substr then extracts the data up to and including the match,
2680
- * so that the string @c line contains:
2681
- * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
2682
- * After the call to @c erase, the remaining data is left in the string @c data
2683
- * as follows:
2684
- * @code { 'd', 'e', ... } @endcode
2685
- * This data may be the start of a new line, to be extracted by a subsequent
2686
- * @c async_read_until operation.
2687
- */
2688
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2689
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2690
- std::size_t)) ReadHandler
2691
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2692
- typename AsyncReadStream::executor_type)>
2693
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2694
- void (asio::error_code, std::size_t))
2695
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2696
- const boost::regex& expr,
2697
- ASIO_MOVE_ARG(ReadHandler) handler
2698
- ASIO_DEFAULT_COMPLETION_TOKEN(
2699
- typename AsyncReadStream::executor_type),
2700
- typename enable_if<
2701
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2702
- >::type* = 0);
2703
-
2704
- #endif // defined(ASIO_HAS_BOOST_REGEX)
2705
- // || defined(GENERATING_DOCUMENTATION)
2706
-
2707
- /// Start an asynchronous operation to read data into a dynamic buffer sequence
2708
- /// until a function object indicates a match.
2709
- /**
2710
- * This function is used to asynchronously read data into the specified dynamic
2711
- * buffer sequence until a user-defined match condition function object, when
2712
- * applied to the data contained in the dynamic buffer sequence, indicates a
2713
- * successful match. The function call always returns immediately. The
2714
- * asynchronous operation will continue until one of the following conditions
2715
- * is true:
2716
- *
2717
- * @li The match condition function object returns a std::pair where the second
2718
- * element evaluates to true.
2719
- *
2720
- * @li An error occurred.
2721
- *
2722
- * This operation is implemented in terms of zero or more calls to the stream's
2723
- * async_read_some function, and is known as a <em>composed operation</em>. If
2724
- * the match condition function object already indicates a match, this
2725
- * asynchronous operation completes immediately. The program must ensure that
2726
- * the stream performs no other read operations (such as async_read,
2727
- * async_read_until, the stream's async_read_some function, or any other
2728
- * composed operations that perform reads) until this operation completes.
2729
- *
2730
- * @param s The stream from which the data is to be read. The type must support
2731
- * the AsyncReadStream concept.
2732
- *
2733
- * @param buffers The dynamic buffer sequence into which the data will be read.
2734
- * Although the buffers object may be copied as necessary, ownership of the
2735
- * underlying memory blocks is retained by the caller, which must guarantee
2736
- * that they remain valid until the handler is called.
2737
- *
2738
- * @param match_condition The function object to be called to determine whether
2739
- * a match exists. The signature of the function object must be:
2740
- * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
2741
- * @endcode
2742
- * where @c iterator represents the type:
2743
- * @code buffers_iterator<typename DynamicBuffer_v2::const_buffers_type>
2744
- * @endcode
2745
- * The iterator parameters @c begin and @c end define the range of bytes to be
2746
- * scanned to determine whether there is a match. The @c first member of the
2747
- * return value is an iterator marking one-past-the-end of the bytes that have
2748
- * been consumed by the match function. This iterator is used to calculate the
2749
- * @c begin parameter for any subsequent invocation of the match condition. The
2750
- * @c second member of the return value is true if a match has been found, false
2751
- * otherwise.
2752
- *
2753
- * @param handler The handler to be called when the read operation completes.
2754
- * Copies will be made of the handler as required. The function signature of the
2755
- * handler must be:
2756
- * @code void handler(
2757
- * // Result of operation.
2758
- * const asio::error_code& error,
2759
- *
2760
- * // The number of bytes in the dynamic buffer sequence's
2761
- * // get area that have been fully consumed by the match
2762
- * // function. O if an error occurred.
2763
- * std::size_t bytes_transferred
2764
- * ); @endcode
2765
- * Regardless of whether the asynchronous operation completes immediately or
2766
- * not, the handler will not be invoked from within this function. On
2767
- * immediate completion, invocation of the handler will be performed in a
2768
- * manner equivalent to using asio::post().
2769
- *
2770
- * @note After a successful async_read_until operation, the dynamic buffer
2771
- * sequence may contain additional data beyond that which matched the function
2772
- * object. An application will typically leave that data in the dynamic buffer
2773
- * sequence for a subsequent async_read_until operation to examine.
2774
- *
2775
- * @note The default implementation of the @c is_match_condition type trait
2776
- * evaluates to true for function pointers and function objects with a
2777
- * @c result_type typedef. It must be specialised for other user-defined
2778
- * function objects.
2779
- *
2780
- * @par Examples
2781
- * To asynchronously read data into a @c std::string until whitespace is
2782
- * encountered:
2783
- * @code typedef asio::buffers_iterator<
2784
- * asio::const_buffers_1> iterator;
2785
- *
2786
- * std::pair<iterator, bool>
2787
- * match_whitespace(iterator begin, iterator end)
2788
- * {
2789
- * iterator i = begin;
2790
- * while (i != end)
2791
- * if (std::isspace(*i++))
2792
- * return std::make_pair(i, true);
2793
- * return std::make_pair(i, false);
2794
- * }
2795
- * ...
2796
- * void handler(const asio::error_code& e, std::size_t size);
2797
- * ...
2798
- * std::string data;
2799
- * asio::async_read_until(s, data, match_whitespace, handler);
2800
- * @endcode
2801
- *
2802
- * To asynchronously read data into a @c std::string until a matching character
2803
- * is found:
2804
- * @code class match_char
2805
- * {
2806
- * public:
2807
- * explicit match_char(char c) : c_(c) {}
2808
- *
2809
- * template <typename Iterator>
2810
- * std::pair<Iterator, bool> operator()(
2811
- * Iterator begin, Iterator end) const
2812
- * {
2813
- * Iterator i = begin;
2814
- * while (i != end)
2815
- * if (c_ == *i++)
2816
- * return std::make_pair(i, true);
2817
- * return std::make_pair(i, false);
2818
- * }
2819
- *
2820
- * private:
2821
- * char c_;
2822
- * };
2823
- *
2824
- * namespace asio {
2825
- * template <> struct is_match_condition<match_char>
2826
- * : public boost::true_type {};
2827
- * } // namespace asio
2828
- * ...
2829
- * void handler(const asio::error_code& e, std::size_t size);
2830
- * ...
2831
- * std::string data;
2832
- * asio::async_read_until(s, data, match_char('a'), handler);
2833
- * @endcode
2834
- */
2835
- template <typename AsyncReadStream,
2836
- typename DynamicBuffer_v2, typename MatchCondition,
2837
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2838
- std::size_t)) ReadHandler
2839
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
2840
- typename AsyncReadStream::executor_type)>
2841
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2842
- void (asio::error_code, std::size_t))
2843
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2844
- MatchCondition match_condition,
2845
- ASIO_MOVE_ARG(ReadHandler) handler
2846
- ASIO_DEFAULT_COMPLETION_TOKEN(
2847
- typename AsyncReadStream::executor_type),
2848
- typename enable_if<
2849
- is_match_condition<MatchCondition>::value
2850
- && is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2851
- >::type* = 0);
2852
-
2853
- #endif // !defined(ASIO_NO_EXTENSIONS)
2854
-
2855
- /*@}*/
2856
-
2857
- } // namespace asio
2858
-
2859
- #include "asio/detail/pop_options.hpp"
2860
-
2861
- #include "asio/impl/read_until.hpp"
2862
-
2863
- #endif // ASIO_READ_UNTIL_HPP