couchbase 3.0.0.alpha.3-universal-darwin-19 → 3.0.1-universal-darwin-19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1684) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -4
  3. data/ext/CMakeLists.txt +92 -128
  4. data/ext/build_config.hxx.in +20 -0
  5. data/ext/build_version.hxx.in +3 -2
  6. data/ext/cmake/Backtrace.cmake +35 -0
  7. data/ext/cmake/BuildTracing.cmake +6 -0
  8. data/ext/cmake/Cache.cmake +29 -0
  9. data/ext/cmake/CompilerWarnings.cmake +78 -0
  10. data/ext/cmake/PreventInSourceBuilds.cmake +18 -0
  11. data/ext/cmake/Sanitizers.cmake +66 -0
  12. data/ext/cmake/StandardProjectSettings.cmake +40 -0
  13. data/ext/cmake/StaticAnalyzers.cmake +37 -0
  14. data/ext/cmake/Testing.cmake +52 -0
  15. data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
  16. data/ext/cmake/VersionInfo.cmake +37 -0
  17. data/ext/couchbase/bucket.hxx +261 -19
  18. data/ext/couchbase/capabilities.hxx +117 -0
  19. data/ext/couchbase/cbcrypto/cbcrypto.cc +15 -15
  20. data/ext/couchbase/cluster.hxx +179 -87
  21. data/ext/couchbase/cluster_options.hxx +54 -0
  22. data/ext/couchbase/configuration.hxx +438 -44
  23. data/ext/couchbase/couchbase.cxx +3523 -1062
  24. data/ext/couchbase/diagnostics.hxx +251 -0
  25. data/ext/couchbase/document_id.hxx +3 -1
  26. data/ext/couchbase/error_map.hxx +202 -2
  27. data/ext/couchbase/errors.hxx +18 -3
  28. data/ext/couchbase/io/dns_client.hxx +217 -0
  29. data/ext/couchbase/io/dns_codec.hxx +207 -0
  30. data/ext/couchbase/io/dns_config.hxx +116 -0
  31. data/ext/couchbase/io/dns_message.hxx +555 -0
  32. data/ext/couchbase/io/http_command.hxx +95 -0
  33. data/ext/couchbase/io/http_context.hxx +37 -0
  34. data/ext/couchbase/io/http_message.hxx +9 -0
  35. data/ext/couchbase/io/http_parser.hxx +2 -0
  36. data/ext/couchbase/io/http_session.hxx +187 -49
  37. data/ext/couchbase/io/http_session_manager.hxx +182 -0
  38. data/ext/couchbase/io/mcbp_command.hxx +246 -0
  39. data/ext/couchbase/io/mcbp_message.hxx +24 -2
  40. data/ext/couchbase/io/mcbp_session.hxx +558 -163
  41. data/ext/couchbase/io/query_cache.hxx +61 -0
  42. data/ext/couchbase/io/retry_action.hxx +30 -0
  43. data/ext/couchbase/io/retry_context.hxx +38 -0
  44. data/ext/couchbase/io/retry_orchestrator.hxx +112 -0
  45. data/ext/couchbase/io/retry_reason.hxx +235 -0
  46. data/ext/couchbase/io/retry_strategy.hxx +156 -0
  47. data/ext/couchbase/io/streams.hxx +216 -0
  48. data/ext/couchbase/mutation_token.hxx +1 -1
  49. data/ext/couchbase/operations.hxx +33 -1
  50. data/ext/couchbase/operations/analytics_dataset_create.hxx +117 -0
  51. data/ext/couchbase/operations/analytics_dataset_drop.hxx +103 -0
  52. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +107 -0
  53. data/ext/couchbase/operations/analytics_dataverse_create.hxx +104 -0
  54. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +104 -0
  55. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +91 -0
  56. data/ext/couchbase/operations/analytics_index_create.hxx +128 -0
  57. data/ext/couchbase/operations/analytics_index_drop.hxx +110 -0
  58. data/ext/couchbase/operations/analytics_index_get_all.hxx +106 -0
  59. data/ext/couchbase/operations/analytics_link_connect.hxx +102 -0
  60. data/ext/couchbase/operations/analytics_link_disconnect.hxx +101 -0
  61. data/ext/couchbase/operations/bucket_create.hxx +15 -7
  62. data/ext/couchbase/operations/bucket_drop.hxx +5 -3
  63. data/ext/couchbase/operations/bucket_flush.hxx +5 -3
  64. data/ext/couchbase/operations/bucket_get.hxx +5 -3
  65. data/ext/couchbase/operations/bucket_get_all.hxx +5 -3
  66. data/ext/couchbase/operations/bucket_settings.hxx +43 -4
  67. data/ext/couchbase/operations/bucket_update.hxx +15 -7
  68. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +5 -3
  69. data/ext/couchbase/operations/collection_create.hxx +7 -3
  70. data/ext/couchbase/operations/collection_drop.hxx +5 -3
  71. data/ext/couchbase/operations/collections_manifest_get.hxx +70 -0
  72. data/ext/couchbase/operations/design_document.hxx +59 -0
  73. data/ext/couchbase/operations/document_analytics.hxx +293 -0
  74. data/ext/couchbase/operations/document_decrement.hxx +10 -4
  75. data/ext/couchbase/operations/document_exists.hxx +4 -1
  76. data/ext/couchbase/operations/document_get.hxx +7 -1
  77. data/ext/couchbase/operations/document_get_and_lock.hxx +7 -1
  78. data/ext/couchbase/operations/document_get_and_touch.hxx +9 -3
  79. data/ext/couchbase/operations/document_get_projected.hxx +16 -10
  80. data/ext/couchbase/operations/document_increment.hxx +10 -4
  81. data/ext/couchbase/operations/document_insert.hxx +9 -3
  82. data/ext/couchbase/operations/document_lookup_in.hxx +26 -1
  83. data/ext/couchbase/operations/document_mutate_in.hxx +50 -2
  84. data/ext/couchbase/operations/document_query.hxx +103 -17
  85. data/ext/couchbase/operations/document_remove.hxx +7 -1
  86. data/ext/couchbase/operations/document_replace.hxx +9 -3
  87. data/ext/couchbase/operations/document_search.hxx +46 -13
  88. data/ext/couchbase/operations/document_touch.hxx +9 -3
  89. data/ext/couchbase/operations/document_unlock.hxx +7 -1
  90. data/ext/couchbase/operations/document_upsert.hxx +9 -3
  91. data/ext/couchbase/operations/document_view.hxx +228 -0
  92. data/ext/couchbase/operations/group_drop.hxx +71 -0
  93. data/ext/couchbase/operations/group_get.hxx +75 -0
  94. data/ext/couchbase/operations/group_get_all.hxx +70 -0
  95. data/ext/couchbase/operations/group_upsert.hxx +118 -0
  96. data/ext/couchbase/operations/query_index_build_deferred.hxx +4 -4
  97. data/ext/couchbase/operations/query_index_create.hxx +18 -8
  98. data/ext/couchbase/operations/query_index_drop.hxx +16 -6
  99. data/ext/couchbase/operations/query_index_get_all.hxx +15 -5
  100. data/ext/couchbase/operations/rbac.hxx +276 -0
  101. data/ext/couchbase/operations/role_get_all.hxx +70 -0
  102. data/ext/couchbase/operations/scope_create.hxx +10 -4
  103. data/ext/couchbase/operations/scope_drop.hxx +5 -3
  104. data/ext/couchbase/operations/scope_get_all.hxx +5 -3
  105. data/ext/couchbase/operations/search_get_stats.hxx +59 -0
  106. data/ext/couchbase/operations/search_index.hxx +17 -0
  107. data/ext/couchbase/operations/search_index_analyze_document.hxx +3 -3
  108. data/ext/couchbase/operations/search_index_control_ingest.hxx +6 -4
  109. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +3 -3
  110. data/ext/couchbase/operations/search_index_control_query.hxx +3 -3
  111. data/ext/couchbase/operations/search_index_drop.hxx +3 -3
  112. data/ext/couchbase/operations/search_index_get.hxx +3 -3
  113. data/ext/couchbase/operations/search_index_get_all.hxx +3 -3
  114. data/ext/couchbase/operations/search_index_get_documents_count.hxx +26 -18
  115. data/ext/couchbase/operations/search_index_get_stats.hxx +81 -0
  116. data/ext/couchbase/operations/search_index_upsert.hxx +3 -3
  117. data/ext/couchbase/operations/user_drop.hxx +72 -0
  118. data/ext/couchbase/operations/user_get.hxx +76 -0
  119. data/ext/couchbase/operations/user_get_all.hxx +71 -0
  120. data/ext/couchbase/operations/user_upsert.hxx +125 -0
  121. data/ext/couchbase/operations/view_index_drop.hxx +67 -0
  122. data/ext/couchbase/operations/view_index_get.hxx +90 -0
  123. data/ext/couchbase/operations/view_index_get_all.hxx +125 -0
  124. data/ext/couchbase/operations/view_index_upsert.hxx +87 -0
  125. data/ext/couchbase/origin.hxx +178 -0
  126. data/ext/couchbase/platform/backtrace.c +189 -0
  127. data/ext/couchbase/platform/backtrace.h +54 -0
  128. data/ext/couchbase/platform/terminate_handler.cc +123 -0
  129. data/ext/couchbase/platform/terminate_handler.h +36 -0
  130. data/ext/couchbase/protocol/client_opcode.hxx +44 -40
  131. data/ext/couchbase/protocol/client_response.hxx +3 -3
  132. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +6 -8
  133. data/ext/couchbase/protocol/cmd_decrement.hxx +5 -5
  134. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +5 -5
  135. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +9 -7
  136. data/ext/couchbase/protocol/cmd_hello.hxx +10 -0
  137. data/ext/couchbase/protocol/cmd_increment.hxx +5 -5
  138. data/ext/couchbase/protocol/cmd_info.hxx +0 -11
  139. data/ext/couchbase/protocol/cmd_insert.hxx +5 -5
  140. data/ext/couchbase/protocol/cmd_lookup_in.hxx +1 -0
  141. data/ext/couchbase/protocol/cmd_mutate_in.hxx +53 -5
  142. data/ext/couchbase/protocol/cmd_replace.hxx +5 -5
  143. data/ext/couchbase/protocol/cmd_touch.hxx +1 -1
  144. data/ext/couchbase/protocol/cmd_upsert.hxx +5 -5
  145. data/ext/couchbase/protocol/magic.hxx +6 -6
  146. data/ext/couchbase/protocol/server_opcode.hxx +2 -2
  147. data/ext/couchbase/protocol/status.hxx +70 -60
  148. data/ext/couchbase/service_type.hxx +38 -1
  149. data/ext/couchbase/timeout_defaults.hxx +10 -1
  150. data/ext/couchbase/utils/connection_string.hxx +379 -0
  151. data/ext/couchbase/version.hxx +2 -2
  152. data/ext/extconf.rb +72 -24
  153. data/ext/test/test_helper.hxx +141 -0
  154. data/ext/test/test_helper_native.hxx +59 -0
  155. data/ext/test/test_helper_ruby.hxx +72 -0
  156. data/ext/test/test_native_diagnostics.cxx +385 -0
  157. data/ext/test/test_native_trivial_crud.cxx +83 -0
  158. data/ext/test/test_ruby_trivial_crud.cxx +35 -0
  159. data/ext/test/test_ruby_trivial_query.cxx +34 -0
  160. data/ext/third_party/asio/asio/include/asio.hpp +35 -0
  161. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
  162. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +1 -7
  163. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +36 -19
  164. data/ext/third_party/asio/asio/include/asio/async_result.hpp +1 -8
  165. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +14 -4
  166. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +12 -7
  167. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +4 -4
  168. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +11 -7
  169. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +9 -4
  170. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +6 -6
  171. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +4 -4
  172. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +5 -5
  173. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +13 -7
  174. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +7 -3
  175. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +52 -4
  176. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +10 -15
  177. data/ext/third_party/asio/asio/include/asio/buffer.hpp +6 -4
  178. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +380 -9
  179. data/ext/third_party/asio/asio/include/asio/defer.hpp +4 -1
  180. data/ext/third_party/asio/asio/include/asio/detached.hpp +50 -0
  181. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +19 -0
  182. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +144 -26
  183. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  184. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +106 -0
  185. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  186. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +10 -5
  187. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +8 -0
  188. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +360 -37
  189. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +17 -2
  190. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +24 -6
  191. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +32 -14
  192. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +32 -14
  193. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +133 -34
  194. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +42 -0
  195. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +23 -0
  196. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +26 -0
  197. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +370 -45
  198. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +208 -74
  199. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +39 -1
  200. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +12 -15
  201. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +37 -0
  202. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +2 -1
  203. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +661 -274
  204. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +210 -4
  205. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +8 -9
  206. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +5 -4
  207. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +15 -6
  208. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +32 -50
  209. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +3 -0
  210. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +6 -0
  211. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +1 -1
  212. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +13 -0
  213. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +1 -1
  214. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +38 -13
  215. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +12 -6
  216. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +2 -3
  217. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +36 -24
  218. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +17 -10
  219. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +38 -16
  220. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +36 -14
  221. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +21 -11
  222. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +43 -17
  223. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +39 -17
  224. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +44 -21
  225. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +41 -18
  226. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +12 -6
  227. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +3 -1
  228. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +10 -8
  229. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +11 -9
  230. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +8 -0
  231. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +7 -5
  232. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +46 -0
  233. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  234. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +12 -0
  235. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +25 -1
  236. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +4 -1
  237. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +58 -0
  238. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +59 -0
  239. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +144 -1
  240. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +9 -6
  241. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +13 -0
  242. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +9 -5
  243. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +9 -5
  244. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +5 -1
  245. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +10 -6
  246. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +9 -5
  247. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +18 -6
  248. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +15 -11
  249. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +10 -5
  250. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +8 -4
  251. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +8 -4
  252. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +8 -4
  253. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +8 -4
  254. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +10 -5
  255. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +8 -4
  256. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +8 -4
  257. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +8 -4
  258. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +8 -4
  259. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +81 -6
  260. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +45 -9
  261. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +4 -1
  262. data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
  263. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
  264. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
  265. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  266. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
  267. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
  268. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
  269. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
  270. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
  271. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
  272. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
  273. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  274. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  275. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  276. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  277. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  278. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  279. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
  280. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
  281. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  282. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  283. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  284. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
  285. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
  286. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  287. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
  288. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
  289. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  290. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  291. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
  292. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
  293. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  294. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  295. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
  296. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
  297. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
  298. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
  299. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  300. data/ext/third_party/asio/asio/include/asio/executor.hpp +7 -1
  301. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +126 -9
  302. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +28 -5
  303. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +29 -3
  304. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +14 -0
  305. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +44 -8
  306. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +44 -8
  307. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +145 -7
  308. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +124 -22
  309. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +52 -8
  310. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +147 -12
  311. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +142 -12
  312. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +15 -101
  313. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +5 -0
  314. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +13 -4
  315. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +144 -57
  316. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  317. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +147 -12
  318. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +85 -18
  319. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +59 -14
  320. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +241 -56
  321. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +22 -4
  322. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +58 -22
  323. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +3 -0
  324. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +16 -4
  325. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +113 -12
  326. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +260 -37
  327. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +61 -7
  328. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +5 -2
  329. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +147 -6
  330. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +75 -14
  331. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -11
  332. data/ext/third_party/asio/asio/include/asio/io_context.hpp +706 -48
  333. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +3 -1
  334. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +4 -4
  335. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  336. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  337. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +4 -4
  338. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +5 -5
  339. data/ext/third_party/asio/asio/include/asio/post.hpp +4 -1
  340. data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
  341. data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
  342. data/ext/third_party/asio/asio/include/asio/read_until.hpp +6 -6
  343. data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
  344. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
  345. data/ext/third_party/asio/asio/include/asio/spawn.hpp +12 -4
  346. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +5 -0
  347. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +5 -0
  348. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +5 -0
  349. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +16 -3
  350. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +38 -4
  351. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +5 -0
  352. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +5 -0
  353. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +36 -2
  354. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +10 -1
  355. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +15 -0
  356. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  357. data/ext/third_party/asio/asio/include/asio/strand.hpp +232 -9
  358. data/ext/third_party/asio/asio/include/asio/system_context.hpp +12 -3
  359. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +557 -24
  360. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +913 -37
  361. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  362. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  363. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  364. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  365. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  366. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  367. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  368. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  369. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  370. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  371. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  372. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  373. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  374. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  375. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  376. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  377. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  378. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  379. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  380. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  381. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  382. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  383. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  384. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  385. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  386. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  387. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  388. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  389. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
  390. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  391. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  392. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +1 -0
  393. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +67 -8
  394. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +63 -4
  395. data/ext/third_party/asio/asio/include/asio/version.hpp +1 -1
  396. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +4 -4
  397. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +2 -2
  398. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +5 -5
  399. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +5 -5
  400. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +4 -2
  401. data/ext/third_party/gsl/CMakeLists.txt +13 -5
  402. data/ext/third_party/gsl/include/gsl/gsl_assert +1 -1
  403. data/ext/third_party/gsl/include/gsl/gsl_byte +3 -3
  404. data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
  405. data/ext/third_party/gsl/include/gsl/gsl_util +8 -50
  406. data/ext/third_party/gsl/include/gsl/multi_span +0 -10
  407. data/ext/third_party/gsl/include/gsl/pointers +14 -28
  408. data/ext/third_party/gsl/include/gsl/span +98 -46
  409. data/ext/third_party/gsl/include/gsl/string_span +37 -47
  410. data/ext/third_party/http_parser/http_parser.c +17 -10
  411. data/ext/third_party/http_parser/http_parser.h +4 -2
  412. data/ext/third_party/json/include/tao/json/basic_value.hpp +3 -2
  413. data/ext/third_party/json/include/tao/json/binary.hpp +4 -4
  414. data/ext/third_party/json/include/tao/json/binary_view.hpp +2 -2
  415. data/ext/third_party/json/include/tao/json/binding.hpp +2 -2
  416. data/ext/third_party/json/include/tao/json/binding/factory.hpp +8 -7
  417. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +2 -1
  418. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +6 -5
  419. data/ext/third_party/json/include/tao/json/binding/versions.hpp +3 -1
  420. data/ext/third_party/json/include/tao/json/cbor.hpp +1 -0
  421. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +7 -7
  422. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
  423. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +4 -4
  424. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +3 -3
  425. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  426. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +5 -5
  427. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +2 -1
  428. data/ext/third_party/json/include/tao/json/consume_file.hpp +7 -7
  429. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +13 -6
  430. data/ext/third_party/json/include/tao/json/contrib/position.hpp +15 -15
  431. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +5 -7
  432. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +58 -35
  433. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +12 -4
  434. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +12 -4
  435. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +1 -1
  436. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +2 -2
  437. data/ext/third_party/json/include/tao/json/events/compare.hpp +2 -12
  438. data/ext/third_party/json/include/tao/json/events/from_file.hpp +4 -4
  439. data/ext/third_party/json/include/tao/json/events/from_string.hpp +2 -2
  440. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +1 -1
  441. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +3 -3
  442. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +1 -1
  443. data/ext/third_party/json/include/tao/json/events/tee.hpp +2 -2
  444. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +1 -1
  445. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +1 -1
  446. data/ext/third_party/json/include/tao/json/events/transformer.hpp +3 -3
  447. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +3 -3
  448. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +6 -0
  449. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +4 -13
  450. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +3 -5
  451. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +5 -18
  452. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +3 -3
  453. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +2 -2
  454. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +6 -6
  455. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +5 -5
  456. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +2 -2
  457. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +6 -6
  458. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +5 -5
  459. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +52 -52
  460. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
  461. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
  462. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
  463. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
  464. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
  465. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +37 -18
  466. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +20 -22
  467. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +6 -10
  468. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +6 -10
  469. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +2 -4
  470. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +11 -10
  471. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +116 -131
  472. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +62 -0
  473. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +206 -0
  474. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +106 -0
  475. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +54 -0
  476. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +33 -0
  477. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +45 -0
  478. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +32 -0
  479. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +54 -0
  480. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +43 -0
  481. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +77 -0
  482. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  483. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +80 -201
  484. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +11 -10
  485. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
  486. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
  487. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +45 -36
  488. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +33 -50
  489. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
  490. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +43 -11
  491. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +1 -2
  492. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
  493. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
  494. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
  495. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +62 -0
  496. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +62 -0
  497. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +63 -0
  498. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +36 -0
  499. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +14 -14
  500. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +1 -1
  501. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +49 -0
  502. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +49 -0
  503. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +2 -3
  504. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +138 -0
  505. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +2 -2
  506. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +2 -2
  507. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +2 -2
  508. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +2 -2
  509. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +2 -2
  510. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +1 -1
  511. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +19 -9
  512. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +7 -8
  513. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +14 -14
  514. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +9 -9
  515. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +8 -7
  516. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +4 -4
  517. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +17 -15
  518. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +7 -6
  519. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +8 -8
  520. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +4 -4
  521. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +3 -3
  522. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +17 -10
  523. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +19 -9
  524. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +2 -2
  525. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +2 -2
  526. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +2 -2
  527. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +1 -1
  528. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +16 -0
  529. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +19 -9
  530. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +7 -6
  531. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +19 -9
  532. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +25 -0
  533. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +7 -6
  534. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +8 -7
  535. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +8 -7
  536. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
  537. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +61 -10
  538. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +27 -33
  539. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +29 -26
  540. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +3 -7
  541. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +3 -7
  542. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +4 -20
  543. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
  544. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +8 -7
  545. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +8 -9
  546. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +2 -0
  547. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +7 -7
  548. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +1 -2
  549. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +11 -11
  550. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +7 -10
  551. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +2 -2
  552. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +2 -2
  553. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +4 -2
  554. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +1 -1
  555. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +3 -5
  556. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
  557. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +5 -2
  558. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +5 -2
  559. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +16 -24
  560. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +17 -15
  561. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +23 -12
  562. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +16 -16
  563. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
  564. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +5 -5
  565. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +12 -13
  566. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +18 -11
  567. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +8 -17
  568. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +22 -17
  569. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +28 -18
  570. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +12 -9
  571. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +26 -25
  572. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +23 -21
  573. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +24 -9
  574. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +10 -10
  575. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +4 -4
  576. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +18 -33
  577. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +24 -17
  578. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +13 -8
  579. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +21 -11
  580. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +11 -11
  581. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
  582. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +16 -16
  583. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +18 -14
  584. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +2 -3
  585. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +125 -29
  586. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +32 -48
  587. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +16 -16
  588. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
  589. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +25 -25
  590. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +1 -2
  591. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +6 -8
  592. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +80 -35
  593. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +18 -10
  594. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +18 -38
  595. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +6 -5
  596. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +3 -5
  597. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
  598. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
  599. data/ext/third_party/json/include/tao/json/from_file.hpp +5 -5
  600. data/ext/third_party/json/include/tao/json/internal/action.hpp +3 -3
  601. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  602. data/ext/third_party/json/include/tao/json/internal/errors.hpp +17 -17
  603. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -2
  604. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +17 -17
  605. data/ext/third_party/json/include/tao/json/internal/pair.hpp +1 -1
  606. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +8 -8
  607. data/ext/third_party/json/include/tao/json/internal/single.hpp +1 -1
  608. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +12 -29
  609. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +7 -7
  610. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +4 -4
  611. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +2 -2
  612. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +5 -5
  613. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +6 -6
  614. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +2 -2
  615. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +43 -43
  616. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +36 -36
  617. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +10 -11
  618. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +2 -2
  619. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +1 -3
  620. data/ext/third_party/json/include/tao/json/message_extension.hpp +2 -2
  621. data/ext/third_party/json/include/tao/json/msgpack.hpp +1 -0
  622. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +7 -7
  623. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
  624. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +4 -4
  625. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +4 -4
  626. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +4 -4
  627. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  628. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +5 -5
  629. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +2 -1
  630. data/ext/third_party/json/include/tao/json/operators.hpp +0 -4
  631. data/ext/third_party/json/include/tao/json/parts_parser.hpp +3 -7
  632. data/ext/third_party/json/include/tao/json/self_contained.hpp +6 -18
  633. data/ext/third_party/json/include/tao/json/span.hpp +94 -166
  634. data/ext/third_party/json/include/tao/json/ubjson.hpp +1 -0
  635. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +7 -7
  636. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
  637. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +4 -4
  638. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +3 -3
  639. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  640. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +5 -5
  641. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +5 -3
  642. data/ext/third_party/json/include/tao/json/utf8.hpp +1 -1
  643. data/ext/third_party/snappy/snappy.cc +6 -2
  644. data/ext/third_party/spdlog/CMakeLists.txt +24 -57
  645. data/ext/third_party/spdlog/cmake/version.rc.in +1 -1
  646. data/ext/third_party/spdlog/include/spdlog/async.h +3 -3
  647. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +3 -4
  648. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +6 -4
  649. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +22 -6
  650. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +3 -2
  651. data/ext/third_party/spdlog/include/spdlog/common.h +1 -2
  652. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +9 -1
  653. data/ext/third_party/spdlog/include/spdlog/details/os.h +1 -1
  654. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +21 -7
  655. data/ext/third_party/spdlog/include/spdlog/details/registry.h +6 -3
  656. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +1 -1
  657. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +1 -1
  658. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +8 -7
  659. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +2 -2
  660. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +66 -62
  661. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +35 -37
  662. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +173 -103
  663. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +538 -445
  664. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +114 -64
  665. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +1152 -1071
  666. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +16 -16
  667. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
  668. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +37 -13
  669. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +1 -1
  670. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +93 -63
  671. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +35 -36
  672. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  673. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +2 -0
  674. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +5 -1
  675. data/ext/third_party/spdlog/include/spdlog/logger.h +50 -76
  676. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +23 -8
  677. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +3 -3
  678. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +1 -1
  679. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +5 -5
  680. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +6 -4
  681. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +32 -3
  682. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +7 -0
  683. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +4 -14
  684. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +11 -1
  685. data/ext/third_party/spdlog/include/spdlog/spdlog.h +23 -68
  686. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
  687. data/ext/third_party/spdlog/include/spdlog/version.h +2 -2
  688. data/ext/third_party/spdlog/src/fmt.cpp +21 -147
  689. data/lib/couchbase.rb +0 -1
  690. data/lib/couchbase/analytics_options.rb +177 -0
  691. data/lib/couchbase/authenticator.rb +14 -0
  692. data/lib/couchbase/binary_collection.rb +9 -9
  693. data/lib/couchbase/binary_collection_options.rb +10 -8
  694. data/lib/couchbase/bucket.rb +55 -3
  695. data/lib/couchbase/cluster.rb +286 -287
  696. data/lib/couchbase/collection.rb +50 -40
  697. data/lib/couchbase/collection_options.rb +97 -17
  698. data/lib/couchbase/common_options.rb +1 -1
  699. data/lib/couchbase/datastructures.rb +18 -0
  700. data/lib/couchbase/datastructures/couchbase_list.rb +171 -0
  701. data/lib/couchbase/datastructures/couchbase_map.rb +205 -0
  702. data/lib/couchbase/datastructures/couchbase_queue.rb +145 -0
  703. data/lib/couchbase/datastructures/couchbase_set.rb +139 -0
  704. data/lib/couchbase/errors.rb +79 -66
  705. data/lib/couchbase/json_transcoder.rb +2 -2
  706. data/lib/couchbase/libcouchbase.bundle +0 -0
  707. data/lib/couchbase/management/analytics_index_manager.rb +139 -25
  708. data/lib/couchbase/management/bucket_manager.rb +61 -28
  709. data/lib/couchbase/management/collection_manager.rb +3 -3
  710. data/lib/couchbase/management/query_index_manager.rb +59 -14
  711. data/lib/couchbase/management/search_index_manager.rb +57 -13
  712. data/lib/couchbase/management/user_manager.rb +157 -50
  713. data/lib/couchbase/management/view_index_manager.rb +70 -11
  714. data/lib/couchbase/mutation_state.rb +13 -0
  715. data/lib/couchbase/query_options.rb +263 -0
  716. data/lib/couchbase/scope.rb +62 -8
  717. data/lib/couchbase/search_options.rb +121 -33
  718. data/lib/couchbase/subdoc.rb +87 -23
  719. data/lib/couchbase/version.rb +2 -2
  720. data/lib/couchbase/view_options.rb +155 -0
  721. metadata +224 -1035
  722. data/.github/workflows/tests-6.0.3.yml +0 -49
  723. data/.github/workflows/tests-dev-preview.yml +0 -52
  724. data/.github/workflows/tests.yml +0 -47
  725. data/.gitignore +0 -20
  726. data/.gitmodules +0 -21
  727. data/.idea/.gitignore +0 -5
  728. data/.idea/dictionaries/gem_terms.xml +0 -18
  729. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  730. data/.idea/vcs.xml +0 -13
  731. data/.yardopts +0 -1
  732. data/Gemfile +0 -24
  733. data/Rakefile +0 -51
  734. data/bin/console +0 -21
  735. data/bin/init-cluster +0 -70
  736. data/bin/setup +0 -24
  737. data/couchbase.gemspec +0 -47
  738. data/examples/crud.rb +0 -20
  739. data/examples/managing_buckets.rb +0 -47
  740. data/examples/managing_collections.rb +0 -58
  741. data/examples/managing_query_indexes.rb +0 -63
  742. data/examples/managing_search_indexes.rb +0 -62
  743. data/examples/query.rb +0 -18
  744. data/examples/query_with_consistency.rb +0 -76
  745. data/examples/search.rb +0 -187
  746. data/examples/subdocument.rb +0 -51
  747. data/ext/.clang-format +0 -15
  748. data/ext/.clang-tidy +0 -21
  749. data/ext/.cmake-format.yaml +0 -8
  750. data/ext/.gitignore +0 -2
  751. data/ext/.idea/.name +0 -1
  752. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  753. data/ext/.idea/ext.iml +0 -2
  754. data/ext/.idea/misc.xml +0 -4
  755. data/ext/.idea/modules.xml +0 -8
  756. data/ext/.idea/vcs.xml +0 -12
  757. data/ext/couchbase/configuration_monitor.hxx +0 -93
  758. data/ext/couchbase/io/session_manager.hxx +0 -127
  759. data/ext/couchbase/operations/command.hxx +0 -152
  760. data/ext/test/main.cxx +0 -67
  761. data/ext/third_party/asio/.appveyor.yml +0 -107
  762. data/ext/third_party/asio/.cirrus.yml +0 -16
  763. data/ext/third_party/asio/.gitignore +0 -3
  764. data/ext/third_party/asio/.travis.yml +0 -323
  765. data/ext/third_party/asio/asio/.gitignore +0 -23
  766. data/ext/third_party/asio/asio/COPYING +0 -4
  767. data/ext/third_party/asio/asio/INSTALL +0 -5
  768. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  769. data/ext/third_party/asio/asio/Makefile.am +0 -19
  770. data/ext/third_party/asio/asio/README +0 -4
  771. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  772. data/ext/third_party/asio/asio/autogen.sh +0 -55
  773. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  774. data/ext/third_party/asio/asio/boostify.pl +0 -603
  775. data/ext/third_party/asio/asio/configure.ac +0 -182
  776. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  777. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  778. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  779. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  780. data/ext/third_party/asio/asio/release.pl +0 -440
  781. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  782. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  783. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  784. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  785. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  786. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  787. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  788. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  789. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  790. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  791. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  792. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  793. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  794. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  795. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  796. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  797. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  798. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  799. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  800. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  801. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  802. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  803. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  804. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  805. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  806. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  807. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  808. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  809. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  810. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  811. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  812. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  813. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  814. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  815. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  816. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  817. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  818. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  819. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  820. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  821. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  822. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  823. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  824. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  825. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  826. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  827. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  828. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  829. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  830. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  831. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  832. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  833. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  834. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  835. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  836. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  837. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  838. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  839. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  840. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  841. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  842. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  843. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  844. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  845. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  846. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  847. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  848. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  849. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  850. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  851. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  852. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  853. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  854. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  855. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  856. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  857. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  858. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  859. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  860. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  861. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  862. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  863. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  864. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  865. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  866. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  867. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  868. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  869. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  870. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  871. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  872. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  873. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  874. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  875. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  876. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  877. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  878. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  879. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  880. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  881. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  882. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  883. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  884. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  885. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  886. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  887. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  888. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  889. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  890. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  891. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  892. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  893. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  894. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  895. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  896. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  897. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  898. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  899. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  900. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  901. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  902. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  903. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  904. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  905. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  906. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  907. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  908. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  909. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  910. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  911. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  912. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  913. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  914. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  915. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  916. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  917. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  918. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  919. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  920. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  921. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  922. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  923. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  924. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  925. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  926. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  927. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  928. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  929. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  930. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  931. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  932. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  933. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  934. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  935. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  936. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  937. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  938. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  939. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  940. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  941. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  942. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  943. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  944. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  945. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  946. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  947. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  948. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  949. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  950. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  951. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  952. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  953. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  954. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  955. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  956. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  957. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  958. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  959. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  960. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  961. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  962. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  963. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  964. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  965. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  966. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  967. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  968. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  969. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  970. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  971. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  972. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  973. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  974. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  975. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  976. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  977. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  978. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  979. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  980. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  981. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  982. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  983. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  984. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  985. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  986. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  987. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  988. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  989. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  990. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  991. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  992. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  993. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  994. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  995. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  996. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  997. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  998. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  999. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  1000. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  1001. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  1002. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  1003. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  1004. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  1005. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  1006. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  1007. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  1008. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  1009. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  1010. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  1011. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  1012. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  1013. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  1014. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  1015. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  1016. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  1017. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  1018. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  1019. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  1020. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  1021. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  1022. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  1023. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  1024. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  1025. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  1026. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  1027. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  1028. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  1029. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  1030. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  1031. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  1032. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  1033. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  1034. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  1035. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  1036. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  1037. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  1038. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  1039. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  1040. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  1041. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  1042. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  1043. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  1044. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  1045. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  1046. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  1047. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  1048. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  1049. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  1050. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  1051. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  1052. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  1053. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  1054. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  1055. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  1056. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  1057. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  1058. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  1059. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  1060. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  1061. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  1062. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  1063. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  1064. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  1065. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  1066. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  1067. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  1068. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  1069. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  1070. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  1071. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  1072. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  1073. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  1074. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  1075. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  1076. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  1077. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  1078. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  1079. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  1080. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  1081. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  1082. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  1083. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  1084. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  1085. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  1086. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  1087. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  1088. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  1089. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  1090. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  1091. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  1092. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  1093. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  1094. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  1095. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  1096. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  1097. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  1098. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  1099. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  1100. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  1101. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  1102. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  1103. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  1104. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  1105. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  1106. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  1107. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  1108. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  1109. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  1110. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  1111. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  1112. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  1113. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  1114. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  1115. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  1116. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  1117. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  1118. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  1119. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  1120. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  1121. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  1122. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  1123. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  1124. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  1125. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  1126. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  1127. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  1128. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  1129. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  1130. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  1131. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  1132. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  1133. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  1134. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  1135. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  1136. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  1137. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  1138. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  1139. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  1140. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  1141. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  1142. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  1143. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  1144. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  1145. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  1146. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  1147. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  1148. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  1149. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  1150. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  1151. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  1152. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  1153. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  1154. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  1155. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  1156. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  1157. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  1158. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  1159. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  1160. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  1161. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  1162. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  1163. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  1164. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  1165. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  1166. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  1167. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  1168. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  1169. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  1170. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  1171. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  1172. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  1173. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  1174. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  1175. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  1176. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  1177. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  1178. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  1179. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  1180. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  1181. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  1182. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  1183. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  1184. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  1185. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  1186. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  1187. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  1188. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  1189. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  1190. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  1191. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  1192. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  1193. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  1194. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  1195. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  1196. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  1197. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  1198. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  1199. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  1200. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  1201. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  1202. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  1203. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  1204. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  1205. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  1206. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  1207. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  1208. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  1209. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  1210. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  1211. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  1212. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  1213. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  1214. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  1215. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  1216. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  1217. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  1218. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  1219. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  1220. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  1221. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  1222. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  1223. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  1224. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  1225. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  1226. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  1227. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  1228. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  1229. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  1230. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  1231. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  1232. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  1233. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  1234. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  1235. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  1236. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  1237. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  1238. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  1239. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  1240. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  1241. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  1242. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  1243. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  1244. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  1245. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  1246. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  1247. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  1248. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  1249. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  1250. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  1251. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  1252. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  1253. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  1254. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  1255. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  1256. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  1257. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  1258. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  1259. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  1260. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  1261. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  1262. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  1263. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  1264. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  1265. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  1266. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  1267. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  1268. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  1269. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  1270. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  1271. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  1272. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  1273. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  1274. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  1275. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  1276. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  1277. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  1278. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  1279. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  1280. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  1281. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  1282. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  1283. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  1284. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  1285. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  1286. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  1287. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  1288. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  1289. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  1290. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  1291. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  1292. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  1293. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  1294. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  1295. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  1296. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  1297. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  1298. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  1299. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  1300. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  1301. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  1302. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  1303. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  1304. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  1305. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  1306. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  1307. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  1308. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  1309. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  1310. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  1311. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  1312. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  1313. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  1314. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  1315. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  1316. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  1317. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  1318. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  1319. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  1320. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  1321. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  1322. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  1323. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  1324. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  1325. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  1326. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  1327. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  1328. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  1329. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  1330. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  1331. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  1332. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  1333. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  1334. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  1335. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  1336. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  1337. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  1338. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  1339. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  1340. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  1341. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  1342. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  1343. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  1344. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  1345. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  1346. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  1347. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  1348. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  1349. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  1350. data/ext/third_party/asio/asio/tsify.pl +0 -574
  1351. data/ext/third_party/gsl/.clang-format +0 -34
  1352. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  1353. data/ext/third_party/gsl/.gitignore +0 -16
  1354. data/ext/third_party/gsl/.travis.yml +0 -551
  1355. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  1356. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  1357. data/ext/third_party/gsl/GSL.natvis +0 -98
  1358. data/ext/third_party/gsl/README.md +0 -124
  1359. data/ext/third_party/gsl/appveyor.yml +0 -128
  1360. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  1361. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  1362. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  1363. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  1364. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  1365. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  1366. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  1367. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  1368. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  1369. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  1370. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  1371. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  1372. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  1373. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  1374. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  1375. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  1376. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  1377. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  1378. data/ext/third_party/http_parser/.gitignore +0 -30
  1379. data/ext/third_party/http_parser/.mailmap +0 -8
  1380. data/ext/third_party/http_parser/.travis.yml +0 -13
  1381. data/ext/third_party/http_parser/AUTHORS +0 -68
  1382. data/ext/third_party/http_parser/README.md +0 -246
  1383. data/ext/third_party/http_parser/bench.c +0 -128
  1384. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  1385. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  1386. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  1387. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  1388. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  1389. data/ext/third_party/http_parser/test.c +0 -4600
  1390. data/ext/third_party/json/.appveyor.yml +0 -44
  1391. data/ext/third_party/json/.clang-format +0 -84
  1392. data/ext/third_party/json/.conan/build.py +0 -80
  1393. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  1394. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  1395. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  1396. data/ext/third_party/json/.gitignore +0 -3
  1397. data/ext/third_party/json/.travis.yml +0 -173
  1398. data/ext/third_party/json/README.md +0 -149
  1399. data/ext/third_party/json/conanfile.py +0 -28
  1400. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  1401. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  1402. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  1403. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  1404. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  1405. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  1406. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  1407. data/ext/third_party/json/doc/Changelog.md +0 -31
  1408. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  1409. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  1410. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  1411. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  1412. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  1413. data/ext/third_party/json/doc/Interoperability.md +0 -75
  1414. data/ext/third_party/json/doc/Overview.md +0 -24
  1415. data/ext/third_party/json/doc/Overview.png +0 -0
  1416. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  1417. data/ext/third_party/json/doc/README.md +0 -78
  1418. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  1419. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  1420. data/ext/third_party/json/doc/Types.png +0 -0
  1421. data/ext/third_party/json/doc/Value-Class.md +0 -525
  1422. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  1423. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  1424. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  1425. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  1426. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  1427. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  1428. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  1429. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  1430. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  1431. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  1432. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  1433. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  1434. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  1435. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +0 -21
  1436. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +0 -140
  1437. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  1438. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  1439. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +0 -62
  1440. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +0 -206
  1441. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +0 -106
  1442. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  1443. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +0 -54
  1444. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +0 -34
  1445. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +0 -45
  1446. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +0 -33
  1447. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +0 -54
  1448. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +0 -43
  1449. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +0 -77
  1450. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +0 -25
  1451. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  1452. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +0 -62
  1453. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +0 -62
  1454. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +0 -63
  1455. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +0 -36
  1456. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +0 -49
  1457. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +0 -49
  1458. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  1459. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  1460. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  1461. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  1462. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  1463. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  1464. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  1465. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  1466. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  1467. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  1468. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  1469. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  1470. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  1471. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  1472. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  1473. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  1474. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  1475. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  1476. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  1477. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  1478. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  1479. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  1480. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  1481. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  1482. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  1483. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  1484. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  1485. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  1486. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  1487. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  1488. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  1489. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  1490. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  1491. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  1492. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  1493. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  1494. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  1495. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  1496. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  1497. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  1498. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  1499. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  1500. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  1501. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  1502. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  1503. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  1504. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  1505. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  1506. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  1507. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  1508. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  1509. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  1510. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  1511. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  1512. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  1513. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  1514. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  1515. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  1516. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  1517. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  1518. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  1519. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  1520. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  1521. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  1522. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  1523. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  1524. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  1525. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  1526. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  1527. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  1528. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  1529. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  1530. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  1531. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  1532. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  1533. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  1534. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  1535. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  1536. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  1537. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  1538. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  1539. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  1540. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  1541. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  1542. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  1543. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  1544. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  1545. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  1546. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  1547. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  1548. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  1549. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  1550. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  1551. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  1552. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  1553. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  1554. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  1555. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  1556. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  1557. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  1558. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  1559. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  1560. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  1561. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  1562. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  1563. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  1564. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  1565. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  1566. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  1567. data/ext/third_party/json/tests/blns.json +0 -496
  1568. data/ext/third_party/json/tests/canada.json +0 -9
  1569. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  1570. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  1571. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  1572. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  1573. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  1574. data/ext/third_party/json/tests/draft4/default.json +0 -49
  1575. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  1576. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  1577. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  1578. data/ext/third_party/json/tests/draft4/items.json +0 -46
  1579. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  1580. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  1581. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  1582. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  1583. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  1584. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  1585. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  1586. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  1587. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  1588. data/ext/third_party/json/tests/draft4/not.json +0 -96
  1589. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  1590. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  1591. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  1592. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  1593. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  1594. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  1595. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  1596. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  1597. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  1598. data/ext/third_party/json/tests/draft4/required.json +0 -44
  1599. data/ext/third_party/json/tests/draft4/type.json +0 -345
  1600. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  1601. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  1602. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  1603. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1604. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  1605. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  1606. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  1607. data/ext/third_party/json/tests/twitter.json +0 -15482
  1608. data/ext/third_party/snappy/.appveyor.yml +0 -36
  1609. data/ext/third_party/snappy/.gitignore +0 -8
  1610. data/ext/third_party/snappy/.travis.yml +0 -98
  1611. data/ext/third_party/snappy/AUTHORS +0 -1
  1612. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  1613. data/ext/third_party/snappy/NEWS +0 -188
  1614. data/ext/third_party/snappy/README.md +0 -148
  1615. data/ext/third_party/snappy/docs/README.md +0 -72
  1616. data/ext/third_party/snappy/format_description.txt +0 -110
  1617. data/ext/third_party/snappy/framing_format.txt +0 -135
  1618. data/ext/third_party/snappy/snappy-test.cc +0 -613
  1619. data/ext/third_party/snappy/snappy-test.h +0 -526
  1620. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  1621. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  1622. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  1623. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  1624. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  1625. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  1626. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  1627. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  1628. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  1629. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  1630. data/ext/third_party/snappy/testdata/html +0 -1
  1631. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  1632. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  1633. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  1634. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  1635. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  1636. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  1637. data/ext/third_party/spdlog/.clang-format +0 -108
  1638. data/ext/third_party/spdlog/.clang-tidy +0 -54
  1639. data/ext/third_party/spdlog/.gitattributes +0 -1
  1640. data/ext/third_party/spdlog/.gitignore +0 -83
  1641. data/ext/third_party/spdlog/.travis.yml +0 -112
  1642. data/ext/third_party/spdlog/INSTALL +0 -24
  1643. data/ext/third_party/spdlog/README.md +0 -423
  1644. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1645. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  1646. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  1647. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  1648. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  1649. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  1650. data/ext/third_party/spdlog/bench/utils.h +0 -34
  1651. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  1652. data/ext/third_party/spdlog/example/example.cpp +0 -282
  1653. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1654. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  1655. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  1656. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  1657. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  1658. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  1659. data/ext/third_party/spdlog/tests/catch.license +0 -23
  1660. data/ext/third_party/spdlog/tests/includes.h +0 -26
  1661. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  1662. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  1663. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  1664. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  1665. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  1666. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  1667. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  1668. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  1669. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  1670. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  1671. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  1672. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  1673. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  1674. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  1675. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  1676. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  1677. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  1678. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  1679. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  1680. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  1681. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  1682. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  1683. data/ext/third_party/spdlog/tests/utils.h +0 -18
  1684. data/rbi/couchbase.rbi +0 -79
@@ -1,525 +0,0 @@
1
- # Value Class
2
-
3
- * [Overview](#overview)
4
- * [Value and Data Types](#value-and-data-types)
5
- * [Creating Values](#creating-values)
6
- * [Uniform Initialization](#uniform-initialization)
7
- * [Accessing Values](#accessing-values)
8
- * [Manipulating Values](#manipulating-values)
9
- * [Container Functions](#container-functions)
10
- * [Comparing Values](#comparing-values)
11
-
12
- ## Overview
13
-
14
- The Value Class `tao::json::value` is a C++ class that implements the JAXN data model, a superset of the JSON data model.
15
-
16
- It is implemented as sum-type, or discriminated union, of the JSON types, extended for the JAXN data model.
17
- On the C++ level the class consists of an `enum` to indicate which type it contains, and a `union` to store the corresponding data.
18
-
19
- More precisely, class `tao::json::value` is an instantiation of the class template `tao::json::basic_value<>` with the [included default traits](Type-Traits.md) and an [empty Base class](Advanced-Use-Cases.md#custom-base-class-for-values) as template parameters.
20
-
21
- In order to simplify the following discussion, we will mostly ignore the traits and pretend that the behaviour from the [default traits](Type-Traits.md) is hard-wired.
22
- Please read the [page on Type Traits](Type-Traits.md) to see which aspects of the behaviour of the JSON Value Class can be extended and customised, and how.
23
-
24
- Just remember that everywhere `tao::json::value` is referenced it could also be a customised version `tao::json::value< MyTraits, MyBase >` with [custom traits](Type-Traits.md) and [custom Base class for Values](Advanced-Use-Cases.md#custom-base-class-for-values).
25
-
26
- A JSON Value that is an Array or an Object contains -- when not empty -- other JSON Values, whereby a single JSON Value can store arbitrarily large and complicated JSON data structures consisting of arbitrarily nested Arrays and Objects with many sub-values, that are again instances of class `tao::json::value`.
27
-
28
- The Value class API has a large set of functions to create, inspect, and manipulate JSON (or JAXN) values.
29
-
30
- ## Value and Data Types
31
-
32
- The `enum` part of the discriminated union is a `tao::json::type`.
33
-
34
- ```c++
35
- enum class type : std::uint8_t
36
- {
37
- UNINITIALIZED,
38
- DISCARDED,
39
- DESTROYED,
40
- NULL_,
41
- BOOLEAN,
42
- SIGNED,
43
- UNSIGNED,
44
- DOUBLE,
45
- STRING,
46
- STRING_VIEW,
47
- BINARY,
48
- BINARY_VIEW,
49
- ARRAY,
50
- OBJECT,
51
- VALUE_PTR,
52
- OPAQUE_PTR
53
- };
54
- ```
55
-
56
- The set of types is larger than that defined by the data model, with the additional types allowing for greater efficiency and better error detection in some cases.
57
-
58
- The type of a JSON Value can be queried with the member function `tao::json::value::type()` which returns one of the enumeration values given above.
59
-
60
- ### Uninitialized
61
-
62
- A default initialised Value object will enter an explicit uninitialized state and report its type as `type::UNINITIALIZED`, rather than the more common default initialisation to a JSON Null.
63
-
64
- The `explicit operator bool()` returns whether the Value contains *any* valid value, including a `NULL_`.
65
- In other words, it only returns `false` when its `type()` returns `type::UNITIALIZED` (it MUST NOT be called for `type::DISCARDED` or `type::DESTROYED`).
66
-
67
- The function `tao::json::value::reset()` returns a Value to this state from any other type or state (unless `tao::json::type::DESTROYED`).
68
-
69
- ### Discarded
70
-
71
- The `type::DISCARDED` indicates that this value was the source of a move operation, meaning the object is in a moved-from state.
72
- According to the C++ standard the only allowed operations in this state are assigning another value and calling the destructor.
73
- The discarded type is only used when the `NDEBUG` macro is not set.
74
-
75
- ### Destroyed
76
-
77
- The `type::DESTROYED` indicates that this value either never completed a constructor without throwing an exception, or the destructor has already completed.
78
- At this point there is no actual value object, we are outside of its lifetime and just happen to be looking at memory that (nearly) contained a value in the past.
79
- The destroyed type is only used when the `NDEBUG` macro is not set.
80
-
81
- ### Null
82
-
83
- Represents JSON Null.
84
-
85
- Can be tested for with the member function `tao::json::value::is_null()`.
86
-
87
- ### Boolean
88
-
89
- Represents JSON True and False, stored as C++ `bool`.
90
-
91
- Can be tested for with the member function `tao::json::value::is_boolean()`.
92
-
93
- ### Numbers
94
-
95
- JSON Numbers are stored as either `std::int64_t` with `type::SIGNED`, as `std::uint64_t` with `type::UNSIGNED`, or as `double` with `type::DOUBLE`.
96
-
97
- Can be tested for with the member function `is_number()`, which will return `true` for all three types, or with the more specific `is_integer()`, `is_signed()`, `is_unsigned()` and `is_double()`.
98
-
99
- Unlike JSON, non-finite and `NaN` values are allowed for floating point values!
100
-
101
- When serialising to a format that does not support these values, an [Events Transformers](Events-Interface.md#included-transformers) can be used to [transform these values to something else on-the-fly](Common-Use-Cases.md#serialise-with-base64-strings-for-binary-data).
102
-
103
- ### Strings
104
-
105
- Strings are sequences of Unicode code points stored as UTF-8 as `std::string` with `type::STRING`, or as `tao::string_view` with `type::STRING_VIEW`; the view class is an alias for `std::string_view` when available.
106
-
107
- Checking for valid UTF-8, and (un)escaping according to the representation format like JSON, is performed "at the edges" by the respective parsers and encoders (although some parsers might choose to omit this check for performance reasons).
108
-
109
- Can be tested for with the member functions `is_string_type()`, which will return `true` for both types, or with the more specific `is_string()` and `is_string_view()`.
110
-
111
- ### Binary Data
112
-
113
- Binary data is stored as `std::vector< tao::byte >` with `type::BINARY`, or as `tao::binary_view` with `type::BINARY_VIEW`; here `tao::byte` is an alias for `std::byte` when available.
114
-
115
- Can be tested for with the member function `is_binary_type()`, which will return `true` for both types, or with the more specific `is_binary()` and `is_binary_view()`.
116
-
117
- When serialising to a format that does not support binary data, an [Events Transformer](Events-Interface.md#included-transformers) can be used to [transform binary data to something else on-the-fly](Common-Use-Cases.md#serialise-with-base64-strings-for-binary-data).
118
-
119
- ### Arrays
120
-
121
- JSON Arrays are stored as `std::vector< tao::json::value >`.
122
-
123
- Can be tested for with the member function `tao::json::value::is_array()`.
124
-
125
- (The sub-values share the [type traits](Type-Traits.md) and [base class](Advanced-Use-Cases.md#custom-base-class-for-values) of the containing `basic_value<>`.)
126
-
127
- ### Objects
128
-
129
- JSON Objects are stored as `std::map< std::string, tao::json::value >`.
130
-
131
- Can be tested for with the member function `tao::json::value::is_object()`.
132
-
133
- (The sub-values share the [type traits](Type-Traits.md) and [base class](Advanced-Use-Cases.md#custom-base-class-for-values) of the containing `basic_value<>`.)
134
-
135
- ### Value Pointers
136
-
137
- See the [section on instance sharing with Value Pointers](Instance-Sharing.md#value-pointers) on the [More Performance](More -Performance.md).
138
-
139
- ### Opaque Pointers
140
-
141
- See the [section on instance sharing with Opaque Pointers](Instance-Sharing.md#opaque-pointers) on the [More Performance](More -Performance.md).
142
-
143
- ## Creating Values
144
-
145
- The Value Class has a default constructor that creates a Value with `type::UNINITIALIZED`.
146
- It also has copy and move constructors (and copy and move assignment operators, and a `swap()` member function).
147
-
148
- There are also two **non**-explicit constructors, one that takes an argument of any type and uses [the Type Traits](Type-Traits.md) for the details of how to create the Value, and one that takes an initialiser-list to create an Object.
149
-
150
- The first allows creating (or assigning to) a Value from [a list of types](Batteries-Included.md#default-traits) [that can be extended](Type-Traits.md) [like here](Batteries-Included.md#additional-traits).
151
-
152
- ```c++
153
- const tao::json::value v1 = true;
154
- const tao::json::value v2 = "Hi!";
155
- const std::shared_ptr< std::map< std::string, std::vector< int > > > data = ...;
156
- const tao::json::value v3 = data;
157
- ```
158
-
159
- The second allows creating Values that represent JSON Objects with an initialiser-list of key-value pairs.
160
- As per the JSON standard, the keys must be strings (`std::string`, `tao::string_view` or `const char*`).
161
- The values can individually be converted to JSON Values, and can therefore be of any type that a JSON Value can be constructed from.
162
-
163
- ```c++
164
- const tao::json::value v = {
165
- { "hello", "world" },
166
- { "answer", 41.0 },
167
- { "correct", false },
168
- { "sub-object", {
169
- { "value", 1 },
170
- { "frobnicate", true }
171
- } }
172
- };
173
- ```
174
-
175
- If a certain C++ type is frequently used with the same key in a JSON Object, the key can be put in the [traits for that type](Type-Traits.md).
176
- When an instance of such a type is used in a JSON Object intialiser-list *without* a key, then [the key from the traits](Type-Traits.md#default-key-for-objects) will be used by default.
177
-
178
- ```c++
179
- const type_with_default_key t;
180
- const tao::json::value v( {
181
- { "foo", 42 },
182
- { "bar", true },
183
- t // Shortcut for: { tao::json::traits< type_with_default_key >::default_key< traits >::as_string(), t }
184
- } );
185
- ```
186
-
187
- See the [section on default keys](Type-Traits.md#default-key-for-objects) on the [Type Traits page](Type-Traits.md) for details on how to set up a default key for a type.
188
- Object initialiser-lists can still use (different) keys for types with a default key when they are given explicitly just like for all (other) types.
189
-
190
- Since it is [not possible to use initialiser-lists in a way that efficiently and unambiguously works for both Arrays and Objects](Design-Decisions.md#initialiser-lists), it is necessary to disambiguate manually by using the static `tao::json::value::array()` function to create a Value with an Array from an initialiser-list.
191
-
192
- ```c++
193
- const auto array = tao::json::value::array( {
194
- 42.0,
195
- "fish",
196
- true,
197
- // an element which is itself an array:
198
- tao::json::value::array( { 1, 2, 3 } ),
199
- // an element which is an object:
200
- {
201
- { "an", 1 },
202
- { "object", 2 },
203
- { "as sub-value", "of the array" }
204
- }
205
- } );
206
- ```
207
-
208
- To simplify creating Values that represent a JSON Null value, an empty array, an empty object, or empty binary data, there are global objects `tao::json::null`, `tao::json::empty_array`, `tao::json::empty_object`, and `tao::json::empty_binary`.
209
- They can construct Values, and, like everything else that a Value can be constructed from, can be assigned to Values. Additionally, you can compare Values against the global helper objects.
210
-
211
- ```c++
212
- tao::json::value v = tao::json::null;
213
- v = tao::json::empty_array;
214
- v = {
215
- { "empty object", tao::json::empty_object },
216
- { "empty binary", tao::json::empty_binary }
217
- };
218
- ```
219
-
220
- ## Uniform Initialization
221
-
222
- The Value class has both a constructor and an assignment operator accepting an initializer list which assigns a special meaning to curly brackets in these contexts and has consequences regarding the so called "uniform initialization".
223
- The idealized intention of uniform initialization was to "always" use curly brackets instead of round brackets to construct an object.
224
- However as curly brackets for Values are used to denote a JSON Object, they should not be confused with, or blindly replace, round brackets.
225
-
226
- ### `empty_object`
227
-
228
- **Guideline:** Always use `tao::json::empty_object` instead of `{}` to create an empty JSON Object.
229
-
230
- The curly brackets are the default constructor in several important cases and thereby create an uninitialized value, i.e. a Value of `type::UNINITIALIZED`.
231
-
232
- The following lines behave as expected:
233
-
234
- ```c++
235
- tao::json::value v( tao::json::empty_object );
236
- tao::json::value v = tao::json::empty_object;
237
-
238
- auto v = tao::json::value( tao::json::empty_object );
239
-
240
- v = tao::json::empty_object;
241
- v = { { "foo", tao::json::empty_object } };
242
- ```
243
-
244
- The following lines using `{}` might produce surprising behaviour:
245
-
246
- ```c++
247
- tao::json::value v{}; // default ctor, not initializer_list ctor
248
- tao::json::value v = {}; // default ctor, not initializer_list ctor
249
-
250
- tao::json::value v( {} ); // initializer_list ctor, creates an empty object
251
-
252
- v = {}; // assign a default-constructed value
253
- v = { { "foo", {} } }; // object with one member, key "foo" with an uninitialized value
254
- ```
255
-
256
- A few more points to consider:
257
-
258
- ```c++
259
- // creates a variable 'v' with type tao::json::empty_object_t, not tao::json::value
260
- auto v = tao::json::empty_object;
261
-
262
- // default ctor:
263
- tao::json::value v;
264
-
265
- // most vexing parse, declares a function
266
- tao::json::value v();
267
- ```
268
-
269
- ### Single Argument Constructors
270
-
271
- To copy/move a Value, or construct a Value from a single value via the traits, use round brackets or assignment.
272
-
273
- **Guideline:** Avoid using curly brackets *unless* you mean to create/assign a non-empty JSON Object.
274
-
275
- The following should behave as expected:
276
-
277
- ```c++
278
- tao::json::value v = 42; // uses traits
279
- tao::json::value v = "Hallo"; // uses traits
280
-
281
- tao::json::value v( 42 ); // uses traits
282
- tao::json::value v( "Hallo" ); // uses traits
283
-
284
- tao::json::value v2 = v; // copy ctor
285
- tao::json::value v2 = std::move( v ); // move ctor
286
-
287
- tao::json::value v2( v ); // copy ctor
288
- tao::json::value v2( std::move( v ) ); // move ctor
289
-
290
- // any non-empty initializer list for a JSON object is OK
291
- tao::json::value v = { { "foo", 42 } };
292
- tao::json::value v( { { "foo", 42 } } );
293
-
294
- v = { { "foo", 42 } };
295
- ```
296
-
297
- Again, as a reminder:
298
-
299
- ```c++
300
- // avoid empty curly brackets:
301
- tao::json::value v{}; // an uninitialized Value
302
- tao::json::value v = {}; // an uninitialized Value
303
- tao::json::value v( {} ); // empty JSON object (*)
304
- tao::json::value v( tao::json::empty_object ); // preferred
305
-
306
- v = {}; // Assigns a default constructed (uninitialized) Value
307
- ```
308
-
309
- Note that the line marked with (\*) does not work on GCC 7 due to a compiler bug. Hence it should also be avoided, even if it is technically correct.
310
-
311
- ### Implicit construction
312
-
313
- **Guideline:** When calling a function with a Value as parameter, only use curly brackets to indicate non-empty JSON Objects.
314
-
315
- Examples:
316
-
317
- ```c++
318
- void f( const tao::json::value& );
319
-
320
- f( 42 );
321
- f( "Hello" );
322
- f( tao::json::empty_object );
323
- f( { { "foo", 42 } } );
324
- ```
325
-
326
- With the problematic cases being:
327
-
328
- ```c++
329
- f( {} ); // default ctor for v, uninitialized object
330
- f( { 42 } ); // won't call the ctor with int (*)
331
- f( { v2 } ); // won't call the copy ctor (*)
332
- ```
333
-
334
- Again, having a ctor taking an initializer list breaks "uniform initialization", meaning that you can not provide parameters for other constructors using curly brackets.
335
-
336
- The following works as expected (albeit being overly verbose and therefore slightly pointless):
337
-
338
- ```c++
339
- f( tao::json::value( 42 ) );
340
- f( tao::json::value( v2 ) );
341
- ```
342
-
343
- ## Accessing Values
344
-
345
- The function `tao::json::value::type()`, and the functions like `tao::json::value::is_boolean()` mentioned above, can be used to determine the type of a Value.
346
-
347
- The data held by a Value can be extracted and converted with the `tao::json::value::as< T >()` and `tao::json::value::to< T >( T& )` functions.
348
-
349
- 1. The basic form of `as()` returns the value of type `T`, while
350
- 2. `to()` takes a non-const reference to an instance of type `T`.
351
-
352
- ```c++
353
- const tao::json::value v = 3;
354
- int i = v.as< int >(); // Initialised i to 3.
355
- v.to( i ); // Sets i to 3.
356
- ```
357
-
358
- Note that the [default Type Traits](Type-Traits.md) do **not** perform range checking when converting between different arithmetic types!
359
-
360
- As usual, the conversion works with [all types and nested types that are supported by the default Traits](Batteries-Included.md#default-traits) and the [additional Traits](Batteries-Included.md#additional-traits), for example shared pointers and vectors.
361
-
362
- ```c++
363
- const tao::json::value v = tao::json::value::array( { 1, 2, tao::json::null, 4 } );
364
- const auto w = v.as< std::vector< std::shared_ptr< int > > >();
365
- ```
366
-
367
- When the Type Traits are correctly specialised for a custom type then [a JSON Value can be directly converted into the custom type](Type-Traits.md#convert-value-into-type) with `tao::json::value::as()`.
368
-
369
- The function `tao::json::value::optional< T >()` is similar to `tao::json::value::as< T >()`, but it returns a `tao::optional< T >`.
370
- The return value is an empty optional when the Value on which the method was called is Null, else an optional initalised with the result of a call to `tao::json::value::as< T >()` is returned.
371
-
372
- When the Value in question is an Object, the variants of `as()`, `to()` and `optional()` that take an Object key as (additional) argument can be used.
373
-
374
- The `optional()` function with a key returns an empty optional when the key is not found in the Object; when the Value is not an Object or the unconditional conversion to the target type fails, an exception is thrown.
375
-
376
- ```c++
377
- const tao::json::value v = {
378
- { "foo", 4 },
379
- { "bar", tao::json::null }
380
- };
381
- int i = v.as< int >( "foo" ); // Like v.at( "foo" ).as< int >()
382
- v.to( i, "foo" ); // Like v.at( "foo" ).to( i )
383
-
384
- auto a = v.optional< int >( "foo" ); // a has value 4
385
- auto b = v.optional< int >( "xyz" ); // b is empty
386
- auto c = v.optional< int >( "bar" ); // throws -- null is not an int
387
- auto d = v.at( "foo" ).optional< int >( "bar" ); // throws -- 4 is not an Object
388
- ```
389
-
390
- The following member functions of class `tao::json::value` bypass the Type Traits and provide direct access to the data in a Value.
391
- They all throw an exception when the type of the Value is not the expected one.
392
-
393
- | Value Class Member Function | Remarks |
394
- |-----------------------------|---------|
395
- | `bool get_boolean() const` ||
396
- | `std::int64_t get_signed() const` ||
397
- | `std::uint64_t get_unsigned() const` ||
398
- | `double get_double() const` ||
399
- | `std::string& get_string()` ||
400
- | `const std::string& get_string() const` ||
401
- | `tao::string_view get_string_view() const` ||
402
- | `tao::string_view get_string_type() const` | `type::STRING` and `type::STRING_VIEW` |
403
- | `std::vector< tao::byte >& get_binary()` ||
404
- | `const std::vector< tao::byte >& get_binary() const` ||
405
- | `tao::binary_view get_binary_view() const` ||
406
- | `tao::binary_view get_binary_type() const` | `type::BINARY` and `type::BINARY_VIEW` |
407
- | `std::vector< value >& get_array()` ||
408
- | `const std::vector< value >& get_array() const` ||
409
- | `std::map< std::string, value >& get_object()` ||
410
- | `const std::map< std::string, value >& get_object() const` ||
411
- | `const value* get_value_ptr() const` ||
412
-
413
- For particular templated code the `get<>()` accessor function that is templated over the `tao::json::type`-enumeration can be used.
414
- It behaves just like the correspondingly named get function, i.e. `get< tao::json::type::STRING >` is the same as `get_string()`.
415
-
416
- ```c++
417
- tao::json::value v = "hallo";
418
- const std::string s1 = v.get_string();
419
- const std::string s2 = v.get< tao::json::type::STRING >();
420
- assert( s1 == s2 ); // OK
421
- ```
422
-
423
- ## Manipulating Values
424
-
425
- Values can always (unless of type `tao::json::DESTROYED`, which should never be encountered in code that doesn't invoke unspecified or undefined behaviour) be assigned a new value using copy-assignment or move-assignment, and the contents of two Values can be swapped with the `tao::json::value::swap()` member function.
426
-
427
- Mutable references to standard containers returned by the mutable getters above can be normally manipulated manually and with standard algorithms etc.
428
-
429
- Like the equivalent constructor, the assignment operators that accept any type use the Type Traits to assign the Value from the argument.
430
-
431
- The following member functions of class `tao::json::value` bypass the Type Traits and directly assign to the underlying data in a Value.
432
-
433
- | Value Class Member Function | Remarks |
434
- |-----------------------------|---------|
435
- | `void assign_null() noexcept` ||
436
- | `void assign_boolean( const bool ) noexcept` ||
437
- | `void assign_signed( const std::int64_t ) noexcept` ||
438
- | `void assign_unsigned( const std::uint64_t ) noexcept` ||
439
- | `void assign_double( const double ) noexcept` ||
440
- | `void assign_string( std::string&& ) noexcept` ||
441
- | `void assign_string( const std::string& )` ||
442
- | `void assign_string_view( const tao::string_view ) noexcept` ||
443
- | `template< typename... Ts > void emplace_string( Ts&&... )` | `noexcept` depending on arguments |
444
- | `void assign_binary( std::vector< tao::byte >&& ) noexcept` ||
445
- | `void assign_binary( const std::vector< tao::byte >& )` ||
446
- | `void assign_binary_view( const tao::binary_view ) noexcept` ||
447
- | `template< typename... Ts > void emplace_binary( Ts&&... )` | `noexcept` depending on arguments |
448
- | `void assign_array( std::vector< value >&& ) noexcept` ||
449
- | `void assign_array( const std::vector< value >& )` ||
450
- | `template< typename... Ts > void emplace_array( Ts&&... )` | `noexcept` depending on arguments |
451
- | `void assign_object( std::map< std::string, value >&& ) noexcept` ||
452
- | `void assign_object( const std::map< std::string, value >& )` ||
453
- | `template< typename... Ts > void emplace_object( Ts&&... )` | `noexcept` depending on arguments |
454
- | `void assign_value_ptr( const value* ) noexcept` ||
455
- | `template< typename T > void assign_opaque_ptr( T* ) noexcept` ||
456
- | `template< typename T > void assign_opaque_ptr( T*, const producer_t ) noexcept` ||
457
-
458
- Remember that the functions `tao::json::value::get_array()` and `tao::json::value::get_object()` are actually `tao::json::basic_value< Traits, Base >::get_array()` and `tao::json::basic_value< Traits, Base >::get_object()`, and that the sub-values of the returned containers have the same `Traits` and `Base` class as the Value on which the method was invoked.
459
-
460
- ```c++
461
- tao::json::value x = tao::json::empty_array;
462
- std::vector< tao::json::value >& a = x.get_array();
463
-
464
- tao::json::basic_value< my_traits > y = tao::json::empty_array;
465
- std::vector< tao::json::basic_value< my_traits > >& b = y.get_array();
466
-
467
- tao::json::basic_value< my_traits, my_base > z = tao::json::empty_array;
468
- std::vector< tao::json::basic_value< my_traits, my_base > >& c = z.get_array();
469
- ```
470
-
471
- Similarly, when assigning to a Value, or adding further sub-values to a Value representing an Array or Object, Values with the same Traits and Base need to be used.
472
-
473
- ## Container Functions
474
-
475
- There are several convenience functions that simplify access and manipulation of Values representing Arrays and Objects.
476
-
477
- The following functions have several overloads and can be called with a `std::size_t` on Values representing an Array, a `std::string` for Values representing an Object, or with a [JSON Pointer](Extended-Use-Cases#json-pointer).
478
-
479
- When called with a [JSON Pointer](Extended-Use-Cases#json-pointer), the type of index, integer or string, must correspond to the type of container, Array or Object, on all steps along the path.
480
-
481
- The `tao::json::value::at()` function indexes Arrays and Objects via `std::vector::at()` and `std::map::at()`, respectively.
482
- When called with a [JSON Pointer](Extended-Use-Cases#json-pointer), the contents of the pointer must be consistent with the type of Value.
483
-
484
- Similarly `tao::json::value::operator[]` indexes Arrays and Objects via `std::vector::operator[]` and `std::map::operator[]`, respectively.
485
- For Objects, it keeps the semantics of the underlying `std::map` and inserts a default-constructed Value when the key string is not found.
486
-
487
- The `tao::json::value::erase()` function erases a sub-value of an Array or Object via `std::vector::erase()` and `std::map::erase()`, respectively.
488
-
489
- The `tao::json::value::find()` function can only be called with a `std::size_t` or a `std::string` for Arrays and Objects, respectively.
490
- It returns a plain pointer to the sub-value, or `nullptr` when no matching entry was found.
491
- As usual there are both a const overload that returns a `const value*`, and a non-const overload that returns a `value*`.
492
-
493
- The `tao::json::value::optional< T >()` function exists in two versions, one without arguments [explained above](#accessing-values), and one that can take any argument that `tao::json::value::find()` can.
494
- The latter returns an empty optional when no entry is found; it does *not* return an empty optional when a JSON Null entry is found but throws an exception when the found entry can not be converted to `T` via `tao::json::value::as< T >()`.
495
-
496
- The following functions include calls to `tao::json::value::prepare_array()` and `tao::json::value::prepare_object()` which are used on empty (`tao::json::type::UNITIALIZED` or `tao::json::type::DISCARDED`) Values to initialise to an empty array, or empty object, respectively.
497
-
498
- The `tao::json::value::push_back()` and `tao::json::value::emplace_back()` functions for Arrays, and `tao::json::value::insert()` and `tao::json::value::emplace()` for Objects, again forward to the corresponding functions of the underlying standard container.
499
-
500
- A more general version of `tao::json:value::insert()` inserts the JSON Value from the second argument in the position indicated by the JSON Pointer in its first argument.
501
-
502
- To add multiple entries to an Array or Object with a single function call use `tao::json::value::append()` with Arrays, and `tao::json::value::insert()` with Objects.
503
- Both take an initialiser-list, `tao::json::value::append()` one with only values like `static tao::json::value::array()`, and `tao::json::value::insert()` one with keys and values like the constructor that creates an Object from an initialiser-list does.
504
-
505
- ## Comparing Values
506
-
507
- The library contains the full complement of comparison operators (`==`, `!=`, `<`, `>`, `<=`, `>=` ) to compare Values with other Values, and to compare Values with any other C++ type.
508
-
509
- Comparison of two Values performs a structural recursive comparison ignoring both the Type Traits and the base class template parameters.
510
- The comparison is performed at the data model level, abstracting away from implementation details and optimisations.
511
-
512
- * Numbers are compared by value, independent of which of the possible representations they use.
513
- * Strings and string views are compared by comparing character sequences, independent of which representation is used.
514
- * Binary data and binary views are compared by comparing byte sequences, independent of which representation is used.
515
- * Value Pointers are skipped, the comparison behaves "as if" the pointee Value were copied to the Value with the pointer.
516
- * Values of different incompatible types will be ordered by the numeric Values of their type enum.
517
-
518
- Comparison between a JSON Value and another type is performed by either
519
-
520
- 1. creating a Value object from the other type and performing the comparison between the two Value, or
521
- 2. using the [Type Traits](Type-Traits.md) to directly perform the comparison without creating a temporary Value.
522
-
523
- See the [documentation on Type Traits](Type-Traits.md#compare-value-with-type) for details on how to enable comparison operators without temporary Values for a type.
524
-
525
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey