couchbase 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (901) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/ext/CMakeLists.txt +86 -169
  4. data/ext/build_version.hxx.in +3 -2
  5. data/ext/cmake/Backtrace.cmake +35 -0
  6. data/ext/cmake/BuildTracing.cmake +6 -0
  7. data/ext/cmake/Cache.cmake +29 -0
  8. data/ext/cmake/CompilerWarnings.cmake +78 -0
  9. data/ext/cmake/PreventInSourceBuilds.cmake +18 -0
  10. data/ext/cmake/Sanitizers.cmake +66 -0
  11. data/ext/cmake/StandardProjectSettings.cmake +40 -0
  12. data/ext/cmake/StaticAnalyzers.cmake +37 -0
  13. data/ext/cmake/Testing.cmake +52 -0
  14. data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
  15. data/ext/cmake/VersionInfo.cmake +37 -0
  16. data/ext/couchbase/bucket.hxx +37 -12
  17. data/ext/couchbase/capabilities.hxx +117 -0
  18. data/ext/couchbase/cbcrypto/cbcrypto.cc +15 -15
  19. data/ext/couchbase/cluster.hxx +34 -2
  20. data/ext/couchbase/cluster_options.hxx +1 -0
  21. data/ext/couchbase/configuration.hxx +228 -52
  22. data/ext/couchbase/couchbase.cxx +914 -35
  23. data/ext/couchbase/diagnostics.hxx +251 -0
  24. data/ext/couchbase/document_id.hxx +3 -1
  25. data/ext/couchbase/errors.hxx +10 -1
  26. data/ext/couchbase/io/http_command.hxx +11 -7
  27. data/ext/couchbase/io/http_context.hxx +37 -0
  28. data/ext/couchbase/io/http_message.hxx +9 -0
  29. data/ext/couchbase/io/http_parser.hxx +2 -0
  30. data/ext/couchbase/io/http_session.hxx +100 -14
  31. data/ext/couchbase/io/http_session_manager.hxx +65 -5
  32. data/ext/couchbase/io/mcbp_command.hxx +16 -7
  33. data/ext/couchbase/io/mcbp_session.hxx +193 -51
  34. data/ext/couchbase/io/query_cache.hxx +61 -0
  35. data/ext/couchbase/io/retry_context.hxx +1 -2
  36. data/ext/couchbase/io/retry_orchestrator.hxx +16 -0
  37. data/ext/couchbase/io/retry_strategy.hxx +1 -1
  38. data/ext/couchbase/io/streams.hxx +61 -10
  39. data/ext/couchbase/operations.hxx +13 -0
  40. data/ext/couchbase/operations/analytics_dataset_create.hxx +1 -1
  41. data/ext/couchbase/operations/analytics_dataset_drop.hxx +1 -1
  42. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +1 -1
  43. data/ext/couchbase/operations/analytics_dataverse_create.hxx +1 -1
  44. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +1 -1
  45. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +1 -1
  46. data/ext/couchbase/operations/analytics_index_create.hxx +1 -1
  47. data/ext/couchbase/operations/analytics_index_drop.hxx +1 -1
  48. data/ext/couchbase/operations/analytics_index_get_all.hxx +1 -1
  49. data/ext/couchbase/operations/analytics_link_connect.hxx +1 -1
  50. data/ext/couchbase/operations/analytics_link_disconnect.hxx +1 -1
  51. data/ext/couchbase/operations/bucket_create.hxx +11 -5
  52. data/ext/couchbase/operations/bucket_drop.hxx +1 -1
  53. data/ext/couchbase/operations/bucket_flush.hxx +1 -1
  54. data/ext/couchbase/operations/bucket_get.hxx +1 -1
  55. data/ext/couchbase/operations/bucket_get_all.hxx +1 -1
  56. data/ext/couchbase/operations/bucket_settings.hxx +43 -4
  57. data/ext/couchbase/operations/bucket_update.hxx +11 -5
  58. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +1 -1
  59. data/ext/couchbase/operations/collection_create.hxx +3 -1
  60. data/ext/couchbase/operations/collection_drop.hxx +1 -1
  61. data/ext/couchbase/operations/collections_manifest_get.hxx +70 -0
  62. data/ext/couchbase/operations/document_analytics.hxx +6 -1
  63. data/ext/couchbase/operations/document_get_projected.hxx +1 -1
  64. data/ext/couchbase/operations/document_query.hxx +85 -8
  65. data/ext/couchbase/operations/document_search.hxx +14 -4
  66. data/ext/couchbase/operations/document_view.hxx +1 -1
  67. data/ext/couchbase/operations/group_drop.hxx +71 -0
  68. data/ext/couchbase/operations/group_get.hxx +75 -0
  69. data/ext/couchbase/operations/group_get_all.hxx +70 -0
  70. data/ext/couchbase/operations/group_upsert.hxx +118 -0
  71. data/ext/couchbase/operations/query_index_build_deferred.hxx +1 -1
  72. data/ext/couchbase/operations/query_index_create.hxx +1 -1
  73. data/ext/couchbase/operations/query_index_drop.hxx +1 -1
  74. data/ext/couchbase/operations/query_index_get_all.hxx +3 -2
  75. data/ext/couchbase/operations/rbac.hxx +276 -0
  76. data/ext/couchbase/operations/role_get_all.hxx +70 -0
  77. data/ext/couchbase/operations/scope_create.hxx +6 -2
  78. data/ext/couchbase/operations/scope_drop.hxx +1 -1
  79. data/ext/couchbase/operations/scope_get_all.hxx +1 -1
  80. data/ext/couchbase/operations/search_get_stats.hxx +59 -0
  81. data/ext/couchbase/operations/search_index_analyze_document.hxx +1 -1
  82. data/ext/couchbase/operations/search_index_control_ingest.hxx +1 -1
  83. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +1 -1
  84. data/ext/couchbase/operations/search_index_control_query.hxx +1 -1
  85. data/ext/couchbase/operations/search_index_drop.hxx +1 -1
  86. data/ext/couchbase/operations/search_index_get.hxx +1 -1
  87. data/ext/couchbase/operations/search_index_get_all.hxx +1 -1
  88. data/ext/couchbase/operations/search_index_get_documents_count.hxx +24 -16
  89. data/ext/couchbase/operations/search_index_get_stats.hxx +81 -0
  90. data/ext/couchbase/operations/search_index_upsert.hxx +1 -1
  91. data/ext/couchbase/operations/user_drop.hxx +72 -0
  92. data/ext/couchbase/operations/user_get.hxx +76 -0
  93. data/ext/couchbase/operations/user_get_all.hxx +71 -0
  94. data/ext/couchbase/operations/user_upsert.hxx +125 -0
  95. data/ext/couchbase/operations/view_index_drop.hxx +1 -1
  96. data/ext/couchbase/operations/view_index_get.hxx +1 -1
  97. data/ext/couchbase/operations/view_index_get_all.hxx +1 -1
  98. data/ext/couchbase/operations/view_index_upsert.hxx +1 -1
  99. data/ext/couchbase/origin.hxx +4 -4
  100. data/ext/couchbase/platform/terminate_handler.cc +5 -4
  101. data/ext/couchbase/protocol/client_opcode.hxx +38 -38
  102. data/ext/couchbase/protocol/client_response.hxx +2 -2
  103. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +6 -3
  104. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +3 -1
  105. data/ext/couchbase/protocol/magic.hxx +6 -6
  106. data/ext/couchbase/protocol/server_opcode.hxx +2 -2
  107. data/ext/couchbase/protocol/status.hxx +57 -57
  108. data/ext/couchbase/service_type.hxx +1 -1
  109. data/ext/couchbase/utils/connection_string.hxx +12 -3
  110. data/ext/couchbase/version.hxx +1 -1
  111. data/ext/extconf.rb +21 -9
  112. data/ext/test/test_helper.hxx +141 -0
  113. data/ext/test/test_helper_native.hxx +59 -0
  114. data/ext/test/test_helper_ruby.hxx +72 -0
  115. data/ext/test/test_native_diagnostics.cxx +385 -0
  116. data/ext/test/test_native_trivial_crud.cxx +83 -0
  117. data/ext/test/test_ruby_trivial_crud.cxx +35 -0
  118. data/ext/test/test_ruby_trivial_query.cxx +34 -0
  119. data/ext/third_party/asio/asio/include/asio.hpp +35 -0
  120. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
  121. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +1 -7
  122. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +36 -19
  123. data/ext/third_party/asio/asio/include/asio/async_result.hpp +1 -8
  124. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +14 -4
  125. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +12 -7
  126. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +4 -4
  127. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +11 -7
  128. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +9 -4
  129. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +6 -6
  130. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +4 -4
  131. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +5 -5
  132. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +13 -7
  133. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +7 -3
  134. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +52 -4
  135. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +10 -15
  136. data/ext/third_party/asio/asio/include/asio/buffer.hpp +6 -4
  137. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +380 -9
  138. data/ext/third_party/asio/asio/include/asio/defer.hpp +4 -1
  139. data/ext/third_party/asio/asio/include/asio/detached.hpp +50 -0
  140. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +19 -0
  141. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +144 -26
  142. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  143. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +106 -0
  144. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  145. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +10 -5
  146. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +8 -0
  147. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +360 -37
  148. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +17 -2
  149. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +24 -6
  150. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +32 -14
  151. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +32 -14
  152. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +133 -34
  153. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +42 -0
  154. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +23 -0
  155. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +26 -0
  156. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +370 -45
  157. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +208 -74
  158. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +39 -1
  159. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +12 -15
  160. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +37 -0
  161. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +2 -1
  162. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +661 -274
  163. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +210 -4
  164. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +8 -9
  165. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +5 -4
  166. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +15 -6
  167. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +32 -50
  168. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +3 -0
  169. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +6 -0
  170. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +1 -1
  171. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +13 -0
  172. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +1 -1
  173. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +38 -13
  174. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +12 -6
  175. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +2 -3
  176. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +36 -24
  177. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +17 -10
  178. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +38 -16
  179. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +36 -14
  180. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +21 -11
  181. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +43 -17
  182. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +39 -17
  183. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +44 -21
  184. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +41 -18
  185. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +12 -6
  186. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +3 -1
  187. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +10 -8
  188. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +11 -9
  189. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +8 -0
  190. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +7 -5
  191. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +46 -0
  192. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  193. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +12 -0
  194. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +25 -1
  195. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +4 -1
  196. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +58 -0
  197. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +59 -0
  198. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +144 -1
  199. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +9 -6
  200. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +13 -0
  201. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +9 -5
  202. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +9 -5
  203. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +5 -1
  204. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +10 -6
  205. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +9 -5
  206. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +18 -6
  207. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +15 -11
  208. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +10 -5
  209. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +8 -4
  210. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +8 -4
  211. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +8 -4
  212. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +8 -4
  213. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +10 -5
  214. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +8 -4
  215. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +8 -4
  216. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +8 -4
  217. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +8 -4
  218. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +81 -6
  219. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +45 -9
  220. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +4 -1
  221. data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
  222. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
  223. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
  224. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  225. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
  226. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
  227. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
  228. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
  229. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
  230. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
  231. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
  232. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  233. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  234. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  235. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  236. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  237. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  238. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
  239. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
  240. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  241. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  242. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  243. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
  244. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
  245. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  246. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
  247. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
  248. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  249. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  250. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
  251. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
  252. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  253. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  254. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
  255. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
  256. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
  257. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
  258. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  259. data/ext/third_party/asio/asio/include/asio/executor.hpp +7 -1
  260. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +126 -9
  261. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +28 -5
  262. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +29 -3
  263. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +14 -0
  264. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +44 -8
  265. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +44 -8
  266. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +145 -7
  267. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +124 -22
  268. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +52 -8
  269. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +147 -12
  270. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +142 -12
  271. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +15 -101
  272. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +5 -0
  273. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +13 -4
  274. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +144 -57
  275. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  276. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +147 -12
  277. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +85 -18
  278. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +59 -14
  279. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +241 -56
  280. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +22 -4
  281. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +58 -22
  282. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +3 -0
  283. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +16 -4
  284. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +113 -12
  285. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +260 -37
  286. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +61 -7
  287. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +5 -2
  288. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +147 -6
  289. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +75 -14
  290. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -11
  291. data/ext/third_party/asio/asio/include/asio/io_context.hpp +706 -48
  292. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +3 -1
  293. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +4 -4
  294. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  295. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  296. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +4 -4
  297. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +5 -5
  298. data/ext/third_party/asio/asio/include/asio/post.hpp +4 -1
  299. data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
  300. data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
  301. data/ext/third_party/asio/asio/include/asio/read_until.hpp +6 -6
  302. data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
  303. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
  304. data/ext/third_party/asio/asio/include/asio/spawn.hpp +12 -4
  305. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +5 -0
  306. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +5 -0
  307. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +5 -0
  308. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +16 -3
  309. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +38 -4
  310. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +5 -0
  311. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +5 -0
  312. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +36 -2
  313. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +10 -1
  314. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +15 -0
  315. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  316. data/ext/third_party/asio/asio/include/asio/strand.hpp +232 -9
  317. data/ext/third_party/asio/asio/include/asio/system_context.hpp +12 -3
  318. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +557 -24
  319. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +913 -37
  320. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  321. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  322. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  323. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  324. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  325. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  326. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  327. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  328. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  329. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  330. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  331. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  332. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  333. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  334. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  335. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  336. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  337. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  338. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  339. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  340. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  341. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  342. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  343. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  344. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  345. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  346. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  347. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  348. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
  349. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  350. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  351. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +1 -0
  352. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +67 -8
  353. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +63 -4
  354. data/ext/third_party/asio/asio/include/asio/version.hpp +1 -1
  355. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +4 -4
  356. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +2 -2
  357. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +5 -5
  358. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +5 -5
  359. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +4 -2
  360. data/ext/third_party/gsl/CMakeLists.txt +13 -5
  361. data/ext/third_party/gsl/include/gsl/gsl_assert +1 -1
  362. data/ext/third_party/gsl/include/gsl/gsl_byte +3 -3
  363. data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
  364. data/ext/third_party/gsl/include/gsl/gsl_util +8 -50
  365. data/ext/third_party/gsl/include/gsl/multi_span +0 -10
  366. data/ext/third_party/gsl/include/gsl/pointers +14 -28
  367. data/ext/third_party/gsl/include/gsl/span +98 -46
  368. data/ext/third_party/gsl/include/gsl/string_span +37 -47
  369. data/ext/third_party/http_parser/http_parser.c +17 -10
  370. data/ext/third_party/http_parser/http_parser.h +4 -2
  371. data/ext/third_party/json/include/tao/json/basic_value.hpp +3 -2
  372. data/ext/third_party/json/include/tao/json/binary.hpp +4 -4
  373. data/ext/third_party/json/include/tao/json/binary_view.hpp +2 -2
  374. data/ext/third_party/json/include/tao/json/binding.hpp +2 -2
  375. data/ext/third_party/json/include/tao/json/binding/factory.hpp +8 -7
  376. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +2 -1
  377. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +6 -5
  378. data/ext/third_party/json/include/tao/json/binding/versions.hpp +3 -1
  379. data/ext/third_party/json/include/tao/json/cbor.hpp +1 -0
  380. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +7 -7
  381. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
  382. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +4 -4
  383. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +3 -3
  384. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  385. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +5 -5
  386. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +2 -1
  387. data/ext/third_party/json/include/tao/json/consume_file.hpp +7 -7
  388. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +13 -6
  389. data/ext/third_party/json/include/tao/json/contrib/position.hpp +15 -15
  390. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +5 -7
  391. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +58 -35
  392. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +12 -4
  393. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +12 -4
  394. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +1 -1
  395. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +2 -2
  396. data/ext/third_party/json/include/tao/json/events/compare.hpp +2 -12
  397. data/ext/third_party/json/include/tao/json/events/from_file.hpp +4 -4
  398. data/ext/third_party/json/include/tao/json/events/from_string.hpp +2 -2
  399. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +1 -1
  400. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +3 -3
  401. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +1 -1
  402. data/ext/third_party/json/include/tao/json/events/tee.hpp +2 -2
  403. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +1 -1
  404. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +1 -1
  405. data/ext/third_party/json/include/tao/json/events/transformer.hpp +3 -3
  406. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +3 -3
  407. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +6 -0
  408. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +4 -13
  409. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +3 -5
  410. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +5 -18
  411. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +3 -3
  412. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +2 -2
  413. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +6 -6
  414. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +5 -5
  415. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +2 -2
  416. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +6 -6
  417. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +5 -5
  418. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +52 -52
  419. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
  420. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
  421. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
  422. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
  423. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
  424. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +37 -18
  425. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +20 -22
  426. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +6 -10
  427. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +6 -10
  428. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +2 -4
  429. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +11 -10
  430. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +116 -131
  431. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian.hpp +4 -4
  432. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian_gcc.hpp +2 -2
  433. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian_win.hpp +2 -2
  434. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_mask_uint.hpp +9 -9
  435. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_mask_uint8.hpp +9 -10
  436. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_uint.hpp +9 -9
  437. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_uint8.hpp +9 -10
  438. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_utf16.hpp +10 -10
  439. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_utf32.hpp +9 -9
  440. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/read_uint.hpp +3 -3
  441. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  442. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +80 -201
  443. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +11 -10
  444. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
  445. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
  446. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +45 -36
  447. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +33 -50
  448. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
  449. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +43 -11
  450. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +1 -2
  451. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
  452. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
  453. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
  454. data/ext/third_party/json/include/tao/json/external/pegtl/{uint16.hpp → contrib/uint16.hpp} +5 -5
  455. data/ext/third_party/json/include/tao/json/external/pegtl/{uint32.hpp → contrib/uint32.hpp} +5 -5
  456. data/ext/third_party/json/include/tao/json/external/pegtl/{uint64.hpp → contrib/uint64.hpp} +5 -5
  457. data/ext/third_party/json/include/tao/json/external/pegtl/{uint8.hpp → contrib/uint8.hpp} +5 -5
  458. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +14 -14
  459. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +1 -1
  460. data/ext/third_party/json/include/tao/json/external/pegtl/{utf16.hpp → contrib/utf16.hpp} +5 -5
  461. data/ext/third_party/json/include/tao/json/external/pegtl/{utf32.hpp → contrib/utf32.hpp} +5 -5
  462. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +2 -3
  463. data/ext/third_party/json/include/tao/json/external/pegtl/{internal/demangle.hpp → demangle.hpp} +12 -14
  464. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +2 -2
  465. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +2 -2
  466. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +2 -2
  467. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +2 -2
  468. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +2 -2
  469. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +1 -1
  470. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +19 -9
  471. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +7 -8
  472. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +14 -14
  473. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +9 -9
  474. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +8 -7
  475. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +4 -4
  476. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +17 -15
  477. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +7 -6
  478. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +8 -8
  479. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +4 -4
  480. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +3 -3
  481. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +17 -10
  482. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +19 -9
  483. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +2 -2
  484. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +2 -2
  485. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +2 -2
  486. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +1 -1
  487. data/ext/third_party/json/include/tao/json/external/pegtl/internal/{always_false.hpp → dependent_false.hpp} +3 -8
  488. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +19 -9
  489. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +7 -6
  490. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +19 -9
  491. data/ext/third_party/json/include/tao/json/external/pegtl/internal/{skip_control.hpp → enable_control.hpp} +5 -5
  492. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +7 -6
  493. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +8 -7
  494. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +8 -7
  495. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
  496. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +61 -10
  497. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +27 -33
  498. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +29 -26
  499. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +3 -7
  500. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +3 -7
  501. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +4 -20
  502. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
  503. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +8 -7
  504. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +8 -9
  505. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +2 -0
  506. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +7 -7
  507. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +1 -2
  508. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +11 -11
  509. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +7 -10
  510. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +2 -2
  511. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +2 -2
  512. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +4 -2
  513. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +1 -1
  514. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +3 -5
  515. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
  516. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +5 -2
  517. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +5 -2
  518. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +16 -24
  519. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +17 -15
  520. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +23 -12
  521. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +16 -16
  522. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
  523. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +5 -5
  524. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +12 -13
  525. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +18 -11
  526. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +8 -17
  527. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +22 -17
  528. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +28 -18
  529. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +12 -9
  530. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +26 -25
  531. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +23 -21
  532. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +24 -9
  533. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +10 -10
  534. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +4 -4
  535. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +18 -33
  536. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +24 -17
  537. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +13 -8
  538. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +21 -11
  539. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +11 -11
  540. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
  541. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +16 -16
  542. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +18 -14
  543. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +2 -3
  544. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +125 -29
  545. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +32 -48
  546. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +16 -16
  547. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
  548. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +25 -25
  549. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +1 -2
  550. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +6 -8
  551. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +80 -35
  552. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +18 -10
  553. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +18 -38
  554. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +6 -5
  555. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +3 -5
  556. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
  557. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
  558. data/ext/third_party/json/include/tao/json/from_file.hpp +5 -5
  559. data/ext/third_party/json/include/tao/json/internal/action.hpp +3 -3
  560. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  561. data/ext/third_party/json/include/tao/json/internal/errors.hpp +17 -17
  562. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -2
  563. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +17 -17
  564. data/ext/third_party/json/include/tao/json/internal/pair.hpp +1 -1
  565. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +8 -8
  566. data/ext/third_party/json/include/tao/json/internal/single.hpp +1 -1
  567. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +12 -29
  568. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +7 -7
  569. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +4 -4
  570. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +2 -2
  571. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +5 -5
  572. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +6 -6
  573. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +2 -2
  574. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +43 -43
  575. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +36 -36
  576. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +10 -11
  577. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +2 -2
  578. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +1 -3
  579. data/ext/third_party/json/include/tao/json/message_extension.hpp +2 -2
  580. data/ext/third_party/json/include/tao/json/msgpack.hpp +1 -0
  581. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +7 -7
  582. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
  583. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +4 -4
  584. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +4 -4
  585. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +4 -4
  586. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  587. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +5 -5
  588. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +2 -1
  589. data/ext/third_party/json/include/tao/json/operators.hpp +0 -4
  590. data/ext/third_party/json/include/tao/json/parts_parser.hpp +3 -7
  591. data/ext/third_party/json/include/tao/json/self_contained.hpp +6 -18
  592. data/ext/third_party/json/include/tao/json/span.hpp +94 -166
  593. data/ext/third_party/json/include/tao/json/ubjson.hpp +1 -0
  594. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +7 -7
  595. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
  596. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +4 -4
  597. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +3 -3
  598. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  599. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +5 -5
  600. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +5 -3
  601. data/ext/third_party/json/include/tao/json/utf8.hpp +1 -1
  602. data/ext/third_party/snappy/snappy.cc +6 -2
  603. data/ext/third_party/spdlog/CMakeLists.txt +24 -57
  604. data/ext/third_party/spdlog/cmake/version.rc.in +1 -1
  605. data/ext/third_party/spdlog/include/spdlog/async.h +3 -3
  606. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +3 -4
  607. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +6 -4
  608. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +22 -6
  609. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +3 -2
  610. data/ext/third_party/spdlog/include/spdlog/common.h +1 -2
  611. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +9 -1
  612. data/ext/third_party/spdlog/include/spdlog/details/os.h +1 -1
  613. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +21 -7
  614. data/ext/third_party/spdlog/include/spdlog/details/registry.h +6 -3
  615. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +1 -1
  616. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +1 -1
  617. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +8 -7
  618. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +2 -2
  619. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +66 -62
  620. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +35 -37
  621. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +173 -103
  622. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +538 -445
  623. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +114 -64
  624. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +1152 -1071
  625. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +16 -16
  626. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
  627. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +37 -13
  628. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +1 -1
  629. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +93 -63
  630. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +35 -36
  631. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  632. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +2 -0
  633. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +5 -1
  634. data/ext/third_party/spdlog/include/spdlog/logger.h +50 -76
  635. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +23 -8
  636. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +3 -3
  637. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +1 -1
  638. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +5 -5
  639. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +6 -4
  640. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +32 -3
  641. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +7 -0
  642. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +4 -14
  643. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +11 -1
  644. data/ext/third_party/spdlog/include/spdlog/spdlog.h +23 -68
  645. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
  646. data/ext/third_party/spdlog/include/spdlog/version.h +2 -2
  647. data/ext/third_party/spdlog/src/fmt.cpp +21 -147
  648. data/lib/couchbase/cluster.rb +111 -1
  649. data/lib/couchbase/collection_options.rb +18 -1
  650. data/lib/couchbase/errors.rb +3 -0
  651. data/lib/couchbase/management/bucket_manager.rb +36 -3
  652. data/lib/couchbase/management/search_index_manager.rb +42 -1
  653. data/lib/couchbase/management/user_manager.rb +155 -48
  654. data/lib/couchbase/query_options.rb +7 -0
  655. data/lib/couchbase/scope.rb +1 -0
  656. data/lib/couchbase/search_options.rb +69 -1
  657. data/lib/couchbase/version.rb +1 -1
  658. metadata +172 -268
  659. data/.rubocop.yml +0 -227
  660. data/.rubocop_todo.yml +0 -47
  661. data/.yardopts +0 -1
  662. data/CONTRIBUTING.md +0 -110
  663. data/Gemfile +0 -37
  664. data/Rakefile +0 -51
  665. data/couchbase.gemspec +0 -79
  666. data/examples/analytics.rb +0 -236
  667. data/examples/auth.rb +0 -33
  668. data/examples/crud.rb +0 -34
  669. data/examples/managing_analytics_indexes.rb +0 -86
  670. data/examples/managing_buckets.rb +0 -61
  671. data/examples/managing_collections.rb +0 -71
  672. data/examples/managing_query_indexes.rb +0 -83
  673. data/examples/managing_search_indexes.rb +0 -77
  674. data/examples/managing_view_indexes.rb +0 -68
  675. data/examples/query.rb +0 -32
  676. data/examples/query_with_consistency.rb +0 -86
  677. data/examples/search.rb +0 -202
  678. data/examples/search_with_consistency.rb +0 -97
  679. data/examples/subdocument.rb +0 -63
  680. data/examples/view.rb +0 -59
  681. data/ext/.clang-format +0 -15
  682. data/ext/.clang-tidy +0 -22
  683. data/ext/.cmake-format.yaml +0 -8
  684. data/ext/.gitignore +0 -2
  685. data/ext/.idea/.name +0 -1
  686. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  687. data/ext/.idea/ext.iml +0 -2
  688. data/ext/.idea/misc.xml +0 -16
  689. data/ext/.idea/modules.xml +0 -8
  690. data/ext/.idea/vcs.xml +0 -12
  691. data/ext/test/main.cxx +0 -184
  692. data/ext/third_party/asio/.appveyor.yml +0 -107
  693. data/ext/third_party/asio/.cirrus.yml +0 -16
  694. data/ext/third_party/asio/.gitignore +0 -3
  695. data/ext/third_party/asio/.travis.yml +0 -323
  696. data/ext/third_party/asio/asio/.gitignore +0 -23
  697. data/ext/third_party/asio/asio/COPYING +0 -4
  698. data/ext/third_party/asio/asio/INSTALL +0 -5
  699. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  700. data/ext/third_party/asio/asio/Makefile.am +0 -19
  701. data/ext/third_party/asio/asio/README +0 -4
  702. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  703. data/ext/third_party/asio/asio/autogen.sh +0 -55
  704. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  705. data/ext/third_party/asio/asio/boostify.pl +0 -603
  706. data/ext/third_party/asio/asio/configure.ac +0 -182
  707. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  708. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  709. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  710. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  711. data/ext/third_party/asio/asio/release.pl +0 -440
  712. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  713. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  714. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  715. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  716. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  717. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  718. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  719. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  720. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  721. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  722. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  723. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  724. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  725. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  726. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  727. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  728. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  729. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  730. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  731. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  732. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  733. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  734. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  735. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  736. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  737. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  738. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  739. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  740. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  741. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  742. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  743. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  744. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  745. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  746. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  747. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  748. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  749. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  750. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  751. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  752. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  753. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  754. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  755. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  756. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  757. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  758. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  759. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  760. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  761. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  762. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  763. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  764. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  765. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  766. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  767. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  768. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  769. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  770. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  771. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  772. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  773. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  774. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  775. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  776. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  777. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  778. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  779. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  780. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  781. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  782. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  783. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  784. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  785. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  786. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  787. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  788. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  789. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  790. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  791. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  792. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  793. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  794. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  795. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  796. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  797. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  798. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  799. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  800. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  801. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  802. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  803. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  804. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  805. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  806. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  807. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  808. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  809. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  810. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  811. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  812. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  813. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  814. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  815. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  816. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  817. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  818. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  819. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  820. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  821. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  822. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  823. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  824. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  825. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  826. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  827. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  828. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  829. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  830. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  831. data/ext/third_party/asio/asio/tsify.pl +0 -574
  832. data/ext/third_party/gsl/.clang-format +0 -34
  833. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  834. data/ext/third_party/gsl/.gitignore +0 -16
  835. data/ext/third_party/gsl/.travis.yml +0 -551
  836. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  837. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  838. data/ext/third_party/gsl/GSL.natvis +0 -98
  839. data/ext/third_party/gsl/README.md +0 -124
  840. data/ext/third_party/gsl/appveyor.yml +0 -128
  841. data/ext/third_party/http_parser/.gitignore +0 -30
  842. data/ext/third_party/http_parser/.mailmap +0 -8
  843. data/ext/third_party/http_parser/.travis.yml +0 -13
  844. data/ext/third_party/http_parser/AUTHORS +0 -68
  845. data/ext/third_party/http_parser/Makefile +0 -160
  846. data/ext/third_party/http_parser/README.md +0 -246
  847. data/ext/third_party/http_parser/bench.c +0 -128
  848. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  849. data/ext/third_party/http_parser/test.c +0 -4600
  850. data/ext/third_party/json/.appveyor.yml +0 -44
  851. data/ext/third_party/json/.clang-format +0 -84
  852. data/ext/third_party/json/.conan/build.py +0 -80
  853. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  854. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  855. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  856. data/ext/third_party/json/.gitignore +0 -3
  857. data/ext/third_party/json/.travis.yml +0 -173
  858. data/ext/third_party/json/Makefile +0 -77
  859. data/ext/third_party/json/README.md +0 -149
  860. data/ext/third_party/json/conanfile.py +0 -28
  861. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  862. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  863. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  864. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  865. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  866. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  867. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  868. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  869. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  870. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  871. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  872. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  873. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  874. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  875. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  876. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  877. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  878. data/ext/third_party/snappy/.appveyor.yml +0 -36
  879. data/ext/third_party/snappy/.gitignore +0 -8
  880. data/ext/third_party/snappy/.travis.yml +0 -98
  881. data/ext/third_party/snappy/AUTHORS +0 -1
  882. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  883. data/ext/third_party/snappy/NEWS +0 -188
  884. data/ext/third_party/snappy/README.md +0 -148
  885. data/ext/third_party/snappy/docs/README.md +0 -72
  886. data/ext/third_party/snappy/format_description.txt +0 -110
  887. data/ext/third_party/snappy/framing_format.txt +0 -135
  888. data/ext/third_party/snappy/snappy-test.cc +0 -613
  889. data/ext/third_party/snappy/snappy-test.h +0 -526
  890. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  891. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  892. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  893. data/ext/third_party/spdlog/.clang-format +0 -108
  894. data/ext/third_party/spdlog/.clang-tidy +0 -54
  895. data/ext/third_party/spdlog/.gitattributes +0 -1
  896. data/ext/third_party/spdlog/.gitignore +0 -83
  897. data/ext/third_party/spdlog/.travis.yml +0 -112
  898. data/ext/third_party/spdlog/INSTALL +0 -24
  899. data/ext/third_party/spdlog/README.md +0 -423
  900. data/ext/third_party/spdlog/appveyor.yml +0 -51
  901. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
@@ -1,15 +1,15 @@
1
1
  // Copyright (c) 2017-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_ENDIAN_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_ENDIAN_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_ENDIAN_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_ENDIAN_HPP
6
6
 
7
7
  #include <cstdint>
8
8
  #include <cstring>
9
9
 
10
- #include "../config.hpp"
10
+ #include "../../config.hpp"
11
11
 
12
- #if defined( _WIN32 ) && !defined( __MINGW32__ )
12
+ #if defined( _WIN32 ) && !defined( __MINGW32__ ) && !defined( __CYGWIN__ )
13
13
  #include "endian_win.hpp"
14
14
  #else
15
15
  #include "endian_gcc.hpp"
@@ -1,8 +1,8 @@
1
1
  // Copyright (c) 2017-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_ENDIAN_GCC_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_ENDIAN_GCC_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_ENDIAN_GCC_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_ENDIAN_GCC_HPP
6
6
 
7
7
  #include <cstdint>
8
8
  #include <cstring>
@@ -1,8 +1,8 @@
1
1
  // Copyright (c) 2017-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_ENDIAN_WIN_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_ENDIAN_WIN_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_ENDIAN_WIN_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_ENDIAN_WIN_HPP
6
6
 
7
7
  #include <cstdint>
8
8
  #include <cstdlib>
@@ -1,15 +1,15 @@
1
1
  // Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_PEEK_MASK_UINT_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_PEEK_MASK_UINT_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_MASK_UINT_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_MASK_UINT_HPP
6
6
 
7
7
  #include <cstddef>
8
8
  #include <cstdint>
9
9
 
10
- #include "../config.hpp"
10
+ #include "../../config.hpp"
11
+ #include "../../internal/input_pair.hpp"
11
12
 
12
- #include "input_pair.hpp"
13
13
  #include "read_uint.hpp"
14
14
 
15
15
  namespace TAO_JSON_PEGTL_NAMESPACE::internal
@@ -20,12 +20,12 @@ namespace TAO_JSON_PEGTL_NAMESPACE::internal
20
20
  using data_t = typename R::type;
21
21
  using pair_t = input_pair< data_t >;
22
22
 
23
- static constexpr std::size_t min_input_size = sizeof( data_t );
24
- static constexpr std::size_t max_input_size = sizeof( data_t );
25
-
26
- template< typename Input >
27
- [[nodiscard]] static pair_t peek( const Input& in, const std::size_t /*unused*/ ) noexcept
23
+ template< typename ParseInput >
24
+ [[nodiscard]] static pair_t peek( ParseInput& in ) noexcept( noexcept( in.size( sizeof( data_t ) ) ) )
28
25
  {
26
+ if( in.size( sizeof( data_t ) ) < sizeof( data_t ) ) {
27
+ return { 0, 0 };
28
+ }
29
29
  const data_t data = R::read( in.current() ) & M;
30
30
  return { data, sizeof( data_t ) };
31
31
  }
@@ -1,15 +1,14 @@
1
1
  // Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_PEEK_MASK_UINT8_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_PEEK_MASK_UINT8_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_MASK_UINT8_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_MASK_UINT8_HPP
6
6
 
7
7
  #include <cstddef>
8
8
  #include <cstdint>
9
9
 
10
- #include "../config.hpp"
11
-
12
- #include "input_pair.hpp"
10
+ #include "../../config.hpp"
11
+ #include "../../internal/input_pair.hpp"
13
12
 
14
13
  namespace TAO_JSON_PEGTL_NAMESPACE::internal
15
14
  {
@@ -19,12 +18,12 @@ namespace TAO_JSON_PEGTL_NAMESPACE::internal
19
18
  using data_t = std::uint8_t;
20
19
  using pair_t = input_pair< std::uint8_t >;
21
20
 
22
- static constexpr std::size_t min_input_size = 1;
23
- static constexpr std::size_t max_input_size = 1;
24
-
25
- template< typename Input >
26
- [[nodiscard]] static pair_t peek( const Input& in, const std::size_t /*unused*/ = 1 ) noexcept
21
+ template< typename ParseInput >
22
+ [[nodiscard]] static pair_t peek( ParseInput& in ) noexcept( noexcept( in.empty() ) )
27
23
  {
24
+ if( in.empty() ) {
25
+ return { 0, 0 };
26
+ }
28
27
  return { std::uint8_t( in.peek_uint8() & M ), 1 };
29
28
  }
30
29
  };
@@ -1,15 +1,15 @@
1
1
  // Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_PEEK_UINT_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_PEEK_UINT_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_UINT_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_UINT_HPP
6
6
 
7
7
  #include <cstddef>
8
8
  #include <cstdint>
9
9
 
10
- #include "../config.hpp"
10
+ #include "../../config.hpp"
11
+ #include "../../internal/input_pair.hpp"
11
12
 
12
- #include "input_pair.hpp"
13
13
  #include "read_uint.hpp"
14
14
 
15
15
  namespace TAO_JSON_PEGTL_NAMESPACE::internal
@@ -20,12 +20,12 @@ namespace TAO_JSON_PEGTL_NAMESPACE::internal
20
20
  using data_t = typename R::type;
21
21
  using pair_t = input_pair< data_t >;
22
22
 
23
- static constexpr std::size_t min_input_size = sizeof( data_t );
24
- static constexpr std::size_t max_input_size = sizeof( data_t );
25
-
26
- template< typename Input >
27
- [[nodiscard]] static pair_t peek( const Input& in, const std::size_t /*unused*/ ) noexcept
23
+ template< typename ParseInput >
24
+ [[nodiscard]] static pair_t peek( ParseInput& in ) noexcept( noexcept( in.size( sizeof( data_t ) ) ) )
28
25
  {
26
+ if( in.size( sizeof( data_t ) ) < sizeof( data_t ) ) {
27
+ return { 0, 0 };
28
+ }
29
29
  const data_t data = R::read( in.current() );
30
30
  return { data, sizeof( data_t ) };
31
31
  }
@@ -1,15 +1,14 @@
1
1
  // Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_PEEK_UINT8_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_PEEK_UINT8_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_UINT8_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_UINT8_HPP
6
6
 
7
7
  #include <cstddef>
8
8
  #include <cstdint>
9
9
 
10
- #include "../config.hpp"
11
-
12
- #include "input_pair.hpp"
10
+ #include "../../config.hpp"
11
+ #include "../../internal/input_pair.hpp"
13
12
 
14
13
  namespace TAO_JSON_PEGTL_NAMESPACE::internal
15
14
  {
@@ -18,12 +17,12 @@ namespace TAO_JSON_PEGTL_NAMESPACE::internal
18
17
  using data_t = std::uint8_t;
19
18
  using pair_t = input_pair< std::uint8_t >;
20
19
 
21
- static constexpr std::size_t min_input_size = 1;
22
- static constexpr std::size_t max_input_size = 1;
23
-
24
- template< typename Input >
25
- [[nodiscard]] static pair_t peek( const Input& in, const std::size_t /*unused*/ = 1 ) noexcept
20
+ template< typename ParseInput >
21
+ [[nodiscard]] static pair_t peek( ParseInput& in ) noexcept( noexcept( in.empty() ) )
26
22
  {
23
+ if( in.empty() ) {
24
+ return { 0, 0 };
25
+ }
27
26
  return { in.peek_uint8(), 1 };
28
27
  }
29
28
  };
@@ -1,14 +1,14 @@
1
1
  // Copyright (c) 2014-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_PEEK_UTF16_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_PEEK_UTF16_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_UTF16_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_UTF16_HPP
6
6
 
7
7
  #include <type_traits>
8
8
 
9
- #include "../config.hpp"
9
+ #include "../../config.hpp"
10
+ #include "../../internal/input_pair.hpp"
10
11
 
11
- #include "input_pair.hpp"
12
12
  #include "read_uint.hpp"
13
13
 
14
14
  namespace TAO_JSON_PEGTL_NAMESPACE::internal
@@ -24,17 +24,17 @@ namespace TAO_JSON_PEGTL_NAMESPACE::internal
24
24
  static_assert( sizeof( short_t ) == 2 );
25
25
  static_assert( sizeof( char16_t ) == 2 );
26
26
 
27
- static constexpr std::size_t min_input_size = 2;
28
- static constexpr std::size_t max_input_size = 4;
29
-
30
- template< typename Input >
31
- [[nodiscard]] static pair_t peek( const Input& in, const std::size_t s ) noexcept
27
+ template< typename ParseInput >
28
+ [[nodiscard]] static pair_t peek( ParseInput& in ) noexcept( noexcept( in.size( 4 ) ) )
32
29
  {
30
+ if( in.size( 2 ) < 2 ) {
31
+ return { 0, 0 };
32
+ }
33
33
  const char32_t t = R::read( in.current() );
34
34
  if( ( t < 0xd800 ) || ( t > 0xdfff ) ) {
35
35
  return { t, 2 };
36
36
  }
37
- if( ( t >= 0xdc00 ) || ( s < 4 ) ) {
37
+ if( ( t >= 0xdc00 ) || ( in.size( 4 ) < 4 ) ) {
38
38
  return { 0, 0 };
39
39
  }
40
40
  const char32_t u = R::read( in.current() + 2 );
@@ -1,14 +1,14 @@
1
1
  // Copyright (c) 2014-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_PEEK_UTF32_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_PEEK_UTF32_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_UTF32_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_PEEK_UTF32_HPP
6
6
 
7
7
  #include <cstddef>
8
8
 
9
- #include "../config.hpp"
9
+ #include "../../config.hpp"
10
+ #include "../../internal/input_pair.hpp"
10
11
 
11
- #include "input_pair.hpp"
12
12
  #include "read_uint.hpp"
13
13
 
14
14
  namespace TAO_JSON_PEGTL_NAMESPACE::internal
@@ -21,12 +21,12 @@ namespace TAO_JSON_PEGTL_NAMESPACE::internal
21
21
 
22
22
  static_assert( sizeof( char32_t ) == 4 );
23
23
 
24
- static constexpr std::size_t min_input_size = 4;
25
- static constexpr std::size_t max_input_size = 4;
26
-
27
- template< typename Input >
28
- [[nodiscard]] static pair_t peek( const Input& in, const std::size_t /*unused*/ ) noexcept
24
+ template< typename ParseInput >
25
+ [[nodiscard]] static pair_t peek( ParseInput& in ) noexcept( noexcept( in.size( 4 ) ) )
29
26
  {
27
+ if( in.size( 4 ) < 4 ) {
28
+ return { 0, 0 };
29
+ }
30
30
  const char32_t t = R::read( in.current() );
31
31
  if( ( t <= 0x10ffff ) && !( t >= 0xd800 && t <= 0xdfff ) ) {
32
32
  return { t, 4 };
@@ -1,12 +1,12 @@
1
1
  // Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
2
2
  // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
3
 
4
- #ifndef TAO_JSON_PEGTL_INTERNAL_READ_UINT_HPP
5
- #define TAO_JSON_PEGTL_INTERNAL_READ_UINT_HPP
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_READ_UINT_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_READ_UINT_HPP
6
6
 
7
7
  #include <cstdint>
8
8
 
9
- #include "../config.hpp"
9
+ #include "../../config.hpp"
10
10
 
11
11
  #include "endian.hpp"
12
12
 
@@ -0,0 +1,52 @@
1
+ // Copyright (c) 2020 Dr. Colin Hirsch and Daniel Frey
2
+ // Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
3
+
4
+ #ifndef TAO_JSON_PEGTL_CONTRIB_INTERNAL_SET_STACK_GUARD_HPP
5
+ #define TAO_JSON_PEGTL_CONTRIB_INTERNAL_SET_STACK_GUARD_HPP
6
+
7
+ #include <set>
8
+ #include <utility>
9
+
10
+ #include "../../config.hpp"
11
+
12
+ namespace TAO_JSON_PEGTL_NAMESPACE::internal
13
+ {
14
+ template< typename... Cs >
15
+ class set_stack_guard
16
+ {
17
+ public:
18
+ template< typename... Ts >
19
+ set_stack_guard( std::set< Cs... >& set, Ts&&... ts )
20
+ : m_i( set.emplace( std::forward< Ts >( ts )... ) ),
21
+ m_s( set )
22
+ {}
23
+
24
+ set_stack_guard( set_stack_guard&& ) = delete;
25
+ set_stack_guard( const set_stack_guard& ) = delete;
26
+
27
+ void operator=( set_stack_guard&& ) = delete;
28
+ void operator=( const set_stack_guard& ) = delete;
29
+
30
+ ~set_stack_guard()
31
+ {
32
+ if( m_i.second ) {
33
+ m_s.erase( m_i.first );
34
+ }
35
+ }
36
+
37
+ explicit operator bool() const noexcept
38
+ {
39
+ return m_i.second;
40
+ }
41
+
42
+ private:
43
+ const std::pair< typename std::set< Cs... >::iterator, bool > m_i;
44
+ std::set< Cs... >& m_s;
45
+ };
46
+
47
+ template< typename... Cs >
48
+ set_stack_guard( std::set< Cs... >&, const typename std::set< Cs... >::value_type& ) -> set_stack_guard< Cs... >;
49
+
50
+ } // namespace TAO_JSON_PEGTL_NAMESPACE::internal
51
+
52
+ #endif
@@ -14,15 +14,20 @@
14
14
  #include <utility>
15
15
  #include <vector>
16
16
 
17
+ #include "remove_first_state.hpp"
18
+ #include "shuffle_states.hpp"
19
+
20
+ #include "../apply_mode.hpp"
17
21
  #include "../config.hpp"
22
+ #include "../demangle.hpp"
18
23
  #include "../memory_input.hpp"
19
24
  #include "../normal.hpp"
20
25
  #include "../nothing.hpp"
21
26
  #include "../parse.hpp"
27
+ #include "../rewind_mode.hpp"
22
28
 
23
- #include "../analysis/counted.hpp"
24
- #include "../analysis/generic.hpp"
25
- #include "../internal/demangle.hpp"
29
+ #include "../internal/enable_control.hpp"
30
+ #include "../internal/has_unwind.hpp"
26
31
  #include "../internal/iterator.hpp"
27
32
 
28
33
  namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
@@ -62,13 +67,13 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
62
67
  template< typename U >
63
68
  [[nodiscard]] bool is_type() const noexcept
64
69
  {
65
- return type == TAO_JSON_PEGTL_NAMESPACE::internal::demangle< U >();
70
+ return type == demangle< U >();
66
71
  }
67
72
 
68
73
  template< typename U >
69
74
  void set_type() noexcept
70
75
  {
71
- type = TAO_JSON_PEGTL_NAMESPACE::internal::demangle< U >();
76
+ type = demangle< U >();
72
77
  }
73
78
 
74
79
  [[nodiscard]] position begin() const
@@ -102,18 +107,18 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
102
107
  [[nodiscard]] memory_input< P, Eol > as_memory_input() const
103
108
  {
104
109
  assert( has_content() );
105
- return { m_begin.data, m_end.data, source, m_begin.byte, m_begin.line, m_begin.byte_in_line };
110
+ return { m_begin.data, m_end.data, source, m_begin.byte, m_begin.line, m_begin.column };
106
111
  }
107
112
 
108
113
  template< typename... States >
109
114
  void remove_content( States&&... /*unused*/ ) noexcept
110
115
  {
111
- m_end.reset();
116
+ m_end = TAO_JSON_PEGTL_NAMESPACE::internal::iterator();
112
117
  }
113
118
 
114
119
  // all non-root nodes are initialized by calling this method
115
- template< typename Rule, typename Input, typename... States >
116
- void start( const Input& in, States&&... /*unused*/ )
120
+ template< typename Rule, typename ParseInput, typename... States >
121
+ void start( const ParseInput& in, States&&... /*unused*/ )
117
122
  {
118
123
  set_type< Rule >();
119
124
  source = in.source();
@@ -121,17 +126,21 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
121
126
  }
122
127
 
123
128
  // if parsing of the rule succeeded, this method is called
124
- template< typename Rule, typename Input, typename... States >
125
- void success( const Input& in, States&&... /*unused*/ ) noexcept
129
+ template< typename Rule, typename ParseInput, typename... States >
130
+ void success( const ParseInput& in, States&&... /*unused*/ ) noexcept
126
131
  {
127
132
  m_end = TAO_JSON_PEGTL_NAMESPACE::internal::iterator( in.iterator() );
128
133
  }
129
134
 
130
135
  // if parsing of the rule failed, this method is called
131
- template< typename Rule, typename Input, typename... States >
132
- void failure( const Input& /*unused*/, States&&... /*unused*/ ) noexcept
133
- {
134
- }
136
+ template< typename Rule, typename ParseInput, typename... States >
137
+ void failure( const ParseInput& /*unused*/, States&&... /*unused*/ ) noexcept
138
+ {}
139
+
140
+ // if parsing of the rule failed with an exception, this method is called
141
+ template< typename Rule, typename ParseInput, typename... States >
142
+ void unwind( const ParseInput& /*unused*/, States&&... /*unused*/ ) noexcept
143
+ {}
135
144
 
136
145
  // if parsing succeeded and the (optional) transform call
137
146
  // did not discard the node, it is appended to its parent.
@@ -147,8 +156,7 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
147
156
 
148
157
  struct node
149
158
  : basic_node< node >
150
- {
151
- };
159
+ {};
152
160
 
153
161
  namespace internal
154
162
  {
@@ -182,160 +190,36 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
182
190
 
183
191
  template< typename Selector, typename... Parameters >
184
192
  void transform( Parameters&&... /*unused*/ ) noexcept
185
- {
186
- }
193
+ {}
187
194
 
188
- template< typename Selector, typename Input, typename Node, typename... States >
189
- auto transform( const Input& in, std::unique_ptr< Node >& n, States&&... st ) noexcept( noexcept( Selector::transform( in, n, st... ) ) )
190
- -> decltype( Selector::transform( in, n, st... ), void() )
195
+ template< typename Selector, typename ParseInput, typename Node, typename... States >
196
+ auto transform( const ParseInput& in, std::unique_ptr< Node >& n, States&&... st ) noexcept( noexcept( Selector::transform( in, n, st... ) ) )
197
+ -> decltype( (void)Selector::transform( in, n, st... ) )
191
198
  {
192
199
  Selector::transform( in, n, st... );
193
200
  }
194
201
 
195
- template< typename Selector, typename Input, typename Node, typename... States >
196
- auto transform( const Input& /*unused*/, std::unique_ptr< Node >& n, States&&... st ) noexcept( noexcept( Selector::transform( n, st... ) ) )
197
- -> decltype( Selector::transform( n, st... ), void() )
202
+ template< typename Selector, typename ParseInput, typename Node, typename... States >
203
+ auto transform( const ParseInput& /*unused*/, std::unique_ptr< Node >& n, States&&... st ) noexcept( noexcept( Selector::transform( n, st... ) ) )
204
+ -> decltype( (void)Selector::transform( n, st... ) )
198
205
  {
199
206
  Selector::transform( n, st... );
200
207
  }
201
208
 
202
- template< unsigned Level, typename Analyse, template< typename... > class Selector >
203
- struct is_leaf
204
- : std::false_type
205
- {
206
- };
209
+ template< typename Rule, template< typename... > class Selector >
210
+ inline constexpr bool is_selected_node = ( TAO_JSON_PEGTL_NAMESPACE::internal::enable_control< Rule > && Selector< Rule >::value );
207
211
 
208
- template< analysis::rule_type Type, template< typename... > class Selector >
209
- struct is_leaf< 0, analysis::generic< Type >, Selector >
210
- : std::true_type
211
- {
212
- };
212
+ template< unsigned Level, typename Subs, template< typename... > class Selector >
213
+ inline constexpr bool is_leaf{};
213
214
 
214
- template< analysis::rule_type Type, std::size_t Count, template< typename... > class Selector >
215
- struct is_leaf< 0, analysis::counted< Type, Count >, Selector >
216
- : std::true_type
217
- {
218
- };
219
-
220
- template< analysis::rule_type Type, typename... Rules, template< typename... > class Selector >
221
- struct is_leaf< 0, analysis::generic< Type, Rules... >, Selector >
222
- : std::false_type
223
- {
224
- };
225
-
226
- template< analysis::rule_type Type, std::size_t Count, typename... Rules, template< typename... > class Selector >
227
- struct is_leaf< 0, analysis::counted< Type, Count, Rules... >, Selector >
228
- : std::false_type
229
- {
230
- };
215
+ template< typename... Rules, template< typename... > class Selector >
216
+ inline constexpr bool is_leaf< 0, type_list< Rules... >, Selector > = ( sizeof...( Rules ) == 0 );
231
217
 
232
218
  template< unsigned Level, typename Rule, template< typename... > class Selector >
233
- inline constexpr bool is_unselected_leaf = !Selector< Rule >::value && is_leaf< Level, typename Rule::analyze_t, Selector >::value;
234
-
235
- template< unsigned Level, analysis::rule_type Type, typename... Rules, template< typename... > class Selector >
236
- struct is_leaf< Level, analysis::generic< Type, Rules... >, Selector >
237
- : std::bool_constant< ( is_unselected_leaf< Level - 1, Rules, Selector > && ... ) >
238
- {
239
- };
219
+ inline constexpr bool is_unselected_branch = ( !is_selected_node< Rule, Selector > && is_leaf< Level, typename Rule::subs_t, Selector > );
240
220
 
241
- template< unsigned Level, analysis::rule_type Type, std::size_t Count, typename... Rules, template< typename... > class Selector >
242
- struct is_leaf< Level, analysis::counted< Type, Count, Rules... >, Selector >
243
- : std::bool_constant< ( is_unselected_leaf< Level - 1, Rules, Selector > && ... ) >
244
- {
245
- };
246
-
247
- template< typename T >
248
- struct control
249
- {
250
- template< typename Input, typename Tuple, std::size_t... Is >
251
- static void start_impl( const Input& in, const Tuple& t, std::index_sequence< Is... > /*unused*/ ) noexcept( noexcept( T::start( in, std::get< sizeof...( Is ) >( t ), std::get< Is >( t )... ) ) )
252
- {
253
- T::start( in, std::get< sizeof...( Is ) >( t ), std::get< Is >( t )... );
254
- }
255
-
256
- template< typename Input, typename... States >
257
- static void start( const Input& in, States&&... st ) noexcept( noexcept( start_impl( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() ) ) )
258
- {
259
- start_impl( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() );
260
- }
261
-
262
- template< typename Input, typename Tuple, std::size_t... Is >
263
- static void success_impl( const Input& in, const Tuple& t, std::index_sequence< Is... > /*unused*/ ) noexcept( noexcept( T::success( in, std::get< sizeof...( Is ) >( t ), std::get< Is >( t )... ) ) )
264
- {
265
- T::success( in, std::get< sizeof...( Is ) >( t ), std::get< Is >( t )... );
266
- }
267
-
268
- template< typename Input, typename... States >
269
- static void success( const Input& in, States&&... st ) noexcept( noexcept( success_impl( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() ) ) )
270
- {
271
- success_impl( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() );
272
- }
273
-
274
- template< typename Input, typename Tuple, std::size_t... Is >
275
- static void failure_impl( const Input& in, const Tuple& t, std::index_sequence< Is... > /*unused*/ ) noexcept( noexcept( T::failure( in, std::get< sizeof...( Is ) >( t ), std::get< Is >( t )... ) ) )
276
- {
277
- T::failure( in, std::get< sizeof...( Is ) >( t ), std::get< Is >( t )... );
278
- }
279
-
280
- template< typename Input, typename... States >
281
- static void failure( const Input& in, States&&... st ) noexcept( noexcept( failure_impl( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() ) ) )
282
- {
283
- failure_impl( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() );
284
- }
285
-
286
- template< typename Input, typename Tuple, std::size_t... Is >
287
- static void raise_impl( const Input& in, const Tuple& t, std::index_sequence< Is... > /*unused*/ ) noexcept( noexcept( T::raise( in, std::get< Is >( t )... ) ) )
288
- {
289
- T::raise( in, std::get< Is >( t )... );
290
- }
291
-
292
- template< typename Input, typename... States >
293
- static void raise( const Input& in, States&&... st ) noexcept( noexcept( raise_impl( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() ) ) )
294
- {
295
- raise_impl( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() );
296
- }
297
-
298
- template< template< typename... > class Action, typename Iterator, typename Input, typename Tuple, std::size_t... Is >
299
- static auto apply_impl( const Iterator& begin, const Input& in, const Tuple& t, std::index_sequence< Is... > /*unused*/ ) noexcept( noexcept( T::template apply< Action >( begin, in, std::get< Is >( t )... ) ) )
300
- -> decltype( T::template apply< Action >( begin, in, std::get< Is >( t )... ) )
301
- {
302
- return T::template apply< Action >( begin, in, std::get< Is >( t )... );
303
- }
304
-
305
- template< template< typename... > class Action, typename Iterator, typename Input, typename... States >
306
- static auto apply( const Iterator& begin, const Input& in, States&&... st ) noexcept( noexcept( apply_impl< Action >( begin, in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() ) ) )
307
- -> decltype( apply_impl< Action >( begin, in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() ) )
308
- {
309
- return apply_impl< Action >( begin, in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() );
310
- }
311
-
312
- template< template< typename... > class Action, typename Input, typename Tuple, std::size_t... Is >
313
- static auto apply0_impl( const Input& in, const Tuple& t, std::index_sequence< Is... > /*unused*/ ) noexcept( noexcept( T::template apply0< Action >( in, std::get< Is >( t )... ) ) )
314
- -> decltype( T::template apply0< Action >( in, std::get< Is >( t )... ) )
315
- {
316
- return T::template apply0< Action >( in, std::get< Is >( t )... );
317
- }
318
-
319
- template< template< typename... > class Action, typename Input, typename... States >
320
- static auto apply0( const Input& in, States&&... st ) noexcept( noexcept( apply0_impl< Action >( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() ) ) )
321
- -> decltype( apply0_impl< Action >( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() ) )
322
- {
323
- return apply0_impl< Action >( in, std::tie( st... ), std::make_index_sequence< sizeof...( st ) - 1 >() );
324
- }
325
-
326
- template< apply_mode A,
327
- rewind_mode M,
328
- template< typename... >
329
- class Action,
330
- template< typename... >
331
- class Control,
332
- typename Input,
333
- typename... States >
334
- [[nodiscard]] static bool match( Input& in, States&&... st )
335
- {
336
- return T::template match< A, M, Action, Control >( in, st... );
337
- }
338
- };
221
+ template< unsigned Level, typename... Rules, template< typename... > class Selector >
222
+ inline constexpr bool is_leaf< Level, type_list< Rules... >, Selector > = ( is_unselected_branch< Level - 1, Rules, Selector > && ... );
339
223
 
340
224
  template< typename Node, template< typename... > class Selector, template< typename... > class Control >
341
225
  struct make_control
@@ -344,49 +228,29 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
344
228
  struct state_handler;
345
229
 
346
230
  template< typename Rule >
347
- using type = control< state_handler< Rule, Selector< Rule >::value, is_leaf< 8, typename Rule::analyze_t, Selector >::value > >;
231
+ using type = rotate_states_right< state_handler< Rule, is_selected_node< Rule, Selector >, is_leaf< 8, typename Rule::subs_t, Selector > > >;
348
232
  };
349
233
 
350
234
  template< typename Node, template< typename... > class Selector, template< typename... > class Control >
351
235
  template< typename Rule >
352
236
  struct make_control< Node, Selector, Control >::state_handler< Rule, false, true >
353
- : Control< Rule >
354
- {
355
- template< typename Input, typename... States >
356
- static void start( const Input& in, state< Node >& /*unused*/, States&&... st ) noexcept( noexcept( Control< Rule >::start( in, st... ) ) )
357
- {
358
- Control< Rule >::start( in, st... );
359
- }
360
-
361
- template< typename Input, typename... States >
362
- static void success( const Input& in, state< Node >& /*unused*/, States&&... st ) noexcept( noexcept( Control< Rule >::success( in, st... ) ) )
363
- {
364
- Control< Rule >::success( in, st... );
365
- }
366
-
367
- template< typename Input, typename... States >
368
- static void failure( const Input& in, state< Node >& /*unused*/, States&&... st ) noexcept( noexcept( Control< Rule >::failure( in, st... ) ) )
369
- {
370
- Control< Rule >::failure( in, st... );
371
- }
372
- };
237
+ : remove_first_state< Control< Rule > >
238
+ {};
373
239
 
374
240
  template< typename Node, template< typename... > class Selector, template< typename... > class Control >
375
241
  template< typename Rule >
376
242
  struct make_control< Node, Selector, Control >::state_handler< Rule, false, false >
377
- : Control< Rule >
243
+ : remove_first_state< Control< Rule > >
378
244
  {
379
- template< typename Input, typename... States >
380
- static void start( const Input& in, state< Node >& state, States&&... st )
245
+ template< typename ParseInput, typename... States >
246
+ static void start( const ParseInput& /*unused*/, state< Node >& state, States&&... /*unused*/ )
381
247
  {
382
- Control< Rule >::start( in, st... );
383
248
  state.emplace_back();
384
249
  }
385
250
 
386
- template< typename Input, typename... States >
387
- static void success( const Input& in, state< Node >& state, States&&... st )
251
+ template< typename ParseInput, typename... States >
252
+ static void success( const ParseInput& /*unused*/, state< Node >& state, States&&... /*unused*/ )
388
253
  {
389
- Control< Rule >::success( in, st... );
390
254
  auto n = std::move( state.back() );
391
255
  state.pop_back();
392
256
  for( auto& c : n->children ) {
@@ -394,10 +258,15 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
394
258
  }
395
259
  }
396
260
 
397
- template< typename Input, typename... States >
398
- static void failure( const Input& in, state< Node >& state, States&&... st ) noexcept( noexcept( Control< Rule >::failure( in, st... ) ) )
261
+ template< typename ParseInput, typename... States >
262
+ static void failure( const ParseInput& /*unused*/, state< Node >& state, States&&... /*unused*/ )
263
+ {
264
+ state.pop_back();
265
+ }
266
+
267
+ template< typename ParseInput, typename... States >
268
+ static void unwind( const ParseInput& /*unused*/, state< Node >& state, States&&... /*unused*/ )
399
269
  {
400
- Control< Rule >::failure( in, st... );
401
270
  state.pop_back();
402
271
  }
403
272
  };
@@ -405,20 +274,19 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
405
274
  template< typename Node, template< typename... > class Selector, template< typename... > class Control >
406
275
  template< typename Rule, bool B >
407
276
  struct make_control< Node, Selector, Control >::state_handler< Rule, true, B >
408
- : Control< Rule >
277
+ : remove_first_state< Control< Rule > >
409
278
  {
410
- template< typename Input, typename... States >
411
- static void start( const Input& in, state< Node >& state, States&&... st )
279
+ template< typename ParseInput, typename... States >
280
+ static void start( const ParseInput& in, state< Node >& state, States&&... st )
412
281
  {
413
282
  Control< Rule >::start( in, st... );
414
283
  state.emplace_back();
415
284
  state.back()->template start< Rule >( in, st... );
416
285
  }
417
286
 
418
- template< typename Input, typename... States >
419
- static void success( const Input& in, state< Node >& state, States&&... st )
287
+ template< typename ParseInput, typename... States >
288
+ static void success( const ParseInput& in, state< Node >& state, States&&... st )
420
289
  {
421
- Control< Rule >::success( in, st... );
422
290
  auto n = std::move( state.back() );
423
291
  state.pop_back();
424
292
  n->template success< Rule >( in, st... );
@@ -426,14 +294,25 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
426
294
  if( n ) {
427
295
  state.back()->emplace_back( std::move( n ), st... );
428
296
  }
297
+ Control< Rule >::success( in, st... );
429
298
  }
430
299
 
431
- template< typename Input, typename... States >
432
- static void failure( const Input& in, state< Node >& state, States&&... st ) noexcept( noexcept( Control< Rule >::failure( in, st... ) ) && noexcept( std::declval< Node& >().template failure< Rule >( in, st... ) ) )
300
+ template< typename ParseInput, typename... States >
301
+ static void failure( const ParseInput& in, state< Node >& state, States&&... st )
433
302
  {
434
- Control< Rule >::failure( in, st... );
435
303
  state.back()->template failure< Rule >( in, st... );
436
304
  state.pop_back();
305
+ Control< Rule >::failure( in, st... );
306
+ }
307
+
308
+ template< typename ParseInput, typename... States >
309
+ static void unwind( const ParseInput& in, state< Node >& state, States&&... st )
310
+ {
311
+ state.back()->template unwind< Rule >( in, st... );
312
+ state.pop_back();
313
+ if constexpr( TAO_JSON_PEGTL_NAMESPACE::internal::has_unwind< Control< Rule >, void, const ParseInput&, States... > ) {
314
+ Control< Rule >::unwind( in, st... );
315
+ }
437
316
  }
438
317
  };
439
318
 
@@ -533,9 +412,9 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
533
412
  template< typename... > class Selector = internal::store_all,
534
413
  template< typename... > class Action = nothing,
535
414
  template< typename... > class Control = normal,
536
- typename Input,
415
+ typename ParseInput,
537
416
  typename... States >
538
- [[nodiscard]] std::unique_ptr< Node > parse( Input&& in, States&&... st )
417
+ [[nodiscard]] std::unique_ptr< Node > parse( ParseInput&& in, States&&... st )
539
418
  {
540
419
  internal::state< Node > state;
541
420
  if( !TAO_JSON_PEGTL_NAMESPACE::parse< Rule, Action, internal::make_control< Node, Selector, Control >::template type >( in, st..., state ) ) {
@@ -549,9 +428,9 @@ namespace TAO_JSON_PEGTL_NAMESPACE::parse_tree
549
428
  template< typename... > class Selector = internal::store_all,
550
429
  template< typename... > class Action = nothing,
551
430
  template< typename... > class Control = normal,
552
- typename Input,
431
+ typename ParseInput,
553
432
  typename... States >
554
- [[nodiscard]] std::unique_ptr< node > parse( Input&& in, States&&... st )
433
+ [[nodiscard]] std::unique_ptr< node > parse( ParseInput&& in, States&&... st )
555
434
  {
556
435
  return parse< Rule, node, Selector, Action, Control >( in, st... );
557
436
  }