couchbase 3.0.1-universal-darwin-19 → 3.0.2-universal-darwin-19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1318) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +73 -4
  3. data/ext/extconf.rb +0 -95
  4. data/lib/couchbase.rb +1 -0
  5. data/lib/couchbase/analytics_options.rb +1 -71
  6. data/lib/couchbase/binary_collection.rb +60 -22
  7. data/lib/couchbase/binary_collection_options.rb +0 -76
  8. data/lib/couchbase/bucket.rb +40 -36
  9. data/lib/couchbase/cluster.rb +89 -156
  10. data/lib/couchbase/collection.rb +290 -72
  11. data/lib/couchbase/collection_options.rb +30 -243
  12. data/lib/couchbase/datastructures/couchbase_list.rb +5 -16
  13. data/lib/couchbase/datastructures/couchbase_map.rb +5 -16
  14. data/lib/couchbase/datastructures/couchbase_queue.rb +5 -16
  15. data/lib/couchbase/datastructures/couchbase_set.rb +5 -16
  16. data/lib/couchbase/diagnostics.rb +181 -0
  17. data/lib/couchbase/json_transcoder.rb +1 -1
  18. data/lib/couchbase/libcouchbase.bundle +0 -0
  19. data/lib/couchbase/{common_options.rb → logger.rb} +24 -11
  20. data/lib/couchbase/management/query_index_manager.rb +1 -1
  21. data/lib/couchbase/management/user_manager.rb +3 -0
  22. data/lib/couchbase/options.rb +2094 -0
  23. data/lib/couchbase/query_options.rb +1 -144
  24. data/lib/couchbase/scope.rb +8 -25
  25. data/lib/couchbase/search_options.rb +0 -93
  26. data/lib/couchbase/version.rb +20 -1
  27. data/lib/couchbase/view_options.rb +1 -91
  28. metadata +8 -1296
  29. data/ext/CMakeLists.txt +0 -127
  30. data/ext/LICENSE.txt +0 -202
  31. data/ext/build_config.hxx.in +0 -20
  32. data/ext/build_version.hxx.in +0 -27
  33. data/ext/cmake/Backtrace.cmake +0 -35
  34. data/ext/cmake/BuildTracing.cmake +0 -6
  35. data/ext/cmake/Cache.cmake +0 -29
  36. data/ext/cmake/CompilerWarnings.cmake +0 -78
  37. data/ext/cmake/PreventInSourceBuilds.cmake +0 -18
  38. data/ext/cmake/Sanitizers.cmake +0 -66
  39. data/ext/cmake/StandardProjectSettings.cmake +0 -40
  40. data/ext/cmake/StaticAnalyzers.cmake +0 -37
  41. data/ext/cmake/Testing.cmake +0 -52
  42. data/ext/cmake/ThirdPartyDependencies.cmake +0 -20
  43. data/ext/cmake/VersionInfo.cmake +0 -37
  44. data/ext/couchbase/bucket.hxx +0 -338
  45. data/ext/couchbase/capabilities.hxx +0 -117
  46. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  47. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  48. data/ext/couchbase/cbsasl/client.cc +0 -48
  49. data/ext/couchbase/cbsasl/client.h +0 -127
  50. data/ext/couchbase/cbsasl/context.cc +0 -33
  51. data/ext/couchbase/cbsasl/context.h +0 -52
  52. data/ext/couchbase/cbsasl/error.h +0 -72
  53. data/ext/couchbase/cbsasl/mechanism.cc +0 -48
  54. data/ext/couchbase/cbsasl/mechanism.h +0 -55
  55. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  56. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  57. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -390
  58. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  59. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  60. data/ext/couchbase/cbsasl/scram-sha/stringutils.h +0 -48
  61. data/ext/couchbase/cluster.hxx +0 -267
  62. data/ext/couchbase/cluster_options.hxx +0 -54
  63. data/ext/couchbase/collections_manifest.hxx +0 -88
  64. data/ext/couchbase/configuration.hxx +0 -650
  65. data/ext/couchbase/couchbase.cxx +0 -6431
  66. data/ext/couchbase/diagnostics.hxx +0 -251
  67. data/ext/couchbase/document_id.hxx +0 -40
  68. data/ext/couchbase/error_map.hxx +0 -261
  69. data/ext/couchbase/errors.hxx +0 -706
  70. data/ext/couchbase/io/dns_client.hxx +0 -217
  71. data/ext/couchbase/io/dns_codec.hxx +0 -207
  72. data/ext/couchbase/io/dns_config.hxx +0 -116
  73. data/ext/couchbase/io/dns_message.hxx +0 -555
  74. data/ext/couchbase/io/http_command.hxx +0 -95
  75. data/ext/couchbase/io/http_context.hxx +0 -37
  76. data/ext/couchbase/io/http_message.hxx +0 -47
  77. data/ext/couchbase/io/http_parser.hxx +0 -176
  78. data/ext/couchbase/io/http_session.hxx +0 -442
  79. data/ext/couchbase/io/http_session_manager.hxx +0 -182
  80. data/ext/couchbase/io/mcbp_command.hxx +0 -246
  81. data/ext/couchbase/io/mcbp_message.hxx +0 -63
  82. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  83. data/ext/couchbase/io/mcbp_session.hxx +0 -1283
  84. data/ext/couchbase/io/query_cache.hxx +0 -61
  85. data/ext/couchbase/io/retry_action.hxx +0 -30
  86. data/ext/couchbase/io/retry_context.hxx +0 -38
  87. data/ext/couchbase/io/retry_orchestrator.hxx +0 -112
  88. data/ext/couchbase/io/retry_reason.hxx +0 -235
  89. data/ext/couchbase/io/retry_strategy.hxx +0 -156
  90. data/ext/couchbase/io/streams.hxx +0 -216
  91. data/ext/couchbase/mutation_token.hxx +0 -38
  92. data/ext/couchbase/operations.hxx +0 -104
  93. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -117
  94. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -103
  95. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -107
  96. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -104
  97. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -104
  98. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -91
  99. data/ext/couchbase/operations/analytics_index_create.hxx +0 -128
  100. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -110
  101. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -106
  102. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -102
  103. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -101
  104. data/ext/couchbase/operations/bucket_create.hxx +0 -147
  105. data/ext/couchbase/operations/bucket_drop.hxx +0 -68
  106. data/ext/couchbase/operations/bucket_flush.hxx +0 -68
  107. data/ext/couchbase/operations/bucket_get.hxx +0 -72
  108. data/ext/couchbase/operations/bucket_get_all.hxx +0 -65
  109. data/ext/couchbase/operations/bucket_settings.hxx +0 -150
  110. data/ext/couchbase/operations/bucket_update.hxx +0 -124
  111. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -63
  112. data/ext/couchbase/operations/collection_create.hxx +0 -95
  113. data/ext/couchbase/operations/collection_drop.hxx +0 -85
  114. data/ext/couchbase/operations/collections_manifest_get.hxx +0 -70
  115. data/ext/couchbase/operations/design_document.hxx +0 -59
  116. data/ext/couchbase/operations/document_analytics.hxx +0 -293
  117. data/ext/couchbase/operations/document_decrement.hxx +0 -87
  118. data/ext/couchbase/operations/document_exists.hxx +0 -84
  119. data/ext/couchbase/operations/document_get.hxx +0 -69
  120. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -71
  121. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -71
  122. data/ext/couchbase/operations/document_get_projected.hxx +0 -249
  123. data/ext/couchbase/operations/document_increment.hxx +0 -89
  124. data/ext/couchbase/operations/document_insert.hxx +0 -81
  125. data/ext/couchbase/operations/document_lookup_in.hxx +0 -111
  126. data/ext/couchbase/operations/document_mutate_in.hxx +0 -145
  127. data/ext/couchbase/operations/document_query.hxx +0 -422
  128. data/ext/couchbase/operations/document_remove.hxx +0 -74
  129. data/ext/couchbase/operations/document_replace.hxx +0 -83
  130. data/ext/couchbase/operations/document_search.hxx +0 -370
  131. data/ext/couchbase/operations/document_touch.hxx +0 -67
  132. data/ext/couchbase/operations/document_unlock.hxx +0 -67
  133. data/ext/couchbase/operations/document_upsert.hxx +0 -81
  134. data/ext/couchbase/operations/document_view.hxx +0 -228
  135. data/ext/couchbase/operations/group_drop.hxx +0 -71
  136. data/ext/couchbase/operations/group_get.hxx +0 -75
  137. data/ext/couchbase/operations/group_get_all.hxx +0 -70
  138. data/ext/couchbase/operations/group_upsert.hxx +0 -118
  139. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -86
  140. data/ext/couchbase/operations/query_index_create.hxx +0 -145
  141. data/ext/couchbase/operations/query_index_drop.hxx +0 -119
  142. data/ext/couchbase/operations/query_index_get_all.hxx +0 -117
  143. data/ext/couchbase/operations/rbac.hxx +0 -276
  144. data/ext/couchbase/operations/role_get_all.hxx +0 -70
  145. data/ext/couchbase/operations/scope_create.hxx +0 -88
  146. data/ext/couchbase/operations/scope_drop.hxx +0 -82
  147. data/ext/couchbase/operations/scope_get_all.hxx +0 -76
  148. data/ext/couchbase/operations/search_get_stats.hxx +0 -59
  149. data/ext/couchbase/operations/search_index.hxx +0 -79
  150. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -92
  151. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -80
  152. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -80
  153. data/ext/couchbase/operations/search_index_control_query.hxx +0 -80
  154. data/ext/couchbase/operations/search_index_drop.hxx +0 -77
  155. data/ext/couchbase/operations/search_index_get.hxx +0 -80
  156. data/ext/couchbase/operations/search_index_get_all.hxx +0 -82
  157. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -89
  158. data/ext/couchbase/operations/search_index_get_stats.hxx +0 -81
  159. data/ext/couchbase/operations/search_index_upsert.hxx +0 -106
  160. data/ext/couchbase/operations/user_drop.hxx +0 -72
  161. data/ext/couchbase/operations/user_get.hxx +0 -76
  162. data/ext/couchbase/operations/user_get_all.hxx +0 -71
  163. data/ext/couchbase/operations/user_upsert.hxx +0 -125
  164. data/ext/couchbase/operations/view_index_drop.hxx +0 -67
  165. data/ext/couchbase/operations/view_index_get.hxx +0 -90
  166. data/ext/couchbase/operations/view_index_get_all.hxx +0 -125
  167. data/ext/couchbase/operations/view_index_upsert.hxx +0 -87
  168. data/ext/couchbase/origin.hxx +0 -178
  169. data/ext/couchbase/platform/backtrace.c +0 -189
  170. data/ext/couchbase/platform/backtrace.h +0 -54
  171. data/ext/couchbase/platform/base64.cc +0 -234
  172. data/ext/couchbase/platform/base64.h +0 -47
  173. data/ext/couchbase/platform/random.cc +0 -119
  174. data/ext/couchbase/platform/random.h +0 -39
  175. data/ext/couchbase/platform/string_hex.cc +0 -99
  176. data/ext/couchbase/platform/string_hex.h +0 -50
  177. data/ext/couchbase/platform/terminate_handler.cc +0 -123
  178. data/ext/couchbase/platform/terminate_handler.h +0 -36
  179. data/ext/couchbase/platform/uuid.cc +0 -96
  180. data/ext/couchbase/platform/uuid.h +0 -56
  181. data/ext/couchbase/protocol/client_opcode.hxx +0 -264
  182. data/ext/couchbase/protocol/client_request.hxx +0 -160
  183. data/ext/couchbase/protocol/client_response.hxx +0 -218
  184. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -79
  185. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -187
  186. data/ext/couchbase/protocol/cmd_exists.hxx +0 -171
  187. data/ext/couchbase/protocol/cmd_get.hxx +0 -122
  188. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -142
  189. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -142
  190. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -126
  191. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -117
  192. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -99
  193. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -126
  194. data/ext/couchbase/protocol/cmd_hello.hxx +0 -156
  195. data/ext/couchbase/protocol/cmd_increment.hxx +0 -187
  196. data/ext/couchbase/protocol/cmd_info.hxx +0 -25
  197. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  198. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -219
  199. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -365
  200. data/ext/couchbase/protocol/cmd_remove.hxx +0 -134
  201. data/ext/couchbase/protocol/cmd_replace.hxx +0 -172
  202. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -106
  203. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -100
  204. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -104
  205. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -85
  206. data/ext/couchbase/protocol/cmd_touch.hxx +0 -102
  207. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -95
  208. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -172
  209. data/ext/couchbase/protocol/datatype.hxx +0 -48
  210. data/ext/couchbase/protocol/durability_level.hxx +0 -67
  211. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  212. data/ext/couchbase/protocol/hello_feature.hxx +0 -255
  213. data/ext/couchbase/protocol/magic.hxx +0 -83
  214. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  215. data/ext/couchbase/protocol/server_request.hxx +0 -122
  216. data/ext/couchbase/protocol/status.hxx +0 -343
  217. data/ext/couchbase/protocol/unsigned_leb128.h +0 -195
  218. data/ext/couchbase/service_type.hxx +0 -60
  219. data/ext/couchbase/timeout_defaults.hxx +0 -41
  220. data/ext/couchbase/utils/byteswap.hxx +0 -33
  221. data/ext/couchbase/utils/connection_string.hxx +0 -379
  222. data/ext/couchbase/utils/crc32.hxx +0 -48
  223. data/ext/couchbase/utils/url_codec.hxx +0 -225
  224. data/ext/couchbase/version.hxx +0 -24
  225. data/ext/test/test_helper.hxx +0 -141
  226. data/ext/test/test_helper_native.hxx +0 -59
  227. data/ext/test/test_helper_ruby.hxx +0 -72
  228. data/ext/test/test_native_diagnostics.cxx +0 -385
  229. data/ext/test/test_native_trivial_crud.cxx +0 -83
  230. data/ext/test/test_ruby_trivial_crud.cxx +0 -35
  231. data/ext/test/test_ruby_trivial_query.cxx +0 -34
  232. data/ext/third_party/asio/asio/include/asio.hpp +0 -182
  233. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +0 -71
  234. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -125
  235. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -166
  236. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -582
  237. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -133
  238. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1215
  239. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  240. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  241. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1206
  242. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -761
  243. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  244. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  245. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  246. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2501
  247. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  248. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  249. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1053
  250. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  251. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  252. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -811
  253. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -575
  254. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2496
  255. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  256. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  257. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  258. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  259. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  260. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  261. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  262. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -471
  263. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  264. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  265. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  266. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  267. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  268. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -130
  269. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -112
  270. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  271. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  272. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  273. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -64
  274. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  275. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -934
  276. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +0 -107
  277. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  278. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -650
  279. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  280. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +0 -88
  281. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  282. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  283. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  284. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -88
  285. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  286. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -120
  287. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  288. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1822
  289. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  290. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  291. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  292. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  293. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -295
  294. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  295. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -139
  296. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -148
  297. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -148
  298. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  299. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  300. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  301. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  302. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -203
  303. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  304. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  305. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  306. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  307. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  308. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  309. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  310. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  311. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  312. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  313. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -284
  314. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  315. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -80
  316. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -264
  317. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  318. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -438
  319. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  320. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  321. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -608
  322. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  323. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  324. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  325. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  326. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  327. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -396
  328. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  329. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  330. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  331. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  332. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  333. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  334. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  335. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  336. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  337. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -149
  338. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  339. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  340. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -654
  341. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  342. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  343. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  344. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  345. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -668
  346. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3962
  347. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  348. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -385
  349. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  350. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -117
  351. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -178
  352. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  353. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  354. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  355. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  356. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  357. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  358. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -603
  359. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  360. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  361. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  362. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  363. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  364. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  365. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  366. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  367. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  368. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  369. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  370. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  371. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -175
  372. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  373. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  374. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  375. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  376. data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +0 -26
  377. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  378. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  379. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -73
  380. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  381. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  382. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  383. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -106
  384. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  385. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  386. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  387. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  388. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  389. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  390. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  391. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  392. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  393. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  394. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  395. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  396. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  397. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  398. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  399. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -175
  400. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  401. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  402. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  403. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  404. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  405. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  406. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  407. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  408. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -416
  409. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -98
  410. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -237
  411. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -242
  412. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -123
  413. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -159
  414. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -164
  415. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -145
  416. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -162
  417. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -156
  418. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -528
  419. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -541
  420. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -98
  421. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  422. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  423. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -67
  424. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  425. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  426. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  427. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -140
  428. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  429. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -150
  430. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  431. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  432. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -232
  433. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  434. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  435. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  436. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  437. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  438. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  439. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  440. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  441. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -90
  442. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  443. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  444. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  445. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  446. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -383
  447. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  448. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  449. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  450. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  451. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +0 -45
  452. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  453. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -188
  454. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  455. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  456. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  457. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  458. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  459. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -166
  460. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -145
  461. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  462. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  463. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  464. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  465. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -183
  466. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  467. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  468. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  469. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  470. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  471. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  472. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  473. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  474. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  475. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -148
  476. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -294
  477. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -90
  478. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  479. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -164
  480. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  481. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  482. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  483. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -117
  484. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  485. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -110
  486. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -342
  487. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -127
  488. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  489. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -96
  490. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -171
  491. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  492. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -312
  493. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -135
  494. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -124
  495. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -133
  496. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -125
  497. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -118
  498. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  499. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  500. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  501. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -128
  502. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  503. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  504. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  505. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  506. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  507. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  508. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  509. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  510. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  511. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -125
  512. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  513. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -98
  514. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -119
  515. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -110
  516. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  517. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  518. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  519. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  520. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  521. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -148
  522. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -327
  523. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -121
  524. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  525. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  526. data/ext/third_party/asio/asio/include/asio/execution.hpp +0 -48
  527. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +0 -249
  528. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +0 -2264
  529. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +0 -47
  530. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +0 -1351
  531. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +0 -1064
  532. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +0 -390
  533. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +0 -1018
  534. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +0 -486
  535. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +0 -185
  536. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +0 -201
  537. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +0 -152
  538. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +0 -105
  539. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +0 -128
  540. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +0 -261
  541. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +0 -233
  542. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +0 -90
  543. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +0 -264
  544. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +0 -238
  545. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +0 -40
  546. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +0 -36
  547. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +0 -71
  548. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +0 -917
  549. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +0 -178
  550. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +0 -94
  551. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +0 -721
  552. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +0 -327
  553. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +0 -280
  554. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +0 -48
  555. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +0 -720
  556. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +0 -290
  557. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +0 -86
  558. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +0 -311
  559. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +0 -253
  560. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +0 -253
  561. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +0 -486
  562. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +0 -250
  563. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +0 -450
  564. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  565. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -347
  566. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -287
  567. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  568. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  569. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  570. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  571. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  572. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  573. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  574. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -104
  575. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  576. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -111
  577. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  578. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -436
  579. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -527
  580. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -507
  581. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -298
  582. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -635
  583. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -916
  584. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -248
  585. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  586. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -243
  587. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  588. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  589. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  590. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  591. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -301
  592. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -43
  593. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -61
  594. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -440
  595. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  596. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +0 -49
  597. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -248
  598. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1202
  599. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -744
  600. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3335
  601. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -390
  602. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  603. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  604. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -526
  605. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -85
  606. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  607. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -92
  608. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -186
  609. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -350
  610. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -141
  611. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -279
  612. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -1028
  613. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1104
  614. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -666
  615. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -1530
  616. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -376
  617. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  618. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  619. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  620. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  621. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  622. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  623. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  624. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  625. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  626. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  627. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  628. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  629. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  630. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  631. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  632. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  633. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  634. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  635. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  636. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  637. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  638. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  639. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  640. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  641. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  642. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  643. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  644. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  645. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  646. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  647. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  648. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  649. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  650. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  651. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  652. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  653. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  654. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  655. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  656. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  657. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  658. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  659. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +0 -61
  660. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  661. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  662. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  663. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  664. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  665. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  666. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  667. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  668. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  669. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +0 -58
  670. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  671. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  672. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  673. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  674. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  675. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  676. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  677. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -126
  678. data/ext/third_party/asio/asio/include/asio/prefer.hpp +0 -656
  679. data/ext/third_party/asio/asio/include/asio/query.hpp +0 -296
  680. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  681. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  682. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  683. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  684. data/ext/third_party/asio/asio/include/asio/require.hpp +0 -524
  685. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +0 -310
  686. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  687. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  688. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  689. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  690. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -344
  691. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  692. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  693. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  694. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -119
  695. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -165
  696. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -67
  697. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -349
  698. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  699. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -415
  700. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  701. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  702. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  703. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -72
  704. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -69
  705. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -169
  706. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  707. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -76
  708. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  709. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  710. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  711. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  712. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  713. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  714. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  715. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  716. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  717. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -900
  718. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  719. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  720. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  721. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +0 -31
  722. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  723. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -537
  724. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  725. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -90
  726. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  727. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -662
  728. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  729. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  730. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  731. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -1111
  732. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  733. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +0 -114
  734. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +0 -114
  735. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +0 -112
  736. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +0 -112
  737. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +0 -100
  738. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +0 -108
  739. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +0 -108
  740. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +0 -108
  741. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +0 -108
  742. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +0 -108
  743. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +0 -108
  744. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +0 -108
  745. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +0 -108
  746. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +0 -108
  747. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +0 -108
  748. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +0 -108
  749. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +0 -108
  750. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +0 -108
  751. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +0 -108
  752. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +0 -108
  753. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +0 -112
  754. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +0 -112
  755. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +0 -234
  756. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +0 -234
  757. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +0 -108
  758. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +0 -108
  759. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +0 -108
  760. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +0 -123
  761. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +0 -123
  762. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +0 -112
  763. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +0 -112
  764. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  765. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -35
  766. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  767. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  768. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  769. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -262
  770. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  771. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  772. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  773. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -169
  774. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  775. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  776. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  777. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  778. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  779. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  780. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  781. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  782. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  783. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  784. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -145
  785. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  786. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  787. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  788. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  789. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  790. data/ext/third_party/gsl/CMakeLists.txt +0 -127
  791. data/ext/third_party/gsl/LICENSE +0 -21
  792. data/ext/third_party/gsl/ThirdPartyNotices.txt +0 -41
  793. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  794. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  795. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  796. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  797. data/ext/third_party/gsl/include/gsl/gsl_narrow +0 -52
  798. data/ext/third_party/gsl/include/gsl/gsl_util +0 -129
  799. data/ext/third_party/gsl/include/gsl/multi_span +0 -2263
  800. data/ext/third_party/gsl/include/gsl/pointers +0 -287
  801. data/ext/third_party/gsl/include/gsl/span +0 -816
  802. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  803. data/ext/third_party/gsl/include/gsl/string_span +0 -706
  804. data/ext/third_party/http_parser/LICENSE-MIT +0 -19
  805. data/ext/third_party/http_parser/http_parser.c +0 -2575
  806. data/ext/third_party/http_parser/http_parser.h +0 -449
  807. data/ext/third_party/json/CMakeLists.txt +0 -44
  808. data/ext/third_party/json/LICENSE +0 -21
  809. data/ext/third_party/json/LICENSE.double-conversion +0 -32
  810. data/ext/third_party/json/LICENSE.itoa +0 -19
  811. data/ext/third_party/json/LICENSE.ryu +0 -201
  812. data/ext/third_party/json/include/tao/json.hpp +0 -45
  813. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -942
  814. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  815. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  816. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  817. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  818. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  819. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -251
  820. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  821. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  822. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  823. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -104
  824. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  825. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -268
  826. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  827. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  828. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  829. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -129
  830. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -19
  831. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  832. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  833. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +0 -43
  834. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  835. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  836. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  837. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  838. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  839. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +0 -32
  840. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  841. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  842. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  843. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -418
  844. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  845. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  846. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  847. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  848. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  849. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  850. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  851. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  852. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  853. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  854. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  855. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  856. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -76
  857. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  858. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  859. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  860. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  861. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  862. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  863. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  864. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  865. data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +0 -59
  866. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  867. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -113
  868. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1874
  869. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  870. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -98
  871. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  872. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  873. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -97
  874. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  875. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  876. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  877. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  878. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  879. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  880. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  881. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  882. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  883. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  884. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -255
  885. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  886. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  887. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  888. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  889. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  890. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  891. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  892. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  893. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  894. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  895. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  896. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  897. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  898. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  899. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  900. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  901. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  902. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  903. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  904. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  905. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  906. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  907. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  908. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  909. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  910. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  911. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  912. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  913. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  914. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  915. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  916. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  917. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -176
  918. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  919. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  920. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -44
  921. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  922. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -49
  923. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -54
  924. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  925. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  926. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  927. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  928. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  929. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  930. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  931. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  932. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  933. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  934. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +0 -176
  935. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +0 -275
  936. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +0 -77
  937. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +0 -151
  938. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +0 -16
  939. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -272
  940. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -66
  941. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -196
  942. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -196
  943. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -103
  944. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -56
  945. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -431
  946. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +0 -62
  947. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +0 -206
  948. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +0 -106
  949. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +0 -54
  950. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +0 -33
  951. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +0 -45
  952. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +0 -32
  953. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +0 -54
  954. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +0 -43
  955. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +0 -77
  956. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +0 -52
  957. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  958. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  959. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -440
  960. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -105
  961. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +0 -75
  962. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +0 -53
  963. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -234
  964. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -69
  965. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +0 -117
  966. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -94
  967. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -43
  968. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +0 -193
  969. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +0 -118
  970. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  971. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +0 -227
  972. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +0 -62
  973. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +0 -62
  974. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +0 -63
  975. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +0 -36
  976. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  977. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  978. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +0 -49
  979. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +0 -49
  980. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -32
  981. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +0 -138
  982. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  983. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  984. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  985. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  986. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  987. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  988. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  989. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  990. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -54
  991. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -106
  992. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  993. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  994. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -51
  995. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  996. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  997. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -55
  998. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -32
  999. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  1000. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  1001. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  1002. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -43
  1003. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -54
  1004. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  1005. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  1006. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  1007. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  1008. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  1009. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +0 -16
  1010. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -54
  1011. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -34
  1012. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -54
  1013. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +0 -25
  1014. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -32
  1015. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -32
  1016. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -33
  1017. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +0 -32
  1018. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -134
  1019. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -213
  1020. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -117
  1021. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -21
  1022. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -21
  1023. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -40
  1024. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +0 -21
  1025. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  1026. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -54
  1027. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -47
  1028. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -21
  1029. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  1030. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  1031. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -39
  1032. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  1033. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -49
  1034. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  1035. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  1036. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  1037. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  1038. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -22
  1039. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  1040. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -80
  1041. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +0 -21
  1042. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -28
  1043. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -26
  1044. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -64
  1045. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -55
  1046. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -55
  1047. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  1048. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  1049. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  1050. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +0 -26
  1051. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  1052. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -89
  1053. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  1054. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -60
  1055. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -44
  1056. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -56
  1057. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -103
  1058. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -72
  1059. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -67
  1060. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  1061. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -81
  1062. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -61
  1063. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  1064. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  1065. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  1066. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -58
  1067. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -67
  1068. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -52
  1069. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  1070. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -59
  1071. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  1072. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +0 -32
  1073. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  1074. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -88
  1075. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -32
  1076. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -169
  1077. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -365
  1078. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  1079. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +0 -64
  1080. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  1081. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -19
  1082. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -51
  1083. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -114
  1084. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -83
  1085. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -54
  1086. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  1087. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  1088. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  1089. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -68
  1090. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -64
  1091. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  1092. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +0 -46
  1093. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  1094. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  1095. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +0 -66
  1096. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  1097. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  1098. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  1099. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  1100. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  1101. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  1102. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  1103. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  1104. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  1105. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +0 -14
  1106. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  1107. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  1108. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  1109. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  1110. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  1111. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -57
  1112. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  1113. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  1114. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  1115. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  1116. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  1117. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  1118. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  1119. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  1120. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  1121. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  1122. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -96
  1123. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  1124. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  1125. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  1126. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  1127. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  1128. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  1129. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  1130. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  1131. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  1132. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  1133. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  1134. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  1135. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  1136. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  1137. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  1138. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  1139. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  1140. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  1141. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  1142. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  1143. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -255
  1144. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  1145. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  1146. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -261
  1147. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  1148. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  1149. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  1150. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -19
  1151. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  1152. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  1153. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +0 -43
  1154. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  1155. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  1156. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  1157. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  1158. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  1159. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +0 -32
  1160. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  1161. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  1162. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  1163. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  1164. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -250
  1165. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  1166. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  1167. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  1168. data/ext/third_party/json/include/tao/json/operators.hpp +0 -490
  1169. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -302
  1170. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  1171. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  1172. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -131
  1173. data/ext/third_party/json/include/tao/json/span.hpp +0 -496
  1174. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  1175. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  1176. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  1177. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  1178. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  1179. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -19
  1180. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  1181. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  1182. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +0 -43
  1183. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  1184. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  1185. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  1186. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  1187. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  1188. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +0 -32
  1189. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  1190. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  1191. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  1192. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -415
  1193. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  1194. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  1195. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  1196. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  1197. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  1198. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  1199. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  1200. data/ext/third_party/snappy/COPYING +0 -54
  1201. data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +0 -33
  1202. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  1203. data/ext/third_party/snappy/snappy-c.cc +0 -90
  1204. data/ext/third_party/snappy/snappy-c.h +0 -138
  1205. data/ext/third_party/snappy/snappy-internal.h +0 -315
  1206. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  1207. data/ext/third_party/snappy/snappy-sinksource.h +0 -182
  1208. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  1209. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  1210. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  1211. data/ext/third_party/snappy/snappy.cc +0 -1774
  1212. data/ext/third_party/snappy/snappy.h +0 -209
  1213. data/ext/third_party/spdlog/CMakeLists.txt +0 -291
  1214. data/ext/third_party/spdlog/LICENSE +0 -26
  1215. data/ext/third_party/spdlog/cmake/ide.cmake +0 -18
  1216. data/ext/third_party/spdlog/cmake/pch.h.in +0 -258
  1217. data/ext/third_party/spdlog/cmake/spdlog.pc.in +0 -13
  1218. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  1219. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  1220. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  1221. data/ext/third_party/spdlog/cmake/version.rc.in +0 -42
  1222. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  1223. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  1224. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  1225. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +0 -44
  1226. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +0 -38
  1227. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -119
  1228. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -29
  1229. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  1230. data/ext/third_party/spdlog/include/spdlog/common.h +0 -245
  1231. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  1232. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  1233. data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +0 -141
  1234. data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +0 -32
  1235. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  1236. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  1237. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -116
  1238. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  1239. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  1240. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  1241. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  1242. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  1243. data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +0 -49
  1244. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  1245. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  1246. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  1247. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  1248. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -313
  1249. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -115
  1250. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  1251. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  1252. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -146
  1253. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  1254. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  1255. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  1256. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  1257. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +0 -27
  1258. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1123
  1259. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -566
  1260. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -665
  1261. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1882
  1262. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1453
  1263. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3729
  1264. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  1265. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +0 -450
  1266. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -167
  1267. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  1268. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -751
  1269. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -386
  1270. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +0 -20
  1271. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -27
  1272. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  1273. data/ext/third_party/spdlog/include/spdlog/formatter.h +0 -18
  1274. data/ext/third_party/spdlog/include/spdlog/fwd.h +0 -14
  1275. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -257
  1276. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -366
  1277. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1373
  1278. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  1279. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  1280. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  1281. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  1282. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  1283. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  1284. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  1285. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  1286. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  1287. data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +0 -97
  1288. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  1289. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  1290. data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +0 -44
  1291. data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +0 -50
  1292. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -74
  1293. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  1294. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  1295. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  1296. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  1297. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  1298. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  1299. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -123
  1300. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -87
  1301. data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +0 -109
  1302. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  1303. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  1304. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  1305. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -170
  1306. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  1307. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -125
  1308. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -295
  1309. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +0 -61
  1310. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  1311. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  1312. data/ext/third_party/spdlog/src/async.cpp +0 -13
  1313. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  1314. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  1315. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  1316. data/ext/third_party/spdlog/src/fmt.cpp +0 -63
  1317. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  1318. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
@@ -1,2264 +0,0 @@
1
- //
2
- // execution/any_executor.hpp
3
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~
4
- //
5
- // Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
- //
7
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
- //
10
-
11
- #ifndef ASIO_EXECUTION_ANY_EXECUTOR_HPP
12
- #define ASIO_EXECUTION_ANY_EXECUTOR_HPP
13
-
14
- #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
- # pragma once
16
- #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
-
18
- #include "asio/detail/config.hpp"
19
- #include <new>
20
- #include <typeinfo>
21
- #include "asio/detail/assert.hpp"
22
- #include "asio/detail/cstddef.hpp"
23
- #include "asio/detail/executor_function.hpp"
24
- #include "asio/detail/memory.hpp"
25
- #include "asio/detail/non_const_lvalue.hpp"
26
- #include "asio/detail/scoped_ptr.hpp"
27
- #include "asio/detail/type_traits.hpp"
28
- #include "asio/detail/throw_exception.hpp"
29
- #include "asio/detail/variadic_templates.hpp"
30
- #include "asio/execution/bad_executor.hpp"
31
- #include "asio/execution/blocking.hpp"
32
- #include "asio/execution/execute.hpp"
33
- #include "asio/execution/executor.hpp"
34
- #include "asio/prefer.hpp"
35
- #include "asio/query.hpp"
36
- #include "asio/require.hpp"
37
-
38
- #include "asio/detail/push_options.hpp"
39
-
40
- namespace asio {
41
-
42
- #if defined(GENERATING_DOCUMENTATION)
43
-
44
- namespace execution {
45
-
46
- /// Polymorphic executor wrapper.
47
- template <typename... SupportableProperties>
48
- class any_executor
49
- {
50
- public:
51
- /// Default constructor.
52
- any_executor() noexcept;
53
-
54
- /// Construct in an empty state. Equivalent effects to default constructor.
55
- any_executor(nullptr_t) noexcept;
56
-
57
- /// Copy constructor.
58
- any_executor(const any_executor& e) noexcept;
59
-
60
- /// Move constructor.
61
- any_executor(any_executor&& e) noexcept;
62
-
63
- /// Construct to point to the same target as another any_executor.
64
- template <class... OtherSupportableProperties>
65
- any_executor(any_executor<OtherSupportableProperties...> e);
66
-
67
- /// Construct a polymorphic wrapper for the specified executor.
68
- template <typename Executor>
69
- any_executor(Executor e);
70
-
71
- /// Assignment operator.
72
- any_executor& operator=(const any_executor& e) noexcept;
73
-
74
- /// Move assignment operator.
75
- any_executor& operator=(any_executor&& e) noexcept;
76
-
77
- /// Assignment operator that sets the polymorphic wrapper to the empty state.
78
- any_executor& operator=(nullptr_t);
79
-
80
- /// Assignment operator to create a polymorphic wrapper for the specified
81
- /// executor.
82
- template <typename Executor>
83
- any_executor& operator=(Executor e);
84
-
85
- /// Destructor.
86
- ~any_executor();
87
-
88
- /// Swap targets with another polymorphic wrapper.
89
- void swap(any_executor& other) noexcept;
90
-
91
- /// Obtain a polymorphic wrapper with the specified property.
92
- /**
93
- * Do not call this function directly. It is intended for use with the
94
- * asio::require and asio::prefer customisation points.
95
- *
96
- * For example:
97
- * @code execution::any_executor<execution::blocking_t::possibly_t> ex = ...;
98
- * auto ex2 = asio::requre(ex, execution::blocking.possibly); @endcode
99
- */
100
- template <typename Property>
101
- any_executor require(Property) const;
102
-
103
- /// Obtain a polymorphic wrapper with the specified property.
104
- /**
105
- * Do not call this function directly. It is intended for use with the
106
- * asio::prefer customisation point.
107
- *
108
- * For example:
109
- * @code execution::any_executor<execution::blocking_t::possibly_t> ex = ...;
110
- * auto ex2 = asio::prefer(ex, execution::blocking.possibly); @endcode
111
- */
112
- template <typename Property>
113
- any_executor prefer(Property) const;
114
-
115
- /// Obtain the value associated with the specified property.
116
- /**
117
- * Do not call this function directly. It is intended for use with the
118
- * asio::query customisation point.
119
- *
120
- * For example:
121
- * @code execution::any_executor<execution::occupancy_t> ex = ...;
122
- * size_t n = asio::query(ex, execution::occupancy); @endcode
123
- */
124
- template <typename Property>
125
- typename Property::polymorphic_query_result_type query(Property) const;
126
-
127
- /// Execute the function on the target executor.
128
- /**
129
- * Do not call this function directly. It is intended for use with the
130
- * execution::execute customisation point.
131
- *
132
- * For example:
133
- * @code execution::any_executor<> ex = ...;
134
- * execution::execute(ex, my_function_object); @endcode
135
- *
136
- * Throws asio::bad_executor if the polymorphic wrapper has no target.
137
- */
138
- template <typename Function>
139
- void execute(Function&& f) const;
140
-
141
- /// Obtain the underlying execution context.
142
- /**
143
- * This function is provided for backward compatibility. It is automatically
144
- * defined when the @c SupportableProperties... list includes a property of
145
- * type <tt>execution::context_as<U></tt>, for some type <tt>U</tt>.
146
- */
147
- automatically_determined context() const;
148
-
149
- /// Determine whether the wrapper has a target executor.
150
- /**
151
- * @returns @c true if the polymorphic wrapper has a target executor,
152
- * otherwise false.
153
- */
154
- explicit operator bool() const noexcept;
155
-
156
- /// Get the type of the target executor.
157
- const type_info& target_type() const noexcept;
158
-
159
- /// Get a pointer to the target executor.
160
- template <typename Executor> Executor* target() noexcept;
161
-
162
- /// Get a pointer to the target executor.
163
- template <typename Executor> const Executor* target() const noexcept;
164
- };
165
-
166
- /// Equality operator.
167
- /**
168
- * @relates any_executor
169
- */
170
- template <typename... SupportableProperties>
171
- bool operator==(const any_executor<SupportableProperties...>& a,
172
- const any_executor<SupportableProperties...>& b) noexcept;
173
-
174
- /// Equality operator.
175
- /**
176
- * @relates any_executor
177
- */
178
- template <typename... SupportableProperties>
179
- bool operator==(const any_executor<SupportableProperties...>& a,
180
- nullptr_t) noexcept;
181
-
182
- /// Equality operator.
183
- /**
184
- * @relates any_executor
185
- */
186
- template <typename... SupportableProperties>
187
- bool operator==(nullptr_t,
188
- const any_executor<SupportableProperties...>& b) noexcept;
189
-
190
- /// Inequality operator.
191
- /**
192
- * @relates any_executor
193
- */
194
- template <typename... SupportableProperties>
195
- bool operator!=(const any_executor<SupportableProperties...>& a,
196
- const any_executor<SupportableProperties...>& b) noexcept;
197
-
198
- /// Inequality operator.
199
- /**
200
- * @relates any_executor
201
- */
202
- template <typename... SupportableProperties>
203
- bool operator!=(const any_executor<SupportableProperties...>& a,
204
- nullptr_t) noexcept;
205
-
206
- /// Inequality operator.
207
- /**
208
- * @relates any_executor
209
- */
210
- template <typename... SupportableProperties>
211
- bool operator!=(nullptr_t,
212
- const any_executor<SupportableProperties...>& b) noexcept;
213
-
214
- } // namespace execution
215
-
216
- #else // defined(GENERATING_DOCUMENTATION)
217
-
218
- namespace execution {
219
-
220
- #if !defined(ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL)
221
- #define ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL
222
-
223
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
224
-
225
- template <typename... SupportableProperties>
226
- class any_executor;
227
-
228
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
229
-
230
- template <typename = void, typename = void, typename = void,
231
- typename = void, typename = void, typename = void,
232
- typename = void, typename = void, typename = void>
233
- class any_executor;
234
-
235
- #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES)
236
-
237
- #endif // !defined(ASIO_EXECUTION_ANY_EXECUTOR_FWD_DECL)
238
-
239
- template <typename U>
240
- struct context_as_t;
241
-
242
- namespace detail {
243
-
244
- // Traits used to detect whether a property is requirable or preferable, taking
245
- // into account that T::is_requirable or T::is_preferable may not not be well
246
- // formed.
247
-
248
- template <typename T, typename = void>
249
- struct is_requirable : false_type {};
250
-
251
- template <typename T>
252
- struct is_requirable<T, typename enable_if<T::is_requirable>::type> :
253
- true_type {};
254
-
255
- template <typename T, typename = void>
256
- struct is_preferable : false_type {};
257
-
258
- template <typename T>
259
- struct is_preferable<T, typename enable_if<T::is_preferable>::type> :
260
- true_type {};
261
-
262
- // Trait used to detect context_as property, for backward compatibility.
263
-
264
- template <typename T>
265
- struct is_context_as : false_type {};
266
-
267
- template <typename U>
268
- struct is_context_as<context_as_t<U> > : true_type {};
269
-
270
- // Helper template to:
271
- // - Check if a target can supply the supportable properties.
272
- // - Find the first convertible-from-T property in the list.
273
-
274
- template <std::size_t I, typename Props>
275
- struct supportable_properties;
276
-
277
- template <std::size_t I, typename Prop>
278
- struct supportable_properties<I, void(Prop)>
279
- {
280
- template <typename T>
281
- struct is_valid_target : integral_constant<bool,
282
- (
283
- is_requirable<Prop>::value
284
- ? can_require<T, Prop>::value
285
- : true
286
- )
287
- &&
288
- (
289
- is_preferable<Prop>::value
290
- ? can_prefer<T, Prop>::value
291
- : true
292
- )
293
- &&
294
- (
295
- !is_requirable<Prop>::value && !is_preferable<Prop>::value
296
- ? can_query<T, Prop>::value
297
- : true
298
- )
299
- >
300
- {
301
- };
302
-
303
- struct found
304
- {
305
- ASIO_STATIC_CONSTEXPR(bool, value = true);
306
- typedef Prop type;
307
- typedef typename Prop::polymorphic_query_result_type query_result_type;
308
- ASIO_STATIC_CONSTEXPR(std::size_t, index = I);
309
- };
310
-
311
- struct not_found
312
- {
313
- ASIO_STATIC_CONSTEXPR(bool, value = false);
314
- };
315
-
316
- template <typename T>
317
- struct find_convertible_property :
318
- conditional<
319
- is_same<T, Prop>::value || is_convertible<T, Prop>::value,
320
- found,
321
- not_found
322
- >::type {};
323
-
324
- template <typename T>
325
- struct find_convertible_requirable_property :
326
- conditional<
327
- is_requirable<Prop>::value
328
- && (is_same<T, Prop>::value || is_convertible<T, Prop>::value),
329
- found,
330
- not_found
331
- >::type {};
332
-
333
- template <typename T>
334
- struct find_convertible_preferable_property :
335
- conditional<
336
- is_preferable<Prop>::value
337
- && (is_same<T, Prop>::value || is_convertible<T, Prop>::value),
338
- found,
339
- not_found
340
- >::type {};
341
-
342
- struct find_context_as_property :
343
- conditional<
344
- is_context_as<Prop>::value,
345
- found,
346
- not_found
347
- >::type {};
348
- };
349
-
350
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
351
-
352
- template <std::size_t I, typename Head, typename... Tail>
353
- struct supportable_properties<I, void(Head, Tail...)>
354
- {
355
- template <typename T>
356
- struct is_valid_target : integral_constant<bool,
357
- (
358
- supportable_properties<I,
359
- void(Head)>::template is_valid_target<T>::value
360
- &&
361
- supportable_properties<I + 1,
362
- void(Tail...)>::template is_valid_target<T>::value
363
- )
364
- >
365
- {
366
- };
367
-
368
- template <typename T>
369
- struct find_convertible_property :
370
- conditional<
371
- is_convertible<T, Head>::value,
372
- typename supportable_properties<I, void(Head)>::found,
373
- typename supportable_properties<I + 1,
374
- void(Tail...)>::template find_convertible_property<T>
375
- >::type {};
376
-
377
- template <typename T>
378
- struct find_convertible_requirable_property :
379
- conditional<
380
- is_requirable<Head>::value
381
- && is_convertible<T, Head>::value,
382
- typename supportable_properties<I, void(Head)>::found,
383
- typename supportable_properties<I + 1,
384
- void(Tail...)>::template find_convertible_requirable_property<T>
385
- >::type {};
386
-
387
- template <typename T>
388
- struct find_convertible_preferable_property :
389
- conditional<
390
- is_preferable<Head>::value
391
- && is_convertible<T, Head>::value,
392
- typename supportable_properties<I, void(Head)>::found,
393
- typename supportable_properties<I + 1,
394
- void(Tail...)>::template find_convertible_preferable_property<T>
395
- >::type {};
396
-
397
- struct find_context_as_property :
398
- conditional<
399
- is_context_as<Head>::value,
400
- typename supportable_properties<I, void(Head)>::found,
401
- typename supportable_properties<I + 1,
402
- void(Tail...)>::find_context_as_property
403
- >::type {};
404
- };
405
-
406
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
407
-
408
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROPS_BASE_DEF(n) \
409
- template <std::size_t I, \
410
- typename Head, ASIO_VARIADIC_TPARAMS(n)> \
411
- struct supportable_properties<I, \
412
- void(Head, ASIO_VARIADIC_TARGS(n))> \
413
- { \
414
- template <typename T> \
415
- struct is_valid_target : integral_constant<bool, \
416
- ( \
417
- supportable_properties<I, \
418
- void(Head)>::template is_valid_target<T>::value \
419
- && \
420
- supportable_properties<I + 1, \
421
- void(ASIO_VARIADIC_TARGS(n))>::template \
422
- is_valid_target<T>::value \
423
- ) \
424
- > \
425
- { \
426
- }; \
427
- \
428
- template <typename T> \
429
- struct find_convertible_property : \
430
- conditional< \
431
- is_convertible<T, Head>::value, \
432
- typename supportable_properties<I, void(Head)>::found, \
433
- typename supportable_properties<I + 1, \
434
- void(ASIO_VARIADIC_TARGS(n))>::template \
435
- find_convertible_property<T> \
436
- >::type {}; \
437
- \
438
- template <typename T> \
439
- struct find_convertible_requirable_property : \
440
- conditional< \
441
- is_requirable<Head>::value \
442
- && is_convertible<T, Head>::value, \
443
- typename supportable_properties<I, void(Head)>::found, \
444
- typename supportable_properties<I + 1, \
445
- void(ASIO_VARIADIC_TARGS(n))>::template \
446
- find_convertible_requirable_property<T> \
447
- >::type {}; \
448
- \
449
- template <typename T> \
450
- struct find_convertible_preferable_property : \
451
- conditional< \
452
- is_preferable<Head>::value \
453
- && is_convertible<T, Head>::value, \
454
- typename supportable_properties<I, void(Head)>::found, \
455
- typename supportable_properties<I + 1, \
456
- void(ASIO_VARIADIC_TARGS(n))>::template \
457
- find_convertible_preferable_property<T> \
458
- >::type {}; \
459
- \
460
- struct find_context_as_property : \
461
- conditional< \
462
- is_context_as<Head>::value, \
463
- typename supportable_properties<I, void(Head)>::found, \
464
- typename supportable_properties<I + 1, void( \
465
- ASIO_VARIADIC_TARGS(n))>::find_context_as_property \
466
- >::type {}; \
467
- }; \
468
- /**/
469
- ASIO_VARIADIC_GENERATE(ASIO_PRIVATE_ANY_EXECUTOR_PROPS_BASE_DEF)
470
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROPS_BASE_DEF
471
-
472
- #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES)
473
-
474
- template <typename T, typename Props>
475
- struct is_valid_target_executor :
476
- conditional<
477
- is_executor<T>::value,
478
- typename supportable_properties<0, Props>::template is_valid_target<T>,
479
- false_type
480
- >::type
481
- {
482
- };
483
-
484
- class any_executor_base
485
- {
486
- public:
487
- any_executor_base() ASIO_NOEXCEPT
488
- : object_fns_(object_fns_table<void>()),
489
- target_(0),
490
- target_fns_(target_fns_table<void>())
491
- {
492
- }
493
-
494
- template <ASIO_EXECUTION_EXECUTOR Executor>
495
- any_executor_base(Executor ex, false_type)
496
- : target_fns_(target_fns_table<Executor>(
497
- any_executor_base::query_blocking(ex,
498
- can_query<const Executor&, const execution::blocking_t&>())
499
- == execution::blocking.always))
500
- {
501
- any_executor_base::construct_object(ex,
502
- integral_constant<bool,
503
- sizeof(Executor) <= sizeof(object_type)
504
- && alignment_of<Executor>::value <= alignment_of<object_type>::value
505
- >());
506
- }
507
-
508
- template <ASIO_EXECUTION_EXECUTOR Executor>
509
- any_executor_base(Executor other, true_type)
510
- : object_fns_(object_fns_table<asio::detail::shared_ptr<void> >()),
511
- target_fns_(other.target_fns_)
512
- {
513
- asio::detail::shared_ptr<Executor> p =
514
- asio::detail::make_shared<Executor>(
515
- ASIO_MOVE_CAST(Executor)(other));
516
- target_ = p->template target<void>();
517
- new (&object_) asio::detail::shared_ptr<void>(
518
- ASIO_MOVE_CAST(asio::detail::shared_ptr<Executor>)(p));
519
- }
520
-
521
- any_executor_base(const any_executor_base& other) ASIO_NOEXCEPT
522
- : object_fns_(other.object_fns_),
523
- target_fns_(other.target_fns_)
524
- {
525
- object_fns_->copy(*this, other);
526
- }
527
-
528
- ~any_executor_base() ASIO_NOEXCEPT
529
- {
530
- object_fns_->destroy(*this);
531
- }
532
-
533
- any_executor_base& operator=(
534
- const any_executor_base& other) ASIO_NOEXCEPT
535
- {
536
- if (this != &other)
537
- {
538
- object_fns_->destroy(*this);
539
- object_fns_ = other.object_fns_;
540
- target_fns_ = other.target_fns_;
541
- object_fns_->copy(*this, other);
542
- }
543
- return *this;
544
- }
545
-
546
- any_executor_base& operator=(nullptr_t) ASIO_NOEXCEPT
547
- {
548
- object_fns_->destroy(*this);
549
- target_ = 0;
550
- object_fns_ = object_fns_table<void>();
551
- target_fns_ = target_fns_table<void>();
552
- return *this;
553
- }
554
-
555
- #if defined(ASIO_HAS_MOVE)
556
-
557
- any_executor_base(any_executor_base&& other) ASIO_NOEXCEPT
558
- : object_fns_(other.object_fns_),
559
- target_fns_(other.target_fns_)
560
- {
561
- other.object_fns_ = object_fns_table<void>();
562
- other.target_fns_ = target_fns_table<void>();
563
- object_fns_->move(*this, other);
564
- other.target_ = 0;
565
- }
566
-
567
- any_executor_base& operator=(
568
- any_executor_base&& other) ASIO_NOEXCEPT
569
- {
570
- if (this != &other)
571
- {
572
- object_fns_->destroy(*this);
573
- object_fns_ = other.object_fns_;
574
- other.object_fns_ = object_fns_table<void>();
575
- target_fns_ = other.target_fns_;
576
- other.target_fns_ = target_fns_table<void>();
577
- object_fns_->move(*this, other);
578
- other.target_ = 0;
579
- }
580
- return *this;
581
- }
582
-
583
- #endif // defined(ASIO_HAS_MOVE)
584
-
585
- void swap(any_executor_base& other) ASIO_NOEXCEPT
586
- {
587
- if (this != &other)
588
- {
589
- any_executor_base tmp(ASIO_MOVE_CAST(any_executor_base)(other));
590
- other = ASIO_MOVE_CAST(any_executor_base)(*this);
591
- *this = ASIO_MOVE_CAST(any_executor_base)(tmp);
592
- }
593
- }
594
-
595
- template <typename F>
596
- void execute(ASIO_MOVE_ARG(F) f) const
597
- {
598
- if (target_fns_->blocking_execute != 0)
599
- {
600
- asio::detail::non_const_lvalue<F> f2(f);
601
- target_fns_->blocking_execute(*this, function_view(f2.value));
602
- }
603
- else
604
- {
605
- target_fns_->execute(*this,
606
- function(ASIO_MOVE_CAST(F)(f), std::allocator<void>()));
607
- }
608
- }
609
-
610
- template <typename Executor>
611
- Executor* target()
612
- {
613
- return static_cast<Executor*>(target_);
614
- }
615
-
616
- template <typename Executor>
617
- const Executor* target() const
618
- {
619
- return static_cast<Executor*>(target_);
620
- }
621
-
622
- const std::type_info& target_type() const
623
- {
624
- return target_fns_->target_type();
625
- }
626
-
627
- struct unspecified_bool_type_t {};
628
- typedef void (*unspecified_bool_type)(unspecified_bool_type_t);
629
- static void unspecified_bool_true(unspecified_bool_type_t) {}
630
-
631
- operator unspecified_bool_type() const ASIO_NOEXCEPT
632
- {
633
- return target_ ? &any_executor_base::unspecified_bool_true : 0;
634
- }
635
-
636
- bool operator!() const ASIO_NOEXCEPT
637
- {
638
- return target_ == 0;
639
- }
640
-
641
- protected:
642
- bool equality_helper(const any_executor_base& other) const ASIO_NOEXCEPT
643
- {
644
- if (target_ == other.target_)
645
- return true;
646
- if (target_ && !other.target_)
647
- return false;
648
- if (!target_ && other.target_)
649
- return false;
650
- if (target_fns_ != other.target_fns_)
651
- return false;
652
- return target_fns_->equal(*this, other);
653
- }
654
-
655
- template <typename Ex>
656
- Ex& object()
657
- {
658
- return *static_cast<Ex*>(static_cast<void*>(&object_));
659
- }
660
-
661
- template <typename Ex>
662
- const Ex& object() const
663
- {
664
- return *static_cast<const Ex*>(static_cast<const void*>(&object_));
665
- }
666
-
667
- struct object_fns
668
- {
669
- void (*destroy)(any_executor_base&);
670
- void (*copy)(any_executor_base&, const any_executor_base&);
671
- void (*move)(any_executor_base&, any_executor_base&);
672
- const void* (*target)(const any_executor_base&);
673
- };
674
-
675
- static void destroy_void(any_executor_base&)
676
- {
677
- }
678
-
679
- static void copy_void(any_executor_base& ex1, const any_executor_base&)
680
- {
681
- ex1.target_ = 0;
682
- }
683
-
684
- static void move_void(any_executor_base& ex1, any_executor_base&)
685
- {
686
- ex1.target_ = 0;
687
- }
688
-
689
- static const void* target_void(const any_executor_base&)
690
- {
691
- return 0;
692
- }
693
-
694
- template <typename Obj>
695
- static const object_fns* object_fns_table(
696
- typename enable_if<
697
- is_same<Obj, void>::value
698
- >::type* = 0)
699
- {
700
- static const object_fns fns =
701
- {
702
- &any_executor_base::destroy_void,
703
- &any_executor_base::copy_void,
704
- &any_executor_base::move_void,
705
- &any_executor_base::target_void
706
- };
707
- return &fns;
708
- }
709
-
710
- static void destroy_shared(any_executor_base& ex)
711
- {
712
- typedef asio::detail::shared_ptr<void> type;
713
- ex.object<type>().~type();
714
- }
715
-
716
- static void copy_shared(any_executor_base& ex1, const any_executor_base& ex2)
717
- {
718
- typedef asio::detail::shared_ptr<void> type;
719
- new (&ex1.object_) type(ex2.object<type>());
720
- ex1.target_ = ex2.target_;
721
- }
722
-
723
- static void move_shared(any_executor_base& ex1, any_executor_base& ex2)
724
- {
725
- typedef asio::detail::shared_ptr<void> type;
726
- new (&ex1.object_) type(ASIO_MOVE_CAST(type)(ex2.object<type>()));
727
- ex1.target_ = ex2.target_;
728
- ex2.object<type>().~type();
729
- }
730
-
731
- static const void* target_shared(const any_executor_base& ex)
732
- {
733
- typedef asio::detail::shared_ptr<void> type;
734
- return ex.object<type>().get();
735
- }
736
-
737
- template <typename Obj>
738
- static const object_fns* object_fns_table(
739
- typename enable_if<
740
- is_same<Obj, asio::detail::shared_ptr<void> >::value
741
- >::type* = 0)
742
- {
743
- static const object_fns fns =
744
- {
745
- &any_executor_base::destroy_shared,
746
- &any_executor_base::copy_shared,
747
- &any_executor_base::move_shared,
748
- &any_executor_base::target_shared
749
- };
750
- return &fns;
751
- }
752
-
753
- template <typename Obj>
754
- static void destroy_object(any_executor_base& ex)
755
- {
756
- ex.object<Obj>().~Obj();
757
- }
758
-
759
- template <typename Obj>
760
- static void copy_object(any_executor_base& ex1, const any_executor_base& ex2)
761
- {
762
- new (&ex1.object_) Obj(ex2.object<Obj>());
763
- ex1.target_ = &ex1.object<Obj>();
764
- }
765
-
766
- template <typename Obj>
767
- static void move_object(any_executor_base& ex1, any_executor_base& ex2)
768
- {
769
- new (&ex1.object_) Obj(ASIO_MOVE_CAST(Obj)(ex2.object<Obj>()));
770
- ex1.target_ = &ex1.object<Obj>();
771
- ex2.object<Obj>().~Obj();
772
- }
773
-
774
- template <typename Obj>
775
- static const void* target_object(const any_executor_base& ex)
776
- {
777
- return &ex.object<Obj>();
778
- }
779
-
780
- template <typename Obj>
781
- static const object_fns* object_fns_table(
782
- typename enable_if<
783
- !is_same<Obj, void>::value
784
- && !is_same<Obj, asio::detail::shared_ptr<void> >::value
785
- >::type* = 0)
786
- {
787
- static const object_fns fns =
788
- {
789
- &any_executor_base::destroy_object<Obj>,
790
- &any_executor_base::copy_object<Obj>,
791
- &any_executor_base::move_object<Obj>,
792
- &any_executor_base::target_object<Obj>
793
- };
794
- return &fns;
795
- }
796
-
797
- typedef asio::detail::executor_function function;
798
- typedef asio::detail::executor_function_view function_view;
799
-
800
- struct target_fns
801
- {
802
- const std::type_info& (*target_type)();
803
- bool (*equal)(const any_executor_base&, const any_executor_base&);
804
- void (*execute)(const any_executor_base&, ASIO_MOVE_ARG(function));
805
- void (*blocking_execute)(const any_executor_base&, function_view);
806
- };
807
-
808
- static const std::type_info& target_type_void()
809
- {
810
- return typeid(void);
811
- }
812
-
813
- static bool equal_void(const any_executor_base&, const any_executor_base&)
814
- {
815
- return true;
816
- }
817
-
818
- static void execute_void(const any_executor_base&,
819
- ASIO_MOVE_ARG(function))
820
- {
821
- bad_executor ex;
822
- asio::detail::throw_exception(ex);
823
- }
824
-
825
- static void blocking_execute_void(const any_executor_base&, function_view)
826
- {
827
- bad_executor ex;
828
- asio::detail::throw_exception(ex);
829
- }
830
-
831
- template <typename Ex>
832
- static const target_fns* target_fns_table(
833
- typename enable_if<
834
- is_same<Ex, void>::value
835
- >::type* = 0)
836
- {
837
- static const target_fns fns =
838
- {
839
- &any_executor_base::target_type_void,
840
- &any_executor_base::equal_void,
841
- &any_executor_base::execute_void,
842
- &any_executor_base::blocking_execute_void
843
- };
844
- return &fns;
845
- }
846
-
847
- template <typename Ex>
848
- static const std::type_info& target_type_ex()
849
- {
850
- return typeid(Ex);
851
- }
852
-
853
- template <typename Ex>
854
- static bool equal_ex(const any_executor_base& ex1,
855
- const any_executor_base& ex2)
856
- {
857
- return *ex1.target<Ex>() == *ex2.target<Ex>();
858
- }
859
-
860
- template <typename Ex>
861
- static void execute_ex(const any_executor_base& ex,
862
- ASIO_MOVE_ARG(function) f)
863
- {
864
- execution::execute(*ex.target<Ex>(), ASIO_MOVE_CAST(function)(f));
865
- }
866
-
867
- template <typename Ex>
868
- static void blocking_execute_ex(const any_executor_base& ex, function_view f)
869
- {
870
- execution::execute(*ex.target<Ex>(), f);
871
- }
872
-
873
- template <typename Ex>
874
- static const target_fns* target_fns_table(bool is_always_blocking,
875
- typename enable_if<
876
- !is_same<Ex, void>::value
877
- >::type* = 0)
878
- {
879
- static const target_fns fns_with_execute =
880
- {
881
- &any_executor_base::target_type_ex<Ex>,
882
- &any_executor_base::equal_ex<Ex>,
883
- &any_executor_base::execute_ex<Ex>,
884
- 0
885
- };
886
-
887
- static const target_fns fns_with_blocking_execute =
888
- {
889
- &any_executor_base::target_type_ex<Ex>,
890
- &any_executor_base::equal_ex<Ex>,
891
- 0,
892
- &any_executor_base::blocking_execute_ex<Ex>
893
- };
894
-
895
- return is_always_blocking ? &fns_with_blocking_execute : &fns_with_execute;
896
- }
897
-
898
- #if defined(ASIO_MSVC)
899
- # pragma warning (push)
900
- # pragma warning (disable:4702)
901
- #endif // defined(ASIO_MSVC)
902
-
903
- static void query_fn_void(void*, const void*, const void*)
904
- {
905
- bad_executor ex;
906
- asio::detail::throw_exception(ex);
907
- }
908
-
909
- template <typename Ex, class Prop>
910
- static void query_fn_non_void(void*, const void* ex, const void* prop,
911
- typename enable_if<
912
- asio::can_query<const Ex&, const Prop&>::value
913
- && is_same<typename Prop::polymorphic_query_result_type, void>::value
914
- >::type*)
915
- {
916
- asio::query(*static_cast<const Ex*>(ex),
917
- *static_cast<const Prop*>(prop));
918
- }
919
-
920
- template <typename Ex, class Prop>
921
- static void query_fn_non_void(void*, const void*, const void*,
922
- typename enable_if<
923
- !asio::can_query<const Ex&, const Prop&>::value
924
- && is_same<typename Prop::polymorphic_query_result_type, void>::value
925
- >::type*)
926
- {
927
- }
928
-
929
- template <typename Ex, class Prop>
930
- static void query_fn_non_void(void* result, const void* ex, const void* prop,
931
- typename enable_if<
932
- asio::can_query<const Ex&, const Prop&>::value
933
- && !is_same<typename Prop::polymorphic_query_result_type, void>::value
934
- && is_reference<typename Prop::polymorphic_query_result_type>::value
935
- >::type*)
936
- {
937
- *static_cast<typename remove_reference<
938
- typename Prop::polymorphic_query_result_type>::type**>(result)
939
- = &static_cast<typename Prop::polymorphic_query_result_type>(
940
- asio::query(*static_cast<const Ex*>(ex),
941
- *static_cast<const Prop*>(prop)));
942
- }
943
-
944
- template <typename Ex, class Prop>
945
- static void query_fn_non_void(void*, const void*, const void*,
946
- typename enable_if<
947
- !asio::can_query<const Ex&, const Prop&>::value
948
- && !is_same<typename Prop::polymorphic_query_result_type, void>::value
949
- && is_reference<typename Prop::polymorphic_query_result_type>::value
950
- >::type*)
951
- {
952
- std::terminate(); // Combination should not be possible.
953
- }
954
-
955
- template <typename Ex, class Prop>
956
- static void query_fn_non_void(void* result, const void* ex, const void* prop,
957
- typename enable_if<
958
- asio::can_query<const Ex&, const Prop&>::value
959
- && !is_same<typename Prop::polymorphic_query_result_type, void>::value
960
- && is_scalar<typename Prop::polymorphic_query_result_type>::value
961
- >::type*)
962
- {
963
- *static_cast<typename Prop::polymorphic_query_result_type*>(result)
964
- = static_cast<typename Prop::polymorphic_query_result_type>(
965
- asio::query(*static_cast<const Ex*>(ex),
966
- *static_cast<const Prop*>(prop)));
967
- }
968
-
969
- template <typename Ex, class Prop>
970
- static void query_fn_non_void(void* result, const void*, const void*,
971
- typename enable_if<
972
- !asio::can_query<const Ex&, const Prop&>::value
973
- && !is_same<typename Prop::polymorphic_query_result_type, void>::value
974
- && is_scalar<typename Prop::polymorphic_query_result_type>::value
975
- >::type*)
976
- {
977
- *static_cast<typename Prop::polymorphic_query_result_type*>(result)
978
- = typename Prop::polymorphic_query_result_type();
979
- }
980
-
981
- template <typename Ex, class Prop>
982
- static void query_fn_non_void(void* result, const void* ex, const void* prop,
983
- typename enable_if<
984
- asio::can_query<const Ex&, const Prop&>::value
985
- && !is_same<typename Prop::polymorphic_query_result_type, void>::value
986
- && !is_reference<typename Prop::polymorphic_query_result_type>::value
987
- && !is_scalar<typename Prop::polymorphic_query_result_type>::value
988
- >::type*)
989
- {
990
- *static_cast<typename Prop::polymorphic_query_result_type**>(result)
991
- = new typename Prop::polymorphic_query_result_type(
992
- asio::query(*static_cast<const Ex*>(ex),
993
- *static_cast<const Prop*>(prop)));
994
- }
995
-
996
- template <typename Ex, class Prop>
997
- static void query_fn_non_void(void* result, const void*, const void*, ...)
998
- {
999
- *static_cast<typename Prop::polymorphic_query_result_type**>(result)
1000
- = new typename Prop::polymorphic_query_result_type();
1001
- }
1002
-
1003
- template <typename Ex, class Prop>
1004
- static void query_fn_impl(void* result, const void* ex, const void* prop,
1005
- typename enable_if<
1006
- is_same<Ex, void>::value
1007
- >::type*)
1008
- {
1009
- query_fn_void(result, ex, prop);
1010
- }
1011
-
1012
- template <typename Ex, class Prop>
1013
- static void query_fn_impl(void* result, const void* ex, const void* prop,
1014
- typename enable_if<
1015
- !is_same<Ex, void>::value
1016
- >::type*)
1017
- {
1018
- query_fn_non_void<Ex, Prop>(result, ex, prop, 0);
1019
- }
1020
-
1021
- template <typename Ex, class Prop>
1022
- static void query_fn(void* result, const void* ex, const void* prop)
1023
- {
1024
- query_fn_impl<Ex, Prop>(result, ex, prop, 0);
1025
- }
1026
-
1027
- template <typename Poly, typename Ex, class Prop>
1028
- static Poly require_fn_impl(const void*, const void*,
1029
- typename enable_if<
1030
- is_same<Ex, void>::value
1031
- >::type*)
1032
- {
1033
- bad_executor ex;
1034
- asio::detail::throw_exception(ex);
1035
- return Poly();
1036
- }
1037
-
1038
- template <typename Poly, typename Ex, class Prop>
1039
- static Poly require_fn_impl(const void* ex, const void* prop,
1040
- typename enable_if<
1041
- !is_same<Ex, void>::value && Prop::is_requirable
1042
- >::type*)
1043
- {
1044
- return asio::require(*static_cast<const Ex*>(ex),
1045
- *static_cast<const Prop*>(prop));
1046
- }
1047
-
1048
- template <typename Poly, typename Ex, class Prop>
1049
- static Poly require_fn_impl(const void*, const void*, ...)
1050
- {
1051
- return Poly();
1052
- }
1053
-
1054
- template <typename Poly, typename Ex, class Prop>
1055
- static Poly require_fn(const void* ex, const void* prop)
1056
- {
1057
- return require_fn_impl<Poly, Ex, Prop>(ex, prop, 0);
1058
- }
1059
-
1060
- template <typename Poly, typename Ex, class Prop>
1061
- static Poly prefer_fn_impl(const void*, const void*,
1062
- typename enable_if<
1063
- is_same<Ex, void>::value
1064
- >::type*)
1065
- {
1066
- bad_executor ex;
1067
- asio::detail::throw_exception(ex);
1068
- return Poly();
1069
- }
1070
-
1071
- template <typename Poly, typename Ex, class Prop>
1072
- static Poly prefer_fn_impl(const void* ex, const void* prop,
1073
- typename enable_if<
1074
- !is_same<Ex, void>::value && Prop::is_preferable
1075
- >::type*)
1076
- {
1077
- return asio::prefer(*static_cast<const Ex*>(ex),
1078
- *static_cast<const Prop*>(prop));
1079
- }
1080
-
1081
- template <typename Poly, typename Ex, class Prop>
1082
- static Poly prefer_fn_impl(const void*, const void*, ...)
1083
- {
1084
- return Poly();
1085
- }
1086
-
1087
- template <typename Poly, typename Ex, class Prop>
1088
- static Poly prefer_fn(const void* ex, const void* prop)
1089
- {
1090
- return prefer_fn_impl<Poly, Ex, Prop>(ex, prop, 0);
1091
- }
1092
-
1093
- template <typename Poly>
1094
- struct prop_fns
1095
- {
1096
- void (*query)(void*, const void*, const void*);
1097
- Poly (*require)(const void*, const void*);
1098
- Poly (*prefer)(const void*, const void*);
1099
- };
1100
-
1101
- #if defined(ASIO_MSVC)
1102
- # pragma warning (pop)
1103
- #endif // defined(ASIO_MSVC)
1104
-
1105
- private:
1106
- template <typename Executor>
1107
- static execution::blocking_t query_blocking(const Executor& ex, true_type)
1108
- {
1109
- return asio::query(ex, execution::blocking);
1110
- }
1111
-
1112
- template <typename Executor>
1113
- static execution::blocking_t query_blocking(const Executor&, false_type)
1114
- {
1115
- return execution::blocking_t();
1116
- }
1117
-
1118
- template <typename Executor>
1119
- void construct_object(Executor& ex, true_type)
1120
- {
1121
- object_fns_ = object_fns_table<Executor>();
1122
- target_ = new (&object_) Executor(ASIO_MOVE_CAST(Executor)(ex));
1123
- }
1124
-
1125
- template <typename Executor>
1126
- void construct_object(Executor& ex, false_type)
1127
- {
1128
- object_fns_ = object_fns_table<asio::detail::shared_ptr<void> >();
1129
- asio::detail::shared_ptr<Executor> p =
1130
- asio::detail::make_shared<Executor>(
1131
- ASIO_MOVE_CAST(Executor)(ex));
1132
- target_ = p.get();
1133
- new (&object_) asio::detail::shared_ptr<void>(
1134
- ASIO_MOVE_CAST(asio::detail::shared_ptr<Executor>)(p));
1135
- }
1136
-
1137
- /*private:*/public:
1138
- // template <typename...> friend class any_executor;
1139
-
1140
- typedef aligned_storage<
1141
- sizeof(asio::detail::shared_ptr<void>),
1142
- alignment_of<asio::detail::shared_ptr<void> >::value
1143
- >::type object_type;
1144
-
1145
- object_type object_;
1146
- const object_fns* object_fns_;
1147
- void* target_;
1148
- const target_fns* target_fns_;
1149
- };
1150
-
1151
- template <typename Derived, typename Property, typename = void>
1152
- struct any_executor_context
1153
- {
1154
- };
1155
-
1156
- #if !defined(ASIO_NO_TS_EXECUTORS)
1157
-
1158
- template <typename Derived, typename Property>
1159
- struct any_executor_context<Derived, Property,
1160
- typename enable_if<Property::value>::type>
1161
- {
1162
- typename Property::query_result_type context() const
1163
- {
1164
- return static_cast<const Derived*>(this)->query(typename Property::type());
1165
- }
1166
- };
1167
-
1168
- #endif // !defined(ASIO_NO_TS_EXECUTORS)
1169
-
1170
- } // namespace detail
1171
-
1172
- template <>
1173
- class any_executor<> : public detail::any_executor_base
1174
- {
1175
- public:
1176
- any_executor() ASIO_NOEXCEPT
1177
- : detail::any_executor_base()
1178
- {
1179
- }
1180
-
1181
- any_executor(nullptr_t) ASIO_NOEXCEPT
1182
- : detail::any_executor_base()
1183
- {
1184
- }
1185
-
1186
- template <typename Executor>
1187
- any_executor(Executor ex,
1188
- typename enable_if<
1189
- conditional<
1190
- !is_same<Executor, any_executor>::value
1191
- && !is_base_of<detail::any_executor_base, Executor>::value,
1192
- is_executor<Executor>,
1193
- false_type
1194
- >::type::value
1195
- >::type* = 0)
1196
- : detail::any_executor_base(
1197
- ASIO_MOVE_CAST(Executor)(ex), false_type())
1198
- {
1199
- }
1200
-
1201
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
1202
-
1203
- template <typename... OtherSupportableProperties>
1204
- any_executor(any_executor<OtherSupportableProperties...> other)
1205
- : detail::any_executor_base(
1206
- static_cast<const detail::any_executor_base&>(other))
1207
- {
1208
- }
1209
-
1210
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
1211
-
1212
- template <typename U0, typename U1, typename U2, typename U3,
1213
- typename U4, typename U5, typename U6, typename U7>
1214
- any_executor(any_executor<U0, U1, U2, U3, U4, U5, U6, U7> other)
1215
- : detail::any_executor_base(
1216
- static_cast<const detail::any_executor_base&>(other))
1217
- {
1218
- }
1219
-
1220
- #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES)
1221
-
1222
- any_executor(const any_executor& other) ASIO_NOEXCEPT
1223
- : detail::any_executor_base(
1224
- static_cast<const detail::any_executor_base&>(other))
1225
- {
1226
- }
1227
-
1228
- any_executor& operator=(const any_executor& other) ASIO_NOEXCEPT
1229
- {
1230
- if (this != &other)
1231
- {
1232
- detail::any_executor_base::operator=(
1233
- static_cast<const detail::any_executor_base&>(other));
1234
- }
1235
- return *this;
1236
- }
1237
-
1238
- any_executor& operator=(nullptr_t p) ASIO_NOEXCEPT
1239
- {
1240
- detail::any_executor_base::operator=(p);
1241
- return *this;
1242
- }
1243
-
1244
- #if defined(ASIO_HAS_MOVE)
1245
-
1246
- any_executor(any_executor&& other) ASIO_NOEXCEPT
1247
- : detail::any_executor_base(
1248
- static_cast<any_executor_base&&>(
1249
- static_cast<any_executor_base&>(other)))
1250
- {
1251
- }
1252
-
1253
- any_executor& operator=(any_executor&& other) ASIO_NOEXCEPT
1254
- {
1255
- if (this != &other)
1256
- {
1257
- detail::any_executor_base::operator=(
1258
- static_cast<detail::any_executor_base&&>(
1259
- static_cast<detail::any_executor_base&>(other)));
1260
- }
1261
- return *this;
1262
- }
1263
-
1264
- #endif // defined(ASIO_HAS_MOVE)
1265
-
1266
- void swap(any_executor& other) ASIO_NOEXCEPT
1267
- {
1268
- detail::any_executor_base::swap(
1269
- static_cast<detail::any_executor_base&>(other));
1270
- }
1271
-
1272
- using detail::any_executor_base::execute;
1273
- using detail::any_executor_base::target;
1274
- using detail::any_executor_base::target_type;
1275
- using detail::any_executor_base::operator unspecified_bool_type;
1276
- using detail::any_executor_base::operator!;
1277
-
1278
- bool equality_helper(const any_executor& other) const ASIO_NOEXCEPT
1279
- {
1280
- return any_executor_base::equality_helper(other);
1281
- }
1282
- };
1283
-
1284
- inline bool operator==(const any_executor<>& a,
1285
- const any_executor<>& b) ASIO_NOEXCEPT
1286
- {
1287
- return a.equality_helper(b);
1288
- }
1289
-
1290
- inline bool operator==(const any_executor<>& a, nullptr_t) ASIO_NOEXCEPT
1291
- {
1292
- return !a;
1293
- }
1294
-
1295
- inline bool operator==(nullptr_t, const any_executor<>& b) ASIO_NOEXCEPT
1296
- {
1297
- return !b;
1298
- }
1299
-
1300
- inline bool operator!=(const any_executor<>& a,
1301
- const any_executor<>& b) ASIO_NOEXCEPT
1302
- {
1303
- return !a.equality_helper(b);
1304
- }
1305
-
1306
- inline bool operator!=(const any_executor<>& a, nullptr_t) ASIO_NOEXCEPT
1307
- {
1308
- return !!a;
1309
- }
1310
-
1311
- inline bool operator!=(nullptr_t, const any_executor<>& b) ASIO_NOEXCEPT
1312
- {
1313
- return !!b;
1314
- }
1315
-
1316
- inline void swap(any_executor<>& a, any_executor<>& b) ASIO_NOEXCEPT
1317
- {
1318
- return a.swap(b);
1319
- }
1320
-
1321
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
1322
-
1323
- template <typename... SupportableProperties>
1324
- class any_executor :
1325
- public detail::any_executor_base,
1326
- public detail::any_executor_context<
1327
- any_executor<SupportableProperties...>,
1328
- typename detail::supportable_properties<
1329
- 0, void(SupportableProperties...)>::find_context_as_property>
1330
- {
1331
- public:
1332
- any_executor() ASIO_NOEXCEPT
1333
- : detail::any_executor_base(),
1334
- prop_fns_(prop_fns_table<void>())
1335
- {
1336
- }
1337
-
1338
- any_executor(nullptr_t) ASIO_NOEXCEPT
1339
- : detail::any_executor_base(),
1340
- prop_fns_(prop_fns_table<void>())
1341
- {
1342
- }
1343
-
1344
- template <typename Executor>
1345
- any_executor(Executor ex,
1346
- typename enable_if<
1347
- conditional<
1348
- !is_same<Executor, any_executor>::value
1349
- && !is_base_of<detail::any_executor_base, Executor>::value,
1350
- detail::is_valid_target_executor<
1351
- Executor, void(SupportableProperties...)>,
1352
- false_type
1353
- >::type::value
1354
- >::type* = 0)
1355
- : detail::any_executor_base(
1356
- ASIO_MOVE_CAST(Executor)(ex), false_type()),
1357
- prop_fns_(prop_fns_table<Executor>())
1358
- {
1359
- }
1360
-
1361
- template <typename... OtherSupportableProperties>
1362
- any_executor(any_executor<OtherSupportableProperties...> other,
1363
- typename enable_if<
1364
- conditional<
1365
- !is_same<
1366
- any_executor<OtherSupportableProperties...>,
1367
- any_executor
1368
- >::value,
1369
- typename detail::supportable_properties<
1370
- 0, void(SupportableProperties...)>::template is_valid_target<
1371
- any_executor<OtherSupportableProperties...> >,
1372
- false_type
1373
- >::type::value
1374
- >::type* = 0)
1375
- : detail::any_executor_base(ASIO_MOVE_CAST(
1376
- any_executor<OtherSupportableProperties...>)(other), true_type()),
1377
- prop_fns_(prop_fns_table<any_executor<OtherSupportableProperties...> >())
1378
- {
1379
- }
1380
-
1381
- any_executor(const any_executor& other) ASIO_NOEXCEPT
1382
- : detail::any_executor_base(
1383
- static_cast<const detail::any_executor_base&>(other)),
1384
- prop_fns_(other.prop_fns_)
1385
- {
1386
- }
1387
-
1388
- any_executor& operator=(const any_executor& other) ASIO_NOEXCEPT
1389
- {
1390
- if (this != &other)
1391
- {
1392
- prop_fns_ = other.prop_fns_;
1393
- detail::any_executor_base::operator=(
1394
- static_cast<const detail::any_executor_base&>(other));
1395
- }
1396
- return *this;
1397
- }
1398
-
1399
- any_executor& operator=(nullptr_t p) ASIO_NOEXCEPT
1400
- {
1401
- prop_fns_ = prop_fns_table<void>();
1402
- detail::any_executor_base::operator=(p);
1403
- return *this;
1404
- }
1405
-
1406
- #if defined(ASIO_HAS_MOVE)
1407
-
1408
- any_executor(any_executor&& other) ASIO_NOEXCEPT
1409
- : detail::any_executor_base(
1410
- static_cast<any_executor_base&&>(
1411
- static_cast<any_executor_base&>(other))),
1412
- prop_fns_(other.prop_fns_)
1413
- {
1414
- other.prop_fns_ = prop_fns_table<void>();
1415
- }
1416
-
1417
- any_executor& operator=(any_executor&& other) ASIO_NOEXCEPT
1418
- {
1419
- if (this != &other)
1420
- {
1421
- prop_fns_ = other.prop_fns_;
1422
- detail::any_executor_base::operator=(
1423
- static_cast<detail::any_executor_base&&>(
1424
- static_cast<detail::any_executor_base&>(other)));
1425
- }
1426
- return *this;
1427
- }
1428
-
1429
- #endif // defined(ASIO_HAS_MOVE)
1430
-
1431
- void swap(any_executor& other) ASIO_NOEXCEPT
1432
- {
1433
- if (this != &other)
1434
- {
1435
- detail::any_executor_base::swap(
1436
- static_cast<detail::any_executor_base&>(other));
1437
- const prop_fns<any_executor>* tmp_prop_fns = other.prop_fns_;
1438
- other.prop_fns_ = prop_fns_;
1439
- prop_fns_ = tmp_prop_fns;
1440
- }
1441
- }
1442
-
1443
- using detail::any_executor_base::execute;
1444
- using detail::any_executor_base::target;
1445
- using detail::any_executor_base::target_type;
1446
- using detail::any_executor_base::operator unspecified_bool_type;
1447
- using detail::any_executor_base::operator!;
1448
-
1449
- bool equality_helper(const any_executor& other) const ASIO_NOEXCEPT
1450
- {
1451
- return any_executor_base::equality_helper(other);
1452
- }
1453
-
1454
- template <typename T>
1455
- struct find_convertible_property :
1456
- detail::supportable_properties<
1457
- 0, void(SupportableProperties...)>::template
1458
- find_convertible_property<T> {};
1459
-
1460
- template <typename Property>
1461
- void query(const Property& p,
1462
- typename enable_if<
1463
- is_same<
1464
- typename find_convertible_property<Property>::query_result_type,
1465
- void
1466
- >::value
1467
- >::type* = 0) const
1468
- {
1469
- typedef find_convertible_property<Property> found;
1470
- prop_fns_[found::index].query(0, object_fns_->target(*this),
1471
- &static_cast<const typename found::type&>(p));
1472
- }
1473
-
1474
- template <typename Property>
1475
- typename find_convertible_property<Property>::query_result_type
1476
- query(const Property& p,
1477
- typename enable_if<
1478
- !is_same<
1479
- typename find_convertible_property<Property>::query_result_type,
1480
- void
1481
- >::value
1482
- &&
1483
- is_reference<
1484
- typename find_convertible_property<Property>::query_result_type
1485
- >::value
1486
- >::type* = 0) const
1487
- {
1488
- typedef find_convertible_property<Property> found;
1489
- typename remove_reference<
1490
- typename found::query_result_type>::type* result = 0;
1491
- prop_fns_[found::index].query(&result, object_fns_->target(*this),
1492
- &static_cast<const typename found::type&>(p));
1493
- return *result;
1494
- }
1495
-
1496
- template <typename Property>
1497
- typename find_convertible_property<Property>::query_result_type
1498
- query(const Property& p,
1499
- typename enable_if<
1500
- !is_same<
1501
- typename find_convertible_property<Property>::query_result_type,
1502
- void
1503
- >::value
1504
- &&
1505
- is_scalar<
1506
- typename find_convertible_property<Property>::query_result_type
1507
- >::value
1508
- >::type* = 0) const
1509
- {
1510
- typedef find_convertible_property<Property> found;
1511
- typename found::query_result_type result;
1512
- prop_fns_[found::index].query(&result, object_fns_->target(*this),
1513
- &static_cast<const typename found::type&>(p));
1514
- return result;
1515
- }
1516
-
1517
- template <typename Property>
1518
- typename find_convertible_property<Property>::query_result_type
1519
- query(const Property& p,
1520
- typename enable_if<
1521
- !is_same<
1522
- typename find_convertible_property<Property>::query_result_type,
1523
- void
1524
- >::value
1525
- &&
1526
- !is_reference<
1527
- typename find_convertible_property<Property>::query_result_type
1528
- >::value
1529
- &&
1530
- !is_scalar<
1531
- typename find_convertible_property<Property>::query_result_type
1532
- >::value
1533
- >::type* = 0) const
1534
- {
1535
- typedef find_convertible_property<Property> found;
1536
- typename found::query_result_type* result;
1537
- prop_fns_[found::index].query(&result, object_fns_->target(*this),
1538
- &static_cast<const typename found::type&>(p));
1539
- return *asio::detail::scoped_ptr<
1540
- typename found::query_result_type>(result);
1541
- }
1542
-
1543
- template <typename T>
1544
- struct find_convertible_requirable_property :
1545
- detail::supportable_properties<
1546
- 0, void(SupportableProperties...)>::template
1547
- find_convertible_requirable_property<T> {};
1548
-
1549
- template <typename Property>
1550
- any_executor require(const Property& p,
1551
- typename enable_if<
1552
- find_convertible_requirable_property<Property>::value
1553
- >::type* = 0) const
1554
- {
1555
- typedef find_convertible_requirable_property<Property> found;
1556
- return prop_fns_[found::index].require(object_fns_->target(*this),
1557
- &static_cast<const typename found::type&>(p));
1558
- }
1559
-
1560
- template <typename T>
1561
- struct find_convertible_preferable_property :
1562
- detail::supportable_properties<
1563
- 0, void(SupportableProperties...)>::template
1564
- find_convertible_preferable_property<T> {};
1565
-
1566
- template <typename Property>
1567
- any_executor prefer(const Property& p,
1568
- typename enable_if<
1569
- find_convertible_preferable_property<Property>::value
1570
- >::type* = 0) const
1571
- {
1572
- typedef find_convertible_preferable_property<Property> found;
1573
- return prop_fns_[found::index].prefer(object_fns_->target(*this),
1574
- &static_cast<const typename found::type&>(p));
1575
- }
1576
-
1577
- //private:
1578
- template <typename Ex>
1579
- static const prop_fns<any_executor>* prop_fns_table()
1580
- {
1581
- static const prop_fns<any_executor> fns[] =
1582
- {
1583
- {
1584
- &detail::any_executor_base::query_fn<
1585
- Ex, SupportableProperties>,
1586
- &detail::any_executor_base::require_fn<
1587
- any_executor, Ex, SupportableProperties>,
1588
- &detail::any_executor_base::prefer_fn<
1589
- any_executor, Ex, SupportableProperties>
1590
- }...
1591
- };
1592
- return fns;
1593
- }
1594
-
1595
- const prop_fns<any_executor>* prop_fns_;
1596
- };
1597
-
1598
- template <typename... SupportableProperties>
1599
- inline bool operator==(const any_executor<SupportableProperties...>& a,
1600
- const any_executor<SupportableProperties...>& b) ASIO_NOEXCEPT
1601
- {
1602
- return a.equality_helper(b);
1603
- }
1604
-
1605
- template <typename... SupportableProperties>
1606
- inline bool operator==(const any_executor<SupportableProperties...>& a,
1607
- nullptr_t) ASIO_NOEXCEPT
1608
- {
1609
- return !a;
1610
- }
1611
-
1612
- template <typename... SupportableProperties>
1613
- inline bool operator==(nullptr_t,
1614
- const any_executor<SupportableProperties...>& b) ASIO_NOEXCEPT
1615
- {
1616
- return !b;
1617
- }
1618
-
1619
- template <typename... SupportableProperties>
1620
- inline bool operator!=(const any_executor<SupportableProperties...>& a,
1621
- const any_executor<SupportableProperties...>& b) ASIO_NOEXCEPT
1622
- {
1623
- return !a.equality_helper(b);
1624
- }
1625
-
1626
- template <typename... SupportableProperties>
1627
- inline bool operator!=(const any_executor<SupportableProperties...>& a,
1628
- nullptr_t) ASIO_NOEXCEPT
1629
- {
1630
- return !!a;
1631
- }
1632
-
1633
- template <typename... SupportableProperties>
1634
- inline bool operator!=(nullptr_t,
1635
- const any_executor<SupportableProperties...>& b) ASIO_NOEXCEPT
1636
- {
1637
- return !!b;
1638
- }
1639
-
1640
- template <typename... SupportableProperties>
1641
- inline void swap(any_executor<SupportableProperties...>& a,
1642
- any_executor<SupportableProperties...>& b) ASIO_NOEXCEPT
1643
- {
1644
- return a.swap(b);
1645
- }
1646
-
1647
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
1648
-
1649
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS(n) \
1650
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_##n
1651
-
1652
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1 \
1653
- { \
1654
- &detail::any_executor_base::query_fn<Ex, T1>, \
1655
- &detail::any_executor_base::require_fn<any_executor, Ex, T1>, \
1656
- &detail::any_executor_base::prefer_fn<any_executor, Ex, T1> \
1657
- }
1658
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2 \
1659
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1, \
1660
- { \
1661
- &detail::any_executor_base::query_fn<Ex, T2>, \
1662
- &detail::any_executor_base::require_fn<any_executor, Ex, T2>, \
1663
- &detail::any_executor_base::prefer_fn<any_executor, Ex, T2> \
1664
- }
1665
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3 \
1666
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2, \
1667
- { \
1668
- &detail::any_executor_base::query_fn<Ex, T3>, \
1669
- &detail::any_executor_base::require_fn<any_executor, Ex, T3>, \
1670
- &detail::any_executor_base::prefer_fn<any_executor, Ex, T3> \
1671
- }
1672
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4 \
1673
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3, \
1674
- { \
1675
- &detail::any_executor_base::query_fn<Ex, T4>, \
1676
- &detail::any_executor_base::require_fn<any_executor, Ex, T4>, \
1677
- &detail::any_executor_base::prefer_fn<any_executor, Ex, T4> \
1678
- }
1679
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5 \
1680
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4, \
1681
- { \
1682
- &detail::any_executor_base::query_fn<Ex, T5>, \
1683
- &detail::any_executor_base::require_fn<any_executor, Ex, T5>, \
1684
- &detail::any_executor_base::prefer_fn<any_executor, Ex, T5> \
1685
- }
1686
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6 \
1687
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5, \
1688
- { \
1689
- &detail::any_executor_base::query_fn<Ex, T6>, \
1690
- &detail::any_executor_base::require_fn<any_executor, Ex, T6>, \
1691
- &detail::any_executor_base::prefer_fn<any_executor, Ex, T6> \
1692
- }
1693
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7 \
1694
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6, \
1695
- { \
1696
- &detail::any_executor_base::query_fn<Ex, T7>, \
1697
- &detail::any_executor_base::require_fn<any_executor, Ex, T7>, \
1698
- &detail::any_executor_base::prefer_fn<any_executor, Ex, T7> \
1699
- }
1700
- #define ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_8 \
1701
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7, \
1702
- { \
1703
- &detail::any_executor_base::query_fn<Ex, T8>, \
1704
- &detail::any_executor_base::require_fn<any_executor, Ex, T8>, \
1705
- &detail::any_executor_base::prefer_fn<any_executor, Ex, T8> \
1706
- }
1707
-
1708
- #if defined(ASIO_HAS_MOVE)
1709
-
1710
- # define ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS \
1711
- any_executor(any_executor&& other) ASIO_NOEXCEPT \
1712
- : detail::any_executor_base( \
1713
- static_cast<any_executor_base&&>( \
1714
- static_cast<any_executor_base&>(other))), \
1715
- prop_fns_(other.prop_fns_) \
1716
- { \
1717
- other.prop_fns_ = prop_fns_table<void>(); \
1718
- } \
1719
- \
1720
- any_executor& operator=(any_executor&& other) ASIO_NOEXCEPT \
1721
- { \
1722
- if (this != &other) \
1723
- { \
1724
- prop_fns_ = other.prop_fns_; \
1725
- detail::any_executor_base::operator=( \
1726
- static_cast<detail::any_executor_base&&>( \
1727
- static_cast<detail::any_executor_base&>(other))); \
1728
- } \
1729
- return *this; \
1730
- } \
1731
- /**/
1732
- #else // defined(ASIO_HAS_MOVE)
1733
-
1734
- # define ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS
1735
-
1736
- #endif // defined(ASIO_HAS_MOVE)
1737
-
1738
- #define ASIO_PRIVATE_ANY_EXECUTOR_DEF(n) \
1739
- template <ASIO_VARIADIC_TPARAMS(n)> \
1740
- class any_executor<ASIO_VARIADIC_TARGS(n)> : \
1741
- public detail::any_executor_base, \
1742
- public detail::any_executor_context< \
1743
- any_executor<ASIO_VARIADIC_TARGS(n)>, \
1744
- typename detail::supportable_properties< \
1745
- 0, void(ASIO_VARIADIC_TARGS(n))>::find_context_as_property> \
1746
- { \
1747
- public: \
1748
- any_executor() ASIO_NOEXCEPT \
1749
- : detail::any_executor_base(), \
1750
- prop_fns_(prop_fns_table<void>()) \
1751
- { \
1752
- } \
1753
- \
1754
- any_executor(nullptr_t) ASIO_NOEXCEPT \
1755
- : detail::any_executor_base(), \
1756
- prop_fns_(prop_fns_table<void>()) \
1757
- { \
1758
- } \
1759
- \
1760
- template <ASIO_EXECUTION_EXECUTOR Executor> \
1761
- any_executor(Executor ex, \
1762
- typename enable_if< \
1763
- conditional< \
1764
- !is_same<Executor, any_executor>::value \
1765
- && !is_base_of<detail::any_executor_base, Executor>::value, \
1766
- detail::is_valid_target_executor< \
1767
- Executor, void(ASIO_VARIADIC_TARGS(n))>, \
1768
- false_type \
1769
- >::type::value \
1770
- >::type* = 0) \
1771
- : detail::any_executor_base(ASIO_MOVE_CAST( \
1772
- Executor)(ex), false_type()), \
1773
- prop_fns_(prop_fns_table<Executor>()) \
1774
- { \
1775
- } \
1776
- \
1777
- any_executor(const any_executor& other) ASIO_NOEXCEPT \
1778
- : detail::any_executor_base( \
1779
- static_cast<const detail::any_executor_base&>(other)), \
1780
- prop_fns_(other.prop_fns_) \
1781
- { \
1782
- } \
1783
- \
1784
- any_executor(any_executor<> other) \
1785
- : detail::any_executor_base(ASIO_MOVE_CAST( \
1786
- any_executor<>)(other), true_type()), \
1787
- prop_fns_(prop_fns_table<any_executor<> >()) \
1788
- { \
1789
- } \
1790
- \
1791
- template <typename OtherAnyExecutor> \
1792
- any_executor(OtherAnyExecutor other, \
1793
- typename enable_if< \
1794
- conditional< \
1795
- !is_same<OtherAnyExecutor, any_executor>::value \
1796
- && is_base_of<detail::any_executor_base, \
1797
- OtherAnyExecutor>::value, \
1798
- typename detail::supportable_properties< \
1799
- 0, void(ASIO_VARIADIC_TARGS(n))>::template \
1800
- is_valid_target<OtherAnyExecutor>, \
1801
- false_type \
1802
- >::type::value \
1803
- >::type* = 0) \
1804
- : detail::any_executor_base(ASIO_MOVE_CAST( \
1805
- OtherAnyExecutor)(other), true_type()), \
1806
- prop_fns_(prop_fns_table<OtherAnyExecutor>()) \
1807
- { \
1808
- } \
1809
- \
1810
- any_executor& operator=(const any_executor& other) ASIO_NOEXCEPT \
1811
- { \
1812
- if (this != &other) \
1813
- { \
1814
- prop_fns_ = other.prop_fns_; \
1815
- detail::any_executor_base::operator=( \
1816
- static_cast<const detail::any_executor_base&>(other)); \
1817
- } \
1818
- return *this; \
1819
- } \
1820
- \
1821
- any_executor& operator=(nullptr_t p) ASIO_NOEXCEPT \
1822
- { \
1823
- prop_fns_ = prop_fns_table<void>(); \
1824
- detail::any_executor_base::operator=(p); \
1825
- return *this; \
1826
- } \
1827
- \
1828
- ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS \
1829
- \
1830
- void swap(any_executor& other) ASIO_NOEXCEPT \
1831
- { \
1832
- if (this != &other) \
1833
- { \
1834
- detail::any_executor_base::swap( \
1835
- static_cast<detail::any_executor_base&>(other)); \
1836
- const prop_fns<any_executor>* tmp_prop_fns = other.prop_fns_; \
1837
- other.prop_fns_ = prop_fns_; \
1838
- prop_fns_ = tmp_prop_fns; \
1839
- } \
1840
- } \
1841
- \
1842
- using detail::any_executor_base::execute; \
1843
- using detail::any_executor_base::target; \
1844
- using detail::any_executor_base::target_type; \
1845
- using detail::any_executor_base::operator unspecified_bool_type; \
1846
- using detail::any_executor_base::operator!; \
1847
- \
1848
- bool equality_helper(const any_executor& other) const ASIO_NOEXCEPT \
1849
- { \
1850
- return any_executor_base::equality_helper(other); \
1851
- } \
1852
- \
1853
- template <typename T> \
1854
- struct find_convertible_property : \
1855
- detail::supportable_properties< \
1856
- 0, void(ASIO_VARIADIC_TARGS(n))>::template \
1857
- find_convertible_property<T> {}; \
1858
- \
1859
- template <typename Property> \
1860
- void query(const Property& p, \
1861
- typename enable_if< \
1862
- is_same< \
1863
- typename find_convertible_property<Property>::query_result_type, \
1864
- void \
1865
- >::value \
1866
- >::type* = 0) const \
1867
- { \
1868
- typedef find_convertible_property<Property> found; \
1869
- prop_fns_[found::index].query(0, object_fns_->target(*this), \
1870
- &static_cast<const typename found::type&>(p)); \
1871
- } \
1872
- \
1873
- template <typename Property> \
1874
- typename find_convertible_property<Property>::query_result_type \
1875
- query(const Property& p, \
1876
- typename enable_if< \
1877
- !is_same< \
1878
- typename find_convertible_property<Property>::query_result_type, \
1879
- void \
1880
- >::value \
1881
- && \
1882
- is_reference< \
1883
- typename find_convertible_property<Property>::query_result_type \
1884
- >::value \
1885
- >::type* = 0) const \
1886
- { \
1887
- typedef find_convertible_property<Property> found; \
1888
- typename remove_reference< \
1889
- typename found::query_result_type>::type* result; \
1890
- prop_fns_[found::index].query(&result, object_fns_->target(*this), \
1891
- &static_cast<const typename found::type&>(p)); \
1892
- return *result; \
1893
- } \
1894
- \
1895
- template <typename Property> \
1896
- typename find_convertible_property<Property>::query_result_type \
1897
- query(const Property& p, \
1898
- typename enable_if< \
1899
- !is_same< \
1900
- typename find_convertible_property<Property>::query_result_type, \
1901
- void \
1902
- >::value \
1903
- && \
1904
- is_scalar< \
1905
- typename find_convertible_property<Property>::query_result_type \
1906
- >::value \
1907
- >::type* = 0) const \
1908
- { \
1909
- typedef find_convertible_property<Property> found; \
1910
- typename found::query_result_type result; \
1911
- prop_fns_[found::index].query(&result, object_fns_->target(*this), \
1912
- &static_cast<const typename found::type&>(p)); \
1913
- return result; \
1914
- } \
1915
- \
1916
- template <typename Property> \
1917
- typename find_convertible_property<Property>::query_result_type \
1918
- query(const Property& p, \
1919
- typename enable_if< \
1920
- !is_same< \
1921
- typename find_convertible_property<Property>::query_result_type, \
1922
- void \
1923
- >::value \
1924
- && \
1925
- !is_reference< \
1926
- typename find_convertible_property<Property>::query_result_type \
1927
- >::value \
1928
- && \
1929
- !is_scalar< \
1930
- typename find_convertible_property<Property>::query_result_type \
1931
- >::value \
1932
- >::type* = 0) const \
1933
- { \
1934
- typedef find_convertible_property<Property> found; \
1935
- typename found::query_result_type* result; \
1936
- prop_fns_[found::index].query(&result, object_fns_->target(*this), \
1937
- &static_cast<const typename found::type&>(p)); \
1938
- return *asio::detail::scoped_ptr< \
1939
- typename found::query_result_type>(result); \
1940
- } \
1941
- \
1942
- template <typename T> \
1943
- struct find_convertible_requirable_property : \
1944
- detail::supportable_properties< \
1945
- 0, void(ASIO_VARIADIC_TARGS(n))>::template \
1946
- find_convertible_requirable_property<T> {}; \
1947
- \
1948
- template <typename Property> \
1949
- any_executor require(const Property& p, \
1950
- typename enable_if< \
1951
- find_convertible_requirable_property<Property>::value \
1952
- >::type* = 0) const \
1953
- { \
1954
- typedef find_convertible_requirable_property<Property> found; \
1955
- return prop_fns_[found::index].require(object_fns_->target(*this), \
1956
- &static_cast<const typename found::type&>(p)); \
1957
- } \
1958
- \
1959
- template <typename T> \
1960
- struct find_convertible_preferable_property : \
1961
- detail::supportable_properties< \
1962
- 0, void(ASIO_VARIADIC_TARGS(n))>::template \
1963
- find_convertible_preferable_property<T> {}; \
1964
- \
1965
- template <typename Property> \
1966
- any_executor prefer(const Property& p, \
1967
- typename enable_if< \
1968
- find_convertible_preferable_property<Property>::value \
1969
- >::type* = 0) const \
1970
- { \
1971
- typedef find_convertible_preferable_property<Property> found; \
1972
- return prop_fns_[found::index].prefer(object_fns_->target(*this), \
1973
- &static_cast<const typename found::type&>(p)); \
1974
- } \
1975
- \
1976
- template <typename Ex> \
1977
- static const prop_fns<any_executor>* prop_fns_table() \
1978
- { \
1979
- static const prop_fns<any_executor> fns[] = \
1980
- { \
1981
- ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS(n) \
1982
- }; \
1983
- return fns; \
1984
- } \
1985
- \
1986
- const prop_fns<any_executor>* prop_fns_; \
1987
- typedef detail::supportable_properties<0, \
1988
- void(ASIO_VARIADIC_TARGS(n))> supportable_properties_type; \
1989
- }; \
1990
- \
1991
- template <ASIO_VARIADIC_TPARAMS(n)> \
1992
- inline bool operator==(const any_executor<ASIO_VARIADIC_TARGS(n)>& a, \
1993
- const any_executor<ASIO_VARIADIC_TARGS(n)>& b) ASIO_NOEXCEPT \
1994
- { \
1995
- return a.equality_helper(b); \
1996
- } \
1997
- \
1998
- template <ASIO_VARIADIC_TPARAMS(n)> \
1999
- inline bool operator==(const any_executor<ASIO_VARIADIC_TARGS(n)>& a, \
2000
- nullptr_t) ASIO_NOEXCEPT \
2001
- { \
2002
- return !a; \
2003
- } \
2004
- \
2005
- template <ASIO_VARIADIC_TPARAMS(n)> \
2006
- inline bool operator==(nullptr_t, \
2007
- const any_executor<ASIO_VARIADIC_TARGS(n)>& b) ASIO_NOEXCEPT \
2008
- { \
2009
- return !b; \
2010
- } \
2011
- \
2012
- template <ASIO_VARIADIC_TPARAMS(n)> \
2013
- inline bool operator!=(const any_executor<ASIO_VARIADIC_TARGS(n)>& a, \
2014
- const any_executor<ASIO_VARIADIC_TARGS(n)>& b) ASIO_NOEXCEPT \
2015
- { \
2016
- return !a.equality_helper(b); \
2017
- } \
2018
- \
2019
- template <ASIO_VARIADIC_TPARAMS(n)> \
2020
- inline bool operator!=(const any_executor<ASIO_VARIADIC_TARGS(n)>& a, \
2021
- nullptr_t) ASIO_NOEXCEPT \
2022
- { \
2023
- return !!a; \
2024
- } \
2025
- \
2026
- template <ASIO_VARIADIC_TPARAMS(n)> \
2027
- inline bool operator!=(nullptr_t, \
2028
- const any_executor<ASIO_VARIADIC_TARGS(n)>& b) ASIO_NOEXCEPT \
2029
- { \
2030
- return !!b; \
2031
- } \
2032
- \
2033
- template <ASIO_VARIADIC_TPARAMS(n)> \
2034
- inline void swap(any_executor<ASIO_VARIADIC_TARGS(n)>& a, \
2035
- any_executor<ASIO_VARIADIC_TARGS(n)>& b) ASIO_NOEXCEPT \
2036
- { \
2037
- return a.swap(b); \
2038
- } \
2039
- /**/
2040
- ASIO_VARIADIC_GENERATE(ASIO_PRIVATE_ANY_EXECUTOR_DEF)
2041
- #undef ASIO_PRIVATE_ANY_EXECUTOR_DEF
2042
- #undef ASIO_PRIVATE_ANY_EXECUTOR_MOVE_OPS
2043
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS
2044
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_1
2045
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_2
2046
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_3
2047
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_4
2048
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_5
2049
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_6
2050
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_7
2051
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PROP_FNS_8
2052
-
2053
- #endif // if defined(ASIO_HAS_VARIADIC_TEMPLATES)
2054
-
2055
- } // namespace execution
2056
- namespace traits {
2057
-
2058
- #if !defined(ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
2059
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
2060
-
2061
- template <typename... SupportableProperties>
2062
- struct equality_comparable<execution::any_executor<SupportableProperties...> >
2063
- {
2064
- static const bool is_valid = true;
2065
- static const bool is_noexcept = true;
2066
- };
2067
-
2068
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2069
-
2070
- template <>
2071
- struct equality_comparable<execution::any_executor<> >
2072
- {
2073
- static const bool is_valid = true;
2074
- static const bool is_noexcept = true;
2075
- };
2076
-
2077
- #define ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF(n) \
2078
- template <ASIO_VARIADIC_TPARAMS(n)> \
2079
- struct equality_comparable< \
2080
- execution::any_executor<ASIO_VARIADIC_TARGS(n)> > \
2081
- { \
2082
- static const bool is_valid = true; \
2083
- static const bool is_noexcept = true; \
2084
- }; \
2085
- /**/
2086
- ASIO_VARIADIC_GENERATE(
2087
- ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF)
2088
- #undef ASIO_PRIVATE_ANY_EXECUTOR_EQUALITY_COMPARABLE_DEF
2089
-
2090
- #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2091
- #endif // !defined(ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
2092
-
2093
- #if !defined(ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
2094
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
2095
-
2096
- template <typename F, typename... SupportableProperties>
2097
- struct execute_member<execution::any_executor<SupportableProperties...>, F>
2098
- {
2099
- static const bool is_valid = true;
2100
- static const bool is_noexcept = false;
2101
- typedef void result_type;
2102
- };
2103
-
2104
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2105
-
2106
- template <typename F>
2107
- struct execute_member<execution::any_executor<>, F>
2108
- {
2109
- static const bool is_valid = true;
2110
- static const bool is_noexcept = false;
2111
- typedef void result_type;
2112
- };
2113
-
2114
- #define ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF(n) \
2115
- template <typename F, ASIO_VARIADIC_TPARAMS(n)> \
2116
- struct execute_member< \
2117
- execution::any_executor<ASIO_VARIADIC_TARGS(n)>, F> \
2118
- { \
2119
- static const bool is_valid = true; \
2120
- static const bool is_noexcept = false; \
2121
- typedef void result_type; \
2122
- }; \
2123
- /**/
2124
- ASIO_VARIADIC_GENERATE(
2125
- ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF)
2126
- #undef ASIO_PRIVATE_ANY_EXECUTOR_EXECUTE_MEMBER_DEF
2127
-
2128
- #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2129
- #endif // !defined(ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
2130
-
2131
- #if !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
2132
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
2133
-
2134
- template <typename Prop, typename... SupportableProperties>
2135
- struct query_member<
2136
- execution::any_executor<SupportableProperties...>, Prop,
2137
- typename enable_if<
2138
- execution::detail::supportable_properties<
2139
- 0, void(SupportableProperties...)>::template
2140
- find_convertible_property<Prop>::value
2141
- >::type>
2142
- {
2143
- static const bool is_valid = true;
2144
- static const bool is_noexcept = false;
2145
- typedef typename execution::detail::supportable_properties<
2146
- 0, void(SupportableProperties...)>::template
2147
- find_convertible_property<Prop>::query_result_type result_type;
2148
- };
2149
-
2150
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2151
-
2152
- #define ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF(n) \
2153
- template <typename Prop, ASIO_VARIADIC_TPARAMS(n)> \
2154
- struct query_member< \
2155
- execution::any_executor<ASIO_VARIADIC_TARGS(n)>, Prop, \
2156
- typename enable_if< \
2157
- execution::detail::supportable_properties< \
2158
- 0, void(ASIO_VARIADIC_TARGS(n))>::template \
2159
- find_convertible_property<Prop>::value \
2160
- >::type> \
2161
- { \
2162
- static const bool is_valid = true; \
2163
- static const bool is_noexcept = false; \
2164
- typedef typename execution::detail::supportable_properties< \
2165
- 0, void(ASIO_VARIADIC_TARGS(n))>::template \
2166
- find_convertible_property<Prop>::query_result_type result_type; \
2167
- }; \
2168
- /**/
2169
- ASIO_VARIADIC_GENERATE(ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF)
2170
- #undef ASIO_PRIVATE_ANY_EXECUTOR_QUERY_MEMBER_DEF
2171
-
2172
- #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2173
- #endif // !defined(ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
2174
-
2175
- #if !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
2176
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
2177
-
2178
- template <typename Prop, typename... SupportableProperties>
2179
- struct require_member<
2180
- execution::any_executor<SupportableProperties...>, Prop,
2181
- typename enable_if<
2182
- execution::detail::supportable_properties<
2183
- 0, void(SupportableProperties...)>::template
2184
- find_convertible_requirable_property<Prop>::value
2185
- >::type>
2186
- {
2187
- static const bool is_valid = true;
2188
- static const bool is_noexcept = false;
2189
- typedef execution::any_executor<SupportableProperties...> result_type;
2190
- };
2191
-
2192
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2193
-
2194
- #define ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF(n) \
2195
- template <typename Prop, ASIO_VARIADIC_TPARAMS(n)> \
2196
- struct require_member< \
2197
- execution::any_executor<ASIO_VARIADIC_TARGS(n)>, Prop, \
2198
- typename enable_if< \
2199
- execution::detail::supportable_properties< \
2200
- 0, void(ASIO_VARIADIC_TARGS(n))>::template \
2201
- find_convertible_requirable_property<Prop>::value \
2202
- >::type> \
2203
- { \
2204
- static const bool is_valid = true; \
2205
- static const bool is_noexcept = false; \
2206
- typedef execution::any_executor<ASIO_VARIADIC_TARGS(n)> result_type; \
2207
- }; \
2208
- /**/
2209
- ASIO_VARIADIC_GENERATE(
2210
- ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF)
2211
- #undef ASIO_PRIVATE_ANY_EXECUTOR_REQUIRE_MEMBER_DEF
2212
-
2213
- #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2214
- #endif // !defined(ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
2215
-
2216
- #if !defined(ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT)
2217
- #if defined(ASIO_HAS_VARIADIC_TEMPLATES)
2218
-
2219
- template <typename Prop, typename... SupportableProperties>
2220
- struct prefer_member<
2221
- execution::any_executor<SupportableProperties...>, Prop,
2222
- typename enable_if<
2223
- execution::detail::supportable_properties<
2224
- 0, void(SupportableProperties...)>::template
2225
- find_convertible_preferable_property<Prop>::value
2226
- >::type>
2227
- {
2228
- static const bool is_valid = true;
2229
- static const bool is_noexcept = false;
2230
- typedef execution::any_executor<SupportableProperties...> result_type;
2231
- };
2232
-
2233
- #else // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2234
-
2235
- #define ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF(n) \
2236
- template <typename Prop, ASIO_VARIADIC_TPARAMS(n)> \
2237
- struct prefer_member< \
2238
- execution::any_executor<ASIO_VARIADIC_TARGS(n)>, Prop, \
2239
- typename enable_if< \
2240
- execution::detail::supportable_properties< \
2241
- 0, void(ASIO_VARIADIC_TARGS(n))>::template \
2242
- find_convertible_preferable_property<Prop>::value \
2243
- >::type> \
2244
- { \
2245
- static const bool is_valid = true; \
2246
- static const bool is_noexcept = false; \
2247
- typedef execution::any_executor<ASIO_VARIADIC_TARGS(n)> result_type; \
2248
- }; \
2249
- /**/
2250
- ASIO_VARIADIC_GENERATE(ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF)
2251
- #undef ASIO_PRIVATE_ANY_EXECUTOR_PREFER_FREE_DEF
2252
-
2253
- #endif // defined(ASIO_HAS_VARIADIC_TEMPLATES)
2254
- #endif // !defined(ASIO_HAS_DEDUCED_PREFER_FREE_TRAIT)
2255
-
2256
- } // namespace traits
2257
-
2258
- #endif // defined(GENERATING_DOCUMENTATION)
2259
-
2260
- } // namespace asio
2261
-
2262
- #include "asio/detail/pop_options.hpp"
2263
-
2264
- #endif // ASIO_EXECUTION_ANY_EXECUTOR_HPP