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,75 +0,0 @@
1
- # Interoperability
2
-
3
- * [General Notes](#general-notes)
4
- * [Specific Notes](#specific-notes)
5
- * [JSON](#json)
6
- * [JAXN](#jaxn)
7
- * [CBOR](#cbor)
8
- * [MsgPack](#msgpack)
9
- * [UBJSON](#ubjson)
10
- * [Unsupported Formats](#unsupported-formats)
11
-
12
- ## General Notes
13
-
14
- The following properties and limitations are a consequence of the internal data model and apply to the internal representation as well as all data formats.
15
-
16
- Numbers are stored and handled as `std::int64_t`, `std::uint64_t` or `double`, and most (all?) parsers will throw an exception when encountering a number that exceeds the combined range of these types.
17
-
18
- For binary formats, floating-point values are always written as 64-bit `double`.
19
- Decoding 16- and 32bit floating-point values, where defined, is of course supported.
20
-
21
- All string values, and, for text-based formats, the entire Value representation, have to be valid UTF-8.
22
- The binary format parsers can optionally trust the input which disables UTF-8 validation of strings.
23
-
24
- The Value Class uses a `std::map` for Objects and does not support multiple occurrences of the same key.
25
- The Events Interface processes keys individually and does not have this limitation.
26
-
27
- ## Specific Notes
28
-
29
- The following properties and limitations are specific to the interaction with particular file formats.
30
-
31
- ### JSON
32
-
33
- When serialising to JSON, Values that go beyond the JSON data model, i.e. binary data and non-finite floating point values, must be [transformed](Events-Interface.md#included-transformers) to something compatible with JSON.
34
-
35
- ### JAXN
36
-
37
- * Work-in-progress...
38
-
39
- ### CBOR
40
-
41
- CBOR allows arbitrary Values as keys in Objects, the data model of this library only supports strings.
42
- The CBOR parsers throw an exception whey they encounter an Object key that is not a string.
43
-
44
- Semantic tags are currently not supported, the CBOR parsers ignore and skip them.
45
-
46
- The CBOR Parts Parser returns strings as `std::string`, rather than `tao::string_view`, in order to support multi-part indefinite length strings.
47
- An alternative parser function `string_view()` only works for strings with a single top-level part and returns a `tao::string_view`.
48
-
49
- ### MsgPack
50
-
51
- MsgPack only has Arrays and Objects that contain a count of the number of sub-values at the beginning.
52
- The Events Consumers that encode MsgPack will throw an exception when either of the `begin_array()` or `begin_object()` functions is called without a size.
53
-
54
- Extension types are currently not supported, the MsgPack parsers throw an exception when they encounter an extension type.
55
-
56
- ### UBJSON
57
-
58
- * The No-Op value `N` is only supported as top-level padding.
59
- * Does not currently encode strongly typed Arrays or Objects, except:
60
- * Supports encoding and decoding of strongly typed Arrays of type `U` for binary data, and:
61
- * Supports decoding of all Arrays and Objects, including with size and strongly typed.
62
-
63
- ## Unsupported Formats
64
-
65
- The following JSON-esque formats are currently unsupported.
66
-
67
- * BSON
68
- * BJSON
69
- * jsonb
70
- * JSONx
71
- * TOML
72
- * YAML
73
- * VelocyPack
74
-
75
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,24 +0,0 @@
1
- # Overview
2
-
3
- The main parts of the JSON library are
4
-
5
- * the [Value Class](Value-Class.md) to handle (extended) JSON data ([JAXN](https://github.com/stand-art/jaxn) data) in memory,
6
- * the [Events Interface](Events-Interface.md) as universal adapter between different parts of the library (and other libraries), and
7
- * the [Type Traits](Type-Traits.md) to control the interaction between C++ data types and the Value Class and Events Interface.
8
-
9
- ![Overview](Overview.png)
10
-
11
- * The [Value Class](Value-Class.md) can be customised with [Type Traits](Type-Traits.md) and a [custom Base class](Advanced-Use-Cases.md#custom-base-class-for-values).
12
- * The [Events Interface](Events-Interface.md) is used to convert the [Value Class](Value-Class.md) from and to external representations.
13
- * One or more [Events Transformers](Events-Interface.md#included-transformers) can be used to modify, filter, ... Events and to send them to multiple Consumers.
14
- * The [Type Traits](Type-Traits.md) are used to convert the [Value Class](Value-Class.md) from and to arbitrary C++ data types.
15
- * The [Type Traits](Type-Traits.md) also generate Events, and thus external representations, directly from C++ data types, and
16
- * are used to directly and efficiently parse external representations into arbitrary C++ data types.
17
-
18
- ![Types](Types.png)
19
-
20
- * The [Value Class](Value-Class.md) can use views to strings and binary data to prevent memory allocations and copying.
21
- * The [Value Class](Value-Class.md) can use pointers to other Value Class instances to re-use (parts of) other Values.
22
- * The [Value Class](Value-Class.md) can use pointers to arbitrary objects (restricts the set of functions on the Value).
23
-
24
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,84 +0,0 @@
1
- # Parser Interface
2
-
3
- *Work in progress*
4
-
5
- This interface is used when parsing directly into a C++ data type (without using an intermediate Value) *and not* using the [Binding Traits Facilities](Type-Traits.md#binding-traits-facilities) to auto-generate the [Traits](Type-Traits.md).
6
-
7
- The public interface of a parts parser, an object that unconditionally attempts to read parts of an encoded Value from the input that it was supplied in the constructor.
8
-
9
- ```c++
10
- struct parts_parser
11
- {
12
- bool empty();
13
-
14
- bool null(); // Returns 'false' when next value is not a JSON Null.
15
- bool boolean();
16
-
17
- string_t string(); // Returns std::string or tao::string_view.
18
- binary_t binary(); // Returns std::vector< tao::byte > or tao::binary_view.
19
- string_t key(); // Returns std::string or tao::string_view.
20
-
21
- std::int64_t number_signed();
22
- std::uint64_t number_unsigned();
23
- double number_double();
24
-
25
- unknown_1 begin_array();
26
- void end_array( unknown_1& );
27
- void element( unknown_1& );
28
- bool element_or_end_array( unknown_1& ); // Returns 'false' at end of array.
29
-
30
- unknown_2 begin_object();
31
- void end_object( unknown_2& );
32
- void member( unknown_2& );
33
- bool member_or_end_object( unknown_2& ); // Returns 'false' at end of object.
34
-
35
- void skip_value(); // Skips one complete value in the input, whatever it is.
36
-
37
- unknown_3 mark(); // TODO: Explain, with reference to PEGTL markers and when/how to use them.
38
-
39
- void throw_parse_error( TBD ) const; // TODO: Decide whether this is part of the public interface.
40
- };
41
- ```
42
-
43
- There are two patterns for how to use the Array and Object functions depending on whether the size is implicitly known by the code using the parser, or whether the code adapts to the size found in the parsed data.
44
-
45
- In the following example we show the implicit form for Arrays, and the adaptive form for Objects, however both interfaces are available for both kinds of containers.
46
-
47
- ```c++
48
- void implicit( parts_parser& p )
49
- {
50
- auto state = p.begin_array()
51
-
52
- p.element( state ); // Throws when no further element available.
53
- do_something_with( p.read_unsigned() ); // Or read some other value.
54
-
55
- // ...read as many elements as desired...
56
-
57
- p.end_array( state ); // Throws when not at end of array.
58
- }
59
-
60
- void adaptive( parts_parser& p )
61
- {
62
- auto state = p.begin_object();
63
-
64
- while( !p.member_or_end_object( p ) ) {
65
- const auto key = p.read_key();
66
- const auto value = p.read_string(); // Or read some other value.
67
- do_something_with( key, value );
68
- }
69
- }
70
- ```
71
-
72
- The individual values of an Array or Object can of course themselves be Arrays or Objects.
73
-
74
- Remember to **not** write `do_something_with( p.read_key(), p.read_double() )` because the order of evaluation of function arguments in C++ is not defined.
75
-
76
- Additional functions for the CBOR parts parser that throw when they encounter an indefinite-length string.
77
-
78
- ```c++
79
- tao::string_view string_view();
80
- tao::binary_view binary_view();
81
- tao::string_view key_view();
82
- ```
83
-
84
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,78 +0,0 @@
1
- # taocpp/json Documentation
2
-
3
- *Work-in-Progress - will be finished for 1.0 release*
4
-
5
- * [Project](https://github.com/taocpp/json)
6
- * [Overview](Overview.md)
7
- * [Getting Started](Getting-Started.md)
8
- * Installing and Using - TODO: Similar to PEGTL; merge with Getting Started?
9
- * [Common Use Cases](Common-Use-Cases.md)
10
- * [Include the right header](Common-Use-Cases.md#include-the-right-header)
11
- * [Read any JSON file](Common-Use-Cases.md#read-any-json-file)
12
- * [Parse any JSON string](Common-Use-Cases.md#parse-any-json-string)
13
- * [Serialise a JSON Value to a string](Common-Use-Cases.md#serialise-a-json-value-to-a-string)
14
- * [Serialise with base64 strings for binary data](Common-Use-Cases.md#serialise-with-base64-strings-for-binary-data)
15
- * [Serialise a JSON Value to an ostream](Common-Use-Cases.md#serialise-a-json-value-to-an-ostream)
16
- * [Create a Value with a JSON object](Common-Use-Cases.md#create-a-value-with-a-json-object)
17
- * [Value Class](Value-Class.md)
18
- * [Overview](Value-Class.md#overview)
19
- * [Value and Data Types](Value-Class.md#value-and-data-types)
20
- * [Creating Values](Value-Class.md#creating-values)
21
- * [Accessing Values](Value-Class.md#accessing-values)
22
- * [Manipulating Values](Value-Class.md#manipulating-values)
23
- * [Container Functions](Value-Class.md#container-functions)
24
- * [Comparing Values](Value-Class.md#comparing-values)
25
- * [Type Traits](Type-Traits.md)
26
- * [Overview](Type-Traits.md#overview)
27
- * [Create JSON Value from (custom) type](Type-Traits.md#create-value-from-type)
28
- * [Convert JSON Value into (custom) type](Type-Traits.md#convert-value-into-type)
29
- * [Compare JSON Value to (custom) type](Type-Traits.md#compare-value-with-type)
30
- * [Produce JSON Events from (custom) type](Type-Traits.md#produce-events-from-type)
31
- * [Consume a (custom) type from a parser](Type-Traits.md#consume-type-from-parser)
32
- * [Default Key for Objects](Type-Traits.md#default-key-for-objects)
33
- * [Batteries Included](Type-Traits.md#batteries-included)
34
- * [Binding Traits](Binding-Traits.md)
35
- * [Types as Arrays](Binding-Traits.md#types-as-arrays)
36
- * [Types as Objects](Binding-Traits.md#types-as-objects)
37
- * [Polymorphic Factory](Binding-Traits.md#polymorphic-factory)
38
- * [Multiple Versions](Binding-Traits.md#multiple-versions)
39
- * [Events Interface](Events-Interface.md)
40
- * [Overview](Events-Interface.md#overview)
41
- * [Consumer Interface](Events-Interface.md#consumer-interface)
42
- * [Arrays and Objects](Events-Interface.md#arrays-and-objects)
43
- * [Reduced Interface](Events-Interface.md#reduced-interface)
44
- * [Batteries Included](Events-Interface.md#batteries-included)
45
- * [Batteries Included](Batteries-Included.md)
46
- * [Default Traits](Batteries-Included.md#default-traits)
47
- * [Additional Traits](Batteries-Included.md#additional-traits)
48
- * [Binding Traits](Binding-Traits.md)
49
- * [Events Producers](Batteries-Included.md#events-producers)
50
- * [Events Consumers](Batteries-Included.md#events-consumers)
51
- * [Events Transformers](Batteries-Included.md#events-transformers)
52
- * [Convenience Functions](Batteries-Included.md#convenience-functions)
53
- * [Conversion Utilities](Batteries-Included.md#conversion-utilities)
54
- * [Advanced Use Cases](Advanced-Use-Cases.md)
55
- * [Custom Base Class for Values](Advanced-Use-Cases.md#custom-base-class-for-values)
56
- * [Annotate with filename and line number](Advanced-Use-Cases.md#annotate-with-filename-and-line-number)
57
- * [Instance Sharing](Instance-Sharing.md)
58
- * [String Views](Instance-Sharing.md#string-views)
59
- * [Binary Views](Instance-Sharing.md#binary-views)
60
- * [Value Pointers](Instance-Sharing.md#value-pointers)
61
- * [Opaque Pointers](Instance-Sharing.md#opaque-pointers)
62
- * [Self Contained](Instance-Sharing.md#self-contained)
63
- * [Unsafe Functions](Instance-Sharing.md#unsafe-functions)
64
- * [Interoperability](Interoperability.md)
65
- * [General Notes](Interoperability.md#general-notes)
66
- * [Specific Notes](Interoperability.md#specific-notes)
67
- * [JSON](Interoperability.md#json)
68
- * [JAXN](Interoperability.md#jaxn)
69
- * [CBOR](Interoperability.md#cbor)
70
- * [MsgPack](Interoperability.md#msgpack)
71
- * [UBJSON](Interoperability.md#ubjson)
72
- * [Unsupported Formats](Interoperability.md#unsupported-formats)
73
- * [Parser Interface](Parser-Interface.md)
74
- * [Design Decisions](Design-Decisions.md)
75
- * [Scratchpad](Scratchpad.md)
76
- * [Changelog](Changelog.md)
77
-
78
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,25 +0,0 @@
1
- # Scratchpad
2
-
3
- TODO!
4
-
5
- ## JSON Pointer
6
-
7
- ###### `<tao/json/contrib/get.hpp>`
8
-
9
- ###### `<tao/json/contrib/patch.hpp>`
10
-
11
- ###### `<tao/json/contrib/refefence.hpp>`
12
-
13
- ###### `<tao/json/contrib/schema.hpp>`
14
-
15
- ## Still Need Description
16
-
17
- * `events::apply`
18
- * `events::basic_compare`
19
- * `events::compare`
20
- * `events::transformer`
21
- * `nlohmann::from_value`
22
- * `nlohmann::to_value`
23
- * TODO: Anything missing?
24
-
25
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,364 +0,0 @@
1
- # Type Traits
2
-
3
- * [Overview](#overview)
4
- * [Create JSON Value from (custom) type](#create-value-from-type)
5
- * [Convert JSON Value into (custom) type](#convert-value-into-type)
6
- * [Compare JSON Value to (custom) type](#compare-value-with-type)
7
- * [Produce JSON Events from (custom) type](#produce-events-from-type)
8
- * [Consume a (custom) type from a parser](#consume-type-from-parser)
9
- * [Default Key for Objects](#default-key-for-objects)
10
- * [Batteries Included](#batteries-included)
11
-
12
- For brevity we will often write "the traits" instead of "the (corresponding/appropriate/whatever) specialisation of the traits class template".
13
-
14
- ## Overview
15
-
16
- The class template passed as `Traits` template parameter, most prominently to `tao::json::basic_value<>`, controls the interaction between the JSON library and other C++ types.
17
-
18
- The library includes the Type Traits class template `tao::json::traits<>` with [many specialisations](Batteries-Included.md#default-traits) that is used throughout the library as default.
19
- A custom Traits class (more precisely: class template) can be used to change the behaviour of the default Traits, and/or to add support for new types.
20
-
21
- * In the first case it is necessary to create a new Traits class template.
22
- * In the second case it is also possible to (partially) specialise `tao::json::traits<>` for the new types.
23
-
24
- As is common, for any type `T`, the Type Traits class template instantiated with `T` as template argument is used as Type Traits class for `T`.
25
-
26
- The default Type Traits use a second template parameter that defaults to `void` to selective enable or disable a particular (partial) specialisation via SFINAE.
27
- For this reason, any template that takes a Type Traits class template as template parameter should be templated over `template< typename... > class Traits`, rather than the more obvious `template< typename > class Traits`.
28
-
29
- We will use the following class in the example implementations of the Type Traits functions.
30
-
31
- ```c++
32
- struct my_type
33
- {
34
- std::string title;
35
- std::vector< int > values;
36
- };
37
- ```
38
-
39
- While we could simply specialise `tao::json::traits<>` for `my_type`, we will prefer to define a new Type Traits class, an approach that also works when redefining Traits for types that the default Type Traits already cover.
40
-
41
- ```c++
42
- template< typename T >
43
- struct my_traits
44
- : public tao::json::traits< T >
45
- {
46
- // Inherit the default traits by default,
47
- // otherwise we would have to implement
48
- // specialisations for ALL types (that we
49
- // want to use).
50
- };
51
- ```
52
-
53
- For convenience, we might add a `using` for the JSON Value class with the new Type Traits.
54
-
55
- ```c++
56
- using my_value = tao::json::basic_value< my_traits >;
57
- ```
58
-
59
- Note that all Type Traits functions are `static` member functions, and that, depending on the use cases, it is not necessary for a traits specialisation to implement *all* traits functions.
60
-
61
- **For many common use cases it is not necessary to manually implement the Traits functions, instead the [Binding Traits](Binding-Traits.md) can be used to generate them automatically.**
62
-
63
- ## Create Value from Type
64
-
65
- The traits' `assign()` functions are used to create Value instances from any type `T`. We will use the implementation of `assign()` in the specialisation of `my_traits` for `my_type` as example.
66
-
67
- ```c++
68
- template<>
69
- struct my_traits< my_type >
70
- {
71
- template< template< typename... > class Traits >
72
- static void assign( tao::json::basic_value< Traits >& v, const my_type& t )
73
- {
74
- v = {
75
- { "title", t.title },
76
- { "values", t.values }
77
- };
78
- }
79
- };
80
- ```
81
-
82
- The first thing to note is that `assign()` is "templated over" the traits class template.
83
- If it weren't templated over the traits, the `assign()` function would only work with `my_traits`, but not when using a third traits class template that inherits from `my_traits` by default without changing the specialisation for `my_type`.
84
-
85
- For greater flexibility and future compatibility, we recommend to *always* template over the traits, regardless of whether creating other traits class templates based on the traits in question is planned or not.
86
-
87
- The second point of interest is that we have chosen to encode `my_type` as JSON Object with two sub-values, one for the title and one for the values, using the [initialiser-list syntax for Objects as explained in the documentation of the Value class](Value-Class.md).
88
-
89
- Nothing more needs to be done for `t.title` and `t.values` since the default traits already know how to create Values from `std::string`, `std::vector<>`, and `int`, and therefore also `std::vector< int >`.
90
- The default traits use JSON Arrays for vectors, lists and sets.
91
-
92
- Given the above traits specialisation for `my_type` it is now possible to write all of the following.
93
-
94
- ```c++
95
- const my_type a = make_my_type();
96
- const my_value v1 = a;
97
- const my_value v2 = {
98
- { "it's my type", a }
99
- };
100
-
101
- const std::list< my_type > l = make_list_of_my_type();
102
- const my_value v3 = l;
103
- ```
104
-
105
- As a performance optimisation it is possible to provide an additional overload of `assign()` for the case that the source `my_type` instance is `move()`-able.
106
- The moving `assign()` is of course only beneficial when there is data that can actually be moved, like `title` in the example.
107
- The vector `values` can not be moved to the JSON Value since it is a `std::vector< int >`, not one of the types used to represent data in a JSON Value.
108
-
109
- ```c++
110
- template<>
111
- struct my_traits< my_type >
112
- {
113
- template< template< typename... > class Traits >
114
- static void assign( tao::json::basic_value< Traits >& v, my_type&& t )
115
- {
116
- v = {
117
- { "title", std::move( t.title ) },
118
- { "values", t.values }
119
- };
120
- }
121
- };
122
- ```
123
-
124
- There are of course other possibilities for the JSON structure for `my_type`, for example it would be possible to create a flat JSON Array with the title as first element followed by the integers from `values`.
125
- In the following we will assume the implementation from above.
126
-
127
- ## Convert Value into Type
128
-
129
- The traits' `as()` and/or `to()` functions are used to convert Values into any type `T`.
130
-
131
- If not particularly awkward or slow it is recommended to implement `as()`, which returns the `T`, rather than `to()`.
132
-
133
- The user-facing functions `tao::json::basic_value<>::as()/to()` are all available, regardless of which function(s) the traits implement, subject to the following limitation:
134
-
135
- * `T` needs to be copy-assignable to use the front-end `to()` when the traits only implement `as()`.
136
- * `T` needs to be default-constructible to use the front-end `as()` when the traits only implement `to()`.
137
-
138
- Here both functions are shown even though a real-world traits class will typically only implement either one of them.
139
-
140
- ```c++
141
- template<>
142
- struct my_traits< my_type >
143
- {
144
- template< template< typename... > class Traits >
145
- static void to( const tao::json::basic_value< Traits >& v, my_type& d )
146
- {
147
- const auto& object = v.get_object();
148
- d.title = v.at( "title" ).template as< std::string >();
149
- d.values = v.at( "values" ).template as< std::vector< int > >();
150
- }
151
-
152
- template< template< typename... > class Traits >
153
- static my_type as( const tao::json::basic_value< Traits >& v )
154
- {
155
- my_type result;
156
- const auto& object = v.get_object();
157
- result.title = v.at( "title" ).template as< std::string >();
158
- result.values = v.at( "values" ).template as< std::vector< int > >();
159
- return result;
160
- }
161
- };
162
- ```
163
-
164
- The `as<>()` and `to()` functions again template over the traits class, just like `assign()`, and for the same reasons.
165
-
166
- The employed `get_object()`, `as<>()`, `to<>()` and `at()` functions will all throw an exception when something goes wrong, i.e. when the accessed JSON Value is not of the correct type, or when the indexed key does not exist.
167
-
168
- Instead of manually calling the Traits' `as()`- and `to()`-functions it is recommended to use one of the following to create a `T` from a Value.
169
-
170
- ```c++
171
- const tao::json::value v = ...;
172
- const my_type mt = v.as< my_type >();
173
- ```
174
-
175
- Or alternatively:
176
-
177
- ```c++
178
- const tao::json::value v = ...;
179
- my_type mt;
180
- v.to( mt );
181
- ```
182
-
183
- In this example no error is thrown when the top-level JSON Object contains additional keys beyond `"title"` and `"values"`.
184
-
185
- ## Compare Value with Type
186
-
187
- The comparison operators `==`, `!=`, `<`, `<=`, `>` and `>=` in namespace `tao::json` that compare instances of `basic_value<>` with other types *ideally* use the traits' `equal()`, `greater_than()` and `less_than()` functions.
188
-
189
- That is "ideally", because as long as the traits for the type in question have an `assign()` function, the comparison operators will still work -- by creating a temporary JSON Value and then compare the two Values.
190
- In other words, adding `equal()`, `greater_than()` and `less_than()` functions to traits is "only" a performance optimisation, it prevents the creation of the temporary JSON Value from the non-Value argument.
191
-
192
- The `equal()` function has to check whether an instance `d` of the type for which the traits are specialised is equal to a Value.
193
- This check should be consistent with the other traits functions, i.e. the check should return `true` if and only if comparing the Value to a Value created with the traits' `assign()` function (or the traits' `produce()` function together with `tao::json::events::to_value`) would also return `true`.
194
-
195
- ```c++
196
- template<>
197
- struct my_traits< my_type >
198
- {
199
- template< template< typename... > class Traits >
200
- static bool equal( const tao::json::basic_value< Traits >& v, const my_type& d ) noexcept
201
- {
202
- if( !v.is_object() ) {
203
- return false;
204
- }
205
- const auto& o = v.get_object();
206
- const auto i = o.find( "title" );
207
- const auto j = o.find( "values" );
208
- return ( o.size() == 2 )
209
- && ( i != o.end() )
210
- && ( i->second == d.title )
211
- && ( j != o.end() )
212
- && ( j->second == d.values );
213
- }
214
- };
215
- ```
216
-
217
- The other two functions, `less_than()` and `greater_than()`, have the same signature, and need to return whether the first argument is less than, or greater than the second, respectively.
218
- The same consistency conditions as for `equal()` should be applied.
219
- When all traits functions are consistent which each other then the following assertions will never fail, regardless of the values of `m` and `d`.
220
-
221
- ```c++
222
- const my_value m = some_value();
223
-
224
- const my_type d = make_my_type();
225
- const my_value v = d;
226
-
227
- assert( ( d == m ) == ( v == m ) );
228
- assert( ( d != m ) == ( v != m ) );
229
- assert( ( d < m ) == ( v < m ) );
230
- assert( ( d <= m ) == ( v <= m ) );
231
- assert( ( d > m ) == ( v > m ) );
232
- assert( ( d >= m ) == ( v >= m ) );
233
-
234
- // When the traits have a produce() function:
235
-
236
- const auto e = tao::json::produce::to_value< my_traits >( d );
237
-
238
- assert( ( d == m ) == ( e == m ) );
239
- assert( ( d != m ) == ( e != m ) );
240
- assert( ( d < m ) == ( e < m ) );
241
- assert( ( d <= m ) == ( e <= m ) );
242
- assert( ( d > m ) == ( e > m ) );
243
- assert( ( d >= m ) == ( e >= m ) );
244
- ```
245
-
246
- ## Produce Events from Type
247
-
248
- Producing [JSON Events](Events-Interface.md) from a type is performed by the type's Traits' `produce()` function.
249
-
250
- Implementing the `produce()` function is only required for some optimisation techniques, namely:
251
-
252
- 1. To directly serialise any type to JSON or another supported external representation format.
253
- 2. To create an [Opaque pointer JSON Value](Advanced-Use-Cases.md#instance-sharing-with-opaque-pointers) instead of using building the JSON data structure for a type.
254
-
255
- The `produce()` function receives an arbitrary [Events Consumer](Events-Interface.md) as first argument, and can call any [Events Functions](Events-Interface.md) on it.
256
-
257
- It should/must again template over their traits, and, since there is no `basic_value<>` instance from which the traits can be derived, the traits `produce()` functions and the functions in namespace `tao::json::produce` need to be called with the traits class template as explicit template parameter.
258
-
259
- ```c++
260
- template<>
261
- struct my_traits< my_type >
262
- {
263
- template< template< typename... > class Traits, typename Consumer >
264
- static void produce( Consumer& c, const my_type& d )
265
- {
266
- c.begin_object( 2 );
267
- c.key( "title" );
268
- tao::json::produce< Traits >( c, d.title );
269
- c.member();
270
- c.key( "values" );
271
- tao::json::produce< Traits >( c, d.values );
272
- c.member();
273
- c.end_object( 2 );
274
- }
275
- };
276
- ```
277
-
278
- For the first use case mentioned above, the following code snippet directly and efficiently generates the JSON representation of a `my_type` instance without creating any JSON Values along the way.
279
-
280
- ```c++
281
- const my_type d = make_my_type();
282
- const std::string json = tao::json::produce::to_string< my_traits >( d );
283
- ```
284
-
285
- As with the `assign()` functions, and depending on which Events Consumers are used, it might be beneficial to provide a moving-version of `produce()` that moves strings and binary data.
286
-
287
- ## Consume Type from Parser
288
-
289
- Directly creating an instance of a type from a parser is performed by the type's Traits' `consume()` function.
290
-
291
- Unlike all other similar parts of the library the `consume()` interface is *not* based on the Events Interface!
292
-
293
- Instead ... TODO: Explain pull-interface of the parts parsers.
294
-
295
- Similar to the Traits' `as()`-function there are two possibilities on how to implement this function, one that returns the value, and one that takes a mutable reference as second argument.
296
- Again it is not *necessary* to implement both functions, either one is sufficient, and when all is equal preference should be given to the version that returns the value.
297
-
298
- ```c++
299
- template<>
300
- struct my_traits< my_type >
301
- {
302
- template< template< typename... > class Traits, typename Producer >
303
- static void consume( Producer& p, my_type& mt )
304
- {
305
- // Easier to use the Binding Facilities to generate this function...
306
- }
307
-
308
- template< template< typename... > class Traits, typename Producer >
309
- static my_type consume( Producer& p )
310
- {
311
- // ...and not implement this one.
312
- }
313
- };
314
- ```
315
-
316
- Creating instances of `my_type` can then be achieved by manually calling the Traits' `consume()` function, or more conveniently by using one of the global `consume()` functions.
317
- Both the one- and two-argument version of the global `consume()` function can be called regardless of which version the Traits implement.
318
-
319
- ```c++
320
- const std::string json = ...;
321
- tao::json::parts_parser pp( json, "source" );
322
- const my_type mt = tao::json::consume< my_type, Traits >( pp );
323
- ```
324
-
325
- Or alternatively:
326
-
327
- ```c++
328
- const std::string json = ...;
329
- tao::json::parts_parser pp( json, "source" );
330
- my_type mt;
331
- tao::json::consume< Traits>( pp, mt );
332
- ```
333
-
334
- ## Default Key for Objects
335
-
336
- The use of default keys is [shown in the section on creating Values](Value-Class.md#creating-values).
337
-
338
- The default key for a type is a compile-time string that needs to be declared in the Traits specialisation.
339
-
340
- ```c++
341
- template<>
342
- struct my_traits< my_type >
343
- {
344
- TAO_JSON_DEFAULT_KEY( "fraggle" );
345
- };
346
- ```
347
-
348
- Further uses of the default key are for object bindings and the polymorphic object factory (TODO: Links).
349
-
350
- The default Traits supplied with the library do not define a default key for any type.
351
-
352
- ## Batteries Included
353
-
354
- * [Default Traits](Batteries-Included.md#default-traits)
355
- * [Additional Traits](Batteries-Included.md#additional-traits)
356
-
357
- The Type Traits correctly work with nested/composed types.
358
- Given that `std::string`, `int`, `std::tuple`, `std::vector`, `std::shared_ptr`, and `std::map` with `std::string` as `key_type` are supported (when including the additional Traits), so is for example the following type:
359
-
360
- ```c++
361
- std::map< std::string, std::shared_ptr< std::vector< std::tuple< int, int, int > > >
362
- ```
363
-
364
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey