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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +76 -5
  3. data/ext/extconf.rb +0 -47
  4. data/lib/couchbase.rb +1 -1
  5. data/lib/couchbase/analytics_options.rb +1 -59
  6. data/lib/couchbase/authenticator.rb +14 -0
  7. data/lib/couchbase/binary_collection.rb +61 -23
  8. data/lib/couchbase/binary_collection_options.rb +0 -74
  9. data/lib/couchbase/bucket.rb +47 -40
  10. data/lib/couchbase/cluster.rb +226 -133
  11. data/lib/couchbase/collection.rb +314 -86
  12. data/lib/couchbase/collection_options.rb +98 -231
  13. data/{bin/console → lib/couchbase/datastructures.rb} +4 -7
  14. data/lib/couchbase/datastructures/couchbase_list.rb +160 -0
  15. data/lib/couchbase/datastructures/couchbase_map.rb +194 -0
  16. data/lib/couchbase/datastructures/couchbase_queue.rb +134 -0
  17. data/lib/couchbase/datastructures/couchbase_set.rb +128 -0
  18. data/lib/couchbase/diagnostics.rb +181 -0
  19. data/lib/couchbase/errors.rb +79 -66
  20. data/lib/couchbase/json_transcoder.rb +3 -3
  21. data/lib/couchbase/libcouchbase.bundle +0 -0
  22. data/lib/couchbase/{common_options.rb → logger.rb} +25 -12
  23. data/lib/couchbase/management/analytics_index_manager.rb +37 -37
  24. data/lib/couchbase/management/bucket_manager.rb +61 -28
  25. data/lib/couchbase/management/collection_manager.rb +3 -3
  26. data/lib/couchbase/management/query_index_manager.rb +60 -15
  27. data/lib/couchbase/management/search_index_manager.rb +57 -13
  28. data/lib/couchbase/management/user_manager.rb +160 -50
  29. data/lib/couchbase/management/view_index_manager.rb +11 -5
  30. data/lib/couchbase/mutation_state.rb +13 -0
  31. data/lib/couchbase/options.rb +2094 -0
  32. data/lib/couchbase/query_options.rb +6 -105
  33. data/lib/couchbase/scope.rb +45 -8
  34. data/lib/couchbase/search_options.rb +98 -103
  35. data/lib/couchbase/subdoc.rb +87 -23
  36. data/lib/couchbase/version.rb +21 -2
  37. data/lib/couchbase/view_options.rb +4 -94
  38. metadata +19 -2150
  39. data/.github/workflows/tests-6.0.3.yml +0 -52
  40. data/.github/workflows/tests-dev-preview.yml +0 -55
  41. data/.github/workflows/tests.yml +0 -50
  42. data/.gitignore +0 -20
  43. data/.gitmodules +0 -21
  44. data/.idea/.gitignore +0 -5
  45. data/.idea/dictionaries/gem_terms.xml +0 -18
  46. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  47. data/.idea/vcs.xml +0 -13
  48. data/.yardopts +0 -1
  49. data/Gemfile +0 -24
  50. data/Rakefile +0 -51
  51. data/bin/check-cluster +0 -31
  52. data/bin/init-cluster +0 -82
  53. data/bin/setup +0 -24
  54. data/couchbase.gemspec +0 -47
  55. data/examples/analytics.rb +0 -221
  56. data/examples/crud.rb +0 -20
  57. data/examples/managing_analytics_indexes.rb +0 -72
  58. data/examples/managing_buckets.rb +0 -47
  59. data/examples/managing_collections.rb +0 -58
  60. data/examples/managing_query_indexes.rb +0 -63
  61. data/examples/managing_search_indexes.rb +0 -62
  62. data/examples/managing_view_indexes.rb +0 -54
  63. data/examples/query.rb +0 -18
  64. data/examples/query_with_consistency.rb +0 -76
  65. data/examples/search.rb +0 -187
  66. data/examples/search_with_consistency.rb +0 -84
  67. data/examples/subdocument.rb +0 -51
  68. data/examples/view.rb +0 -50
  69. data/ext/.clang-format +0 -15
  70. data/ext/.clang-tidy +0 -22
  71. data/ext/.cmake-format.yaml +0 -8
  72. data/ext/.gitignore +0 -2
  73. data/ext/.idea/.name +0 -1
  74. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  75. data/ext/.idea/ext.iml +0 -2
  76. data/ext/.idea/misc.xml +0 -4
  77. data/ext/.idea/modules.xml +0 -8
  78. data/ext/.idea/vcs.xml +0 -12
  79. data/ext/CMakeLists.txt +0 -163
  80. data/ext/LICENSE.txt +0 -202
  81. data/ext/build_version.hxx.in +0 -26
  82. data/ext/couchbase/bucket.hxx +0 -95
  83. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  84. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  85. data/ext/couchbase/cbsasl/client.cc +0 -48
  86. data/ext/couchbase/cbsasl/client.h +0 -127
  87. data/ext/couchbase/cbsasl/context.cc +0 -33
  88. data/ext/couchbase/cbsasl/context.h +0 -52
  89. data/ext/couchbase/cbsasl/error.h +0 -72
  90. data/ext/couchbase/cbsasl/mechanism.cc +0 -48
  91. data/ext/couchbase/cbsasl/mechanism.h +0 -55
  92. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  93. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  94. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -390
  95. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  96. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  97. data/ext/couchbase/cbsasl/scram-sha/stringutils.h +0 -48
  98. data/ext/couchbase/cluster.hxx +0 -175
  99. data/ext/couchbase/collections_manifest.hxx +0 -88
  100. data/ext/couchbase/configuration.hxx +0 -256
  101. data/ext/couchbase/configuration_monitor.hxx +0 -93
  102. data/ext/couchbase/couchbase.cxx +0 -5336
  103. data/ext/couchbase/document_id.hxx +0 -38
  104. data/ext/couchbase/error_map.hxx +0 -61
  105. data/ext/couchbase/errors.hxx +0 -691
  106. data/ext/couchbase/io/dns_client.hxx +0 -215
  107. data/ext/couchbase/io/dns_codec.hxx +0 -207
  108. data/ext/couchbase/io/dns_config.hxx +0 -116
  109. data/ext/couchbase/io/dns_message.hxx +0 -558
  110. data/ext/couchbase/io/http_message.hxx +0 -38
  111. data/ext/couchbase/io/http_parser.hxx +0 -174
  112. data/ext/couchbase/io/http_session.hxx +0 -316
  113. data/ext/couchbase/io/mcbp_message.hxx +0 -41
  114. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  115. data/ext/couchbase/io/mcbp_session.hxx +0 -889
  116. data/ext/couchbase/io/session_manager.hxx +0 -127
  117. data/ext/couchbase/mutation_token.hxx +0 -38
  118. data/ext/couchbase/operations.hxx +0 -91
  119. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -117
  120. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -103
  121. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -107
  122. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -104
  123. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -104
  124. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -91
  125. data/ext/couchbase/operations/analytics_index_create.hxx +0 -128
  126. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -110
  127. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -106
  128. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -102
  129. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -101
  130. data/ext/couchbase/operations/bucket_create.hxx +0 -139
  131. data/ext/couchbase/operations/bucket_drop.hxx +0 -66
  132. data/ext/couchbase/operations/bucket_flush.hxx +0 -66
  133. data/ext/couchbase/operations/bucket_get.hxx +0 -70
  134. data/ext/couchbase/operations/bucket_get_all.hxx +0 -63
  135. data/ext/couchbase/operations/bucket_settings.hxx +0 -111
  136. data/ext/couchbase/operations/bucket_update.hxx +0 -116
  137. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -61
  138. data/ext/couchbase/operations/collection_create.hxx +0 -91
  139. data/ext/couchbase/operations/collection_drop.hxx +0 -83
  140. data/ext/couchbase/operations/command.hxx +0 -152
  141. data/ext/couchbase/operations/design_document.hxx +0 -59
  142. data/ext/couchbase/operations/document_analytics.hxx +0 -293
  143. data/ext/couchbase/operations/document_decrement.hxx +0 -81
  144. data/ext/couchbase/operations/document_exists.hxx +0 -81
  145. data/ext/couchbase/operations/document_get.hxx +0 -63
  146. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -65
  147. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -65
  148. data/ext/couchbase/operations/document_get_projected.hxx +0 -243
  149. data/ext/couchbase/operations/document_increment.hxx +0 -83
  150. data/ext/couchbase/operations/document_insert.hxx +0 -75
  151. data/ext/couchbase/operations/document_lookup_in.hxx +0 -86
  152. data/ext/couchbase/operations/document_mutate_in.hxx +0 -97
  153. data/ext/couchbase/operations/document_query.hxx +0 -336
  154. data/ext/couchbase/operations/document_remove.hxx +0 -68
  155. data/ext/couchbase/operations/document_replace.hxx +0 -77
  156. data/ext/couchbase/operations/document_search.hxx +0 -355
  157. data/ext/couchbase/operations/document_touch.hxx +0 -61
  158. data/ext/couchbase/operations/document_unlock.hxx +0 -61
  159. data/ext/couchbase/operations/document_upsert.hxx +0 -75
  160. data/ext/couchbase/operations/document_view.hxx +0 -227
  161. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -86
  162. data/ext/couchbase/operations/query_index_create.hxx +0 -135
  163. data/ext/couchbase/operations/query_index_drop.hxx +0 -109
  164. data/ext/couchbase/operations/query_index_get_all.hxx +0 -107
  165. data/ext/couchbase/operations/scope_create.hxx +0 -82
  166. data/ext/couchbase/operations/scope_drop.hxx +0 -80
  167. data/ext/couchbase/operations/scope_get_all.hxx +0 -74
  168. data/ext/couchbase/operations/search_index.hxx +0 -79
  169. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -92
  170. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -80
  171. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -80
  172. data/ext/couchbase/operations/search_index_control_query.hxx +0 -80
  173. data/ext/couchbase/operations/search_index_drop.hxx +0 -77
  174. data/ext/couchbase/operations/search_index_get.hxx +0 -80
  175. data/ext/couchbase/operations/search_index_get_all.hxx +0 -82
  176. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -81
  177. data/ext/couchbase/operations/search_index_upsert.hxx +0 -106
  178. data/ext/couchbase/operations/view_index_drop.hxx +0 -67
  179. data/ext/couchbase/operations/view_index_get.hxx +0 -90
  180. data/ext/couchbase/operations/view_index_get_all.hxx +0 -125
  181. data/ext/couchbase/operations/view_index_upsert.hxx +0 -87
  182. data/ext/couchbase/platform/base64.cc +0 -234
  183. data/ext/couchbase/platform/base64.h +0 -47
  184. data/ext/couchbase/platform/random.cc +0 -119
  185. data/ext/couchbase/platform/random.h +0 -39
  186. data/ext/couchbase/platform/string_hex.cc +0 -99
  187. data/ext/couchbase/platform/string_hex.h +0 -50
  188. data/ext/couchbase/platform/uuid.cc +0 -96
  189. data/ext/couchbase/platform/uuid.h +0 -56
  190. data/ext/couchbase/protocol/client_opcode.hxx +0 -260
  191. data/ext/couchbase/protocol/client_request.hxx +0 -160
  192. data/ext/couchbase/protocol/client_response.hxx +0 -218
  193. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -81
  194. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -187
  195. data/ext/couchbase/protocol/cmd_exists.hxx +0 -171
  196. data/ext/couchbase/protocol/cmd_get.hxx +0 -122
  197. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -142
  198. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -142
  199. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -124
  200. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -117
  201. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -99
  202. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -126
  203. data/ext/couchbase/protocol/cmd_hello.hxx +0 -146
  204. data/ext/couchbase/protocol/cmd_increment.hxx +0 -187
  205. data/ext/couchbase/protocol/cmd_info.hxx +0 -36
  206. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  207. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -218
  208. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -317
  209. data/ext/couchbase/protocol/cmd_remove.hxx +0 -134
  210. data/ext/couchbase/protocol/cmd_replace.hxx +0 -172
  211. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -106
  212. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -100
  213. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -104
  214. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -85
  215. data/ext/couchbase/protocol/cmd_touch.hxx +0 -102
  216. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -95
  217. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -172
  218. data/ext/couchbase/protocol/datatype.hxx +0 -48
  219. data/ext/couchbase/protocol/durability_level.hxx +0 -67
  220. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  221. data/ext/couchbase/protocol/hello_feature.hxx +0 -255
  222. data/ext/couchbase/protocol/magic.hxx +0 -83
  223. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  224. data/ext/couchbase/protocol/server_request.hxx +0 -122
  225. data/ext/couchbase/protocol/status.hxx +0 -333
  226. data/ext/couchbase/protocol/unsigned_leb128.h +0 -195
  227. data/ext/couchbase/service_type.hxx +0 -60
  228. data/ext/couchbase/timeout_defaults.hxx +0 -34
  229. data/ext/couchbase/utils/byteswap.hxx +0 -33
  230. data/ext/couchbase/utils/connection_string.hxx +0 -231
  231. data/ext/couchbase/utils/crc32.hxx +0 -48
  232. data/ext/couchbase/utils/url_codec.hxx +0 -225
  233. data/ext/couchbase/version.hxx +0 -24
  234. data/ext/test/main.cxx +0 -58
  235. data/ext/third_party/asio/.appveyor.yml +0 -107
  236. data/ext/third_party/asio/.cirrus.yml +0 -16
  237. data/ext/third_party/asio/.gitignore +0 -3
  238. data/ext/third_party/asio/.travis.yml +0 -323
  239. data/ext/third_party/asio/asio/.gitignore +0 -23
  240. data/ext/third_party/asio/asio/COPYING +0 -4
  241. data/ext/third_party/asio/asio/INSTALL +0 -5
  242. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  243. data/ext/third_party/asio/asio/Makefile.am +0 -19
  244. data/ext/third_party/asio/asio/README +0 -4
  245. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  246. data/ext/third_party/asio/asio/autogen.sh +0 -55
  247. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  248. data/ext/third_party/asio/asio/boostify.pl +0 -603
  249. data/ext/third_party/asio/asio/configure.ac +0 -182
  250. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  251. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  252. data/ext/third_party/asio/asio/include/asio.hpp +0 -147
  253. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -131
  254. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -149
  255. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -589
  256. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -123
  257. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1210
  258. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  259. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  260. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1202
  261. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -756
  262. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  263. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  264. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  265. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2495
  266. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  267. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  268. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1049
  269. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  270. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  271. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -763
  272. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -580
  273. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2494
  274. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  275. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  276. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  277. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  278. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  279. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  280. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  281. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -100
  282. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  283. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  284. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  285. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  286. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  287. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -127
  288. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -62
  289. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  290. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  291. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  292. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -45
  293. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  294. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -816
  295. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  296. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -544
  297. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  298. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  299. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  300. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  301. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -83
  302. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  303. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -112
  304. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  305. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1499
  306. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  307. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  308. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  309. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  310. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -280
  311. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  312. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -121
  313. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -130
  314. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -130
  315. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  316. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  317. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  318. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  319. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -104
  320. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  321. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  322. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  323. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  324. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  325. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  326. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  327. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  328. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  329. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  330. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -242
  331. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  332. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -57
  333. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -238
  334. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  335. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -113
  336. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  337. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  338. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -474
  339. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  340. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  341. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  342. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  343. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  344. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -358
  345. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  346. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  347. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  348. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  349. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  350. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  351. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  352. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  353. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  354. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -152
  355. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  356. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  357. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -617
  358. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  359. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  360. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  361. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  362. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -667
  363. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3575
  364. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  365. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -179
  366. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  367. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -118
  368. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -177
  369. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  370. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  371. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  372. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  373. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  374. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  375. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -594
  376. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  377. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  378. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  379. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  380. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  381. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  382. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  383. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  384. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  385. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  386. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  387. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  388. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  389. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -193
  390. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  391. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  392. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  393. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  394. data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +0 -26
  395. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  396. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  397. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -70
  398. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  399. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  400. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  401. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -100
  402. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  403. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  404. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  405. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  406. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  407. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  408. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  409. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  410. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  411. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  412. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  413. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  414. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  415. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  416. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  417. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -162
  418. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  419. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  420. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  421. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  422. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  423. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  424. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  425. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  426. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -391
  427. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -92
  428. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -238
  429. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -230
  430. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -116
  431. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -137
  432. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -142
  433. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -135
  434. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -136
  435. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -134
  436. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -505
  437. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -518
  438. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -92
  439. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  440. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  441. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -65
  442. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  443. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  444. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  445. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -138
  446. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  447. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -148
  448. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  449. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  450. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -224
  451. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  452. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  453. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  454. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  455. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  456. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  457. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  458. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  459. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -88
  460. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  461. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  462. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  463. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  464. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -337
  465. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  466. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  467. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  468. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  469. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  470. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -176
  471. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  472. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  473. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  474. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  475. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  476. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -142
  477. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -142
  478. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  479. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  480. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  481. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  482. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -125
  483. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  484. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  485. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  486. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  487. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  488. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  489. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  490. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  491. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  492. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -89
  493. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -151
  494. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -87
  495. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  496. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -151
  497. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  498. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  499. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  500. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -113
  501. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  502. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -106
  503. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -338
  504. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -123
  505. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  506. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -92
  507. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -159
  508. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  509. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -308
  510. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -130
  511. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -120
  512. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -129
  513. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -121
  514. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -114
  515. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  516. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  517. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  518. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -123
  519. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  520. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  521. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  522. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  523. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  524. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  525. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  526. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  527. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  528. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -121
  529. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  530. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -94
  531. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -115
  532. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -106
  533. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  534. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  535. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  536. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  537. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  538. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -73
  539. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -291
  540. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -118
  541. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  542. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  543. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  544. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -341
  545. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -170
  546. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  547. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  548. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  549. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  550. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  551. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  552. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  553. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -81
  554. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  555. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -85
  556. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  557. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -422
  558. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -491
  559. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -471
  560. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -160
  561. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -533
  562. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -872
  563. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -113
  564. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  565. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -113
  566. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  567. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  568. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  569. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  570. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -387
  571. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -38
  572. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -52
  573. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -353
  574. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  575. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -113
  576. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1135
  577. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -699
  578. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3150
  579. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -372
  580. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  581. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  582. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -490
  583. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  584. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -82
  585. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  586. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -80
  587. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -85
  588. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -127
  589. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -87
  590. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -276
  591. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -887
  592. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1043
  593. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -624
  594. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -872
  595. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -374
  596. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  597. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  598. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  599. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  600. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  601. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  602. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  603. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  604. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  605. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  606. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  607. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  608. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  609. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  610. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  611. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  612. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  613. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  614. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  615. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  616. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  617. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  618. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  619. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  620. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  621. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  622. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  623. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  624. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  625. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  626. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  627. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  628. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  629. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  630. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  631. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  632. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  633. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  634. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  635. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  636. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  637. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  638. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  639. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  640. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  641. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  642. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  643. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  644. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  645. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  646. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  647. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  648. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  649. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  650. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  651. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  652. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  653. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  654. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -123
  655. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  656. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  657. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  658. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  659. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  660. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  661. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  662. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  663. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -336
  664. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  665. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  666. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  667. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -114
  668. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -160
  669. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -62
  670. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -336
  671. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  672. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -381
  673. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  674. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  675. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  676. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -67
  677. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -64
  678. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -135
  679. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  680. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -67
  681. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  682. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  683. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  684. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  685. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  686. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  687. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  688. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  689. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  690. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -885
  691. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  692. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  693. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  694. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  695. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -314
  696. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  697. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -81
  698. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  699. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -129
  700. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  701. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  702. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  703. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -235
  704. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  705. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  706. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -34
  707. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  708. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  709. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  710. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -203
  711. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  712. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  713. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  714. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -110
  715. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  716. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  717. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  718. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  719. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  720. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  721. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  722. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  723. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  724. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  725. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -143
  726. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  727. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  728. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  729. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  730. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  731. data/ext/third_party/asio/asio/release.pl +0 -440
  732. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  733. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  734. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  735. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  736. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  737. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  738. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  739. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  740. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  741. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  742. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  743. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  744. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  745. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  746. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  747. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  748. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  749. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  750. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  751. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  752. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  753. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  754. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  755. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  756. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  757. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  758. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  759. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  760. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  761. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  762. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  763. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  764. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  765. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  766. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  767. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  768. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  769. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  770. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  771. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  772. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  773. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  774. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  775. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  776. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  777. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  778. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  779. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  780. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  781. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  782. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  783. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  784. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  785. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  786. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  787. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  788. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  789. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  790. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  791. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  792. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  793. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  794. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  795. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  796. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  797. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  798. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  799. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  800. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  801. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  802. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  803. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  804. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  805. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  806. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  807. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  808. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  809. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  810. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  811. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  812. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  813. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  814. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  815. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  816. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  817. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  818. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  819. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  820. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  821. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  822. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  823. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  824. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  825. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  826. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  827. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  828. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  829. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  830. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  831. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  832. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  833. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  834. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  835. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  836. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  837. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  838. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  839. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  840. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  841. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  842. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  843. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  844. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  845. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  846. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  847. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  848. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  849. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  850. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  851. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  852. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  853. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  854. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  855. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  856. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  857. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  858. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  859. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  860. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  861. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  862. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  863. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  864. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  865. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  866. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  867. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  868. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  869. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  870. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  871. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  872. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  873. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  874. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  875. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  876. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  877. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  878. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  879. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  880. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  881. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  882. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  883. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  884. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  885. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  886. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  887. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  888. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  889. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  890. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  891. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  892. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  893. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  894. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  895. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  896. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  897. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  898. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  899. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  900. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  901. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  902. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  903. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  904. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  905. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  906. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  907. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  908. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  909. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  910. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  911. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  912. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  913. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  914. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  915. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  916. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  917. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  918. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  919. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  920. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  921. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  922. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  923. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  924. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  925. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  926. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  927. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  928. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  929. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  930. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  931. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  932. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  933. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  934. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  935. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  936. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  937. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  938. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  939. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  940. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  941. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  942. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  943. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  944. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  945. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  946. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  947. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  948. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  949. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  950. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  951. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  952. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  953. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  954. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  955. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  956. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  957. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  958. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  959. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  960. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  961. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  962. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  963. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  964. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  965. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  966. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  967. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  968. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  969. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  970. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  971. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  972. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  973. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  974. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  975. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  976. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  977. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  978. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  979. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  980. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  981. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  982. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  983. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  984. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  985. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  986. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  987. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  988. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  989. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  990. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  991. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  992. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  993. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  994. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  995. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  996. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  997. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  998. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  999. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  1000. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  1001. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  1002. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  1003. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  1004. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  1005. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  1006. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  1007. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  1008. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  1009. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  1010. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  1011. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  1012. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  1013. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  1014. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  1015. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  1016. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  1017. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  1018. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  1019. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  1020. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  1021. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  1022. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  1023. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  1024. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  1025. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  1026. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  1027. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  1028. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  1029. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  1030. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  1031. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  1032. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  1033. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  1034. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  1035. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  1036. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  1037. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  1038. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  1039. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  1040. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  1041. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  1042. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  1043. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  1044. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  1045. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  1046. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  1047. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  1048. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  1049. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  1050. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  1051. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  1052. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  1053. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  1054. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  1055. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  1056. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  1057. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  1058. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  1059. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  1060. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  1061. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  1062. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  1063. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  1064. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  1065. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  1066. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  1067. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  1068. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  1069. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  1070. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  1071. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  1072. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  1073. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  1074. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  1075. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  1076. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  1077. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  1078. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  1079. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  1080. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  1081. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  1082. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  1083. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  1084. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  1085. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  1086. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  1087. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  1088. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  1089. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  1090. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  1091. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  1092. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  1093. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  1094. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  1095. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  1096. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  1097. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  1098. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  1099. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  1100. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  1101. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  1102. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  1103. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  1104. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  1105. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  1106. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  1107. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  1108. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  1109. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  1110. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  1111. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  1112. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  1113. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  1114. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  1115. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  1116. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  1117. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  1118. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  1119. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  1120. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  1121. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  1122. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  1123. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  1124. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  1125. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  1126. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  1127. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  1128. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  1129. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  1130. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  1131. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  1132. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  1133. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  1134. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  1135. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  1136. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  1137. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  1138. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  1139. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  1140. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  1141. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  1142. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  1143. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  1144. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  1145. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  1146. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  1147. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  1148. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  1149. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  1150. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  1151. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  1152. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  1153. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  1154. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  1155. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  1156. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  1157. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  1158. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  1159. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  1160. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  1161. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  1162. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  1163. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  1164. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  1165. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  1166. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  1167. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  1168. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  1169. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  1170. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  1171. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  1172. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  1173. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  1174. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  1175. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  1176. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  1177. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  1178. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  1179. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  1180. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  1181. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  1182. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  1183. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  1184. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  1185. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  1186. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  1187. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  1188. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  1189. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  1190. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  1191. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  1192. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  1193. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  1194. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  1195. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  1196. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  1197. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  1198. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  1199. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  1200. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  1201. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  1202. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  1203. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  1204. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  1205. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  1206. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  1207. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  1208. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  1209. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  1210. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  1211. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  1212. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  1213. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  1214. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  1215. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  1216. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  1217. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  1218. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  1219. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  1220. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  1221. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  1222. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  1223. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  1224. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  1225. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  1226. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  1227. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  1228. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  1229. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  1230. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  1231. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  1232. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  1233. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  1234. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  1235. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  1236. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  1237. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  1238. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  1239. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  1240. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  1241. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  1242. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  1243. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  1244. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  1245. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  1246. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  1247. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  1248. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  1249. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  1250. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  1251. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  1252. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  1253. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  1254. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  1255. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  1256. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  1257. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  1258. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  1259. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  1260. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  1261. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  1262. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  1263. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  1264. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  1265. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  1266. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  1267. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  1268. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  1269. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  1270. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  1271. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  1272. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  1273. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  1274. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  1275. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  1276. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  1277. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  1278. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  1279. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  1280. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  1281. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  1282. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  1283. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  1284. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  1285. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  1286. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  1287. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  1288. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  1289. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  1290. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  1291. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  1292. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  1293. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  1294. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  1295. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  1296. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  1297. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  1298. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  1299. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  1300. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  1301. data/ext/third_party/asio/asio/tsify.pl +0 -574
  1302. data/ext/third_party/gsl/.clang-format +0 -34
  1303. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  1304. data/ext/third_party/gsl/.gitignore +0 -16
  1305. data/ext/third_party/gsl/.travis.yml +0 -551
  1306. data/ext/third_party/gsl/CMakeLists.txt +0 -119
  1307. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  1308. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  1309. data/ext/third_party/gsl/GSL.natvis +0 -98
  1310. data/ext/third_party/gsl/LICENSE +0 -21
  1311. data/ext/third_party/gsl/README.md +0 -124
  1312. data/ext/third_party/gsl/ThirdPartyNotices.txt +0 -41
  1313. data/ext/third_party/gsl/appveyor.yml +0 -128
  1314. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  1315. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  1316. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  1317. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  1318. data/ext/third_party/gsl/include/gsl/gsl_util +0 -171
  1319. data/ext/third_party/gsl/include/gsl/multi_span +0 -2273
  1320. data/ext/third_party/gsl/include/gsl/pointers +0 -301
  1321. data/ext/third_party/gsl/include/gsl/span +0 -764
  1322. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  1323. data/ext/third_party/gsl/include/gsl/string_span +0 -716
  1324. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  1325. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  1326. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  1327. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  1328. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  1329. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  1330. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  1331. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  1332. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  1333. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  1334. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  1335. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  1336. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  1337. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  1338. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  1339. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  1340. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  1341. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  1342. data/ext/third_party/http_parser/.gitignore +0 -30
  1343. data/ext/third_party/http_parser/.mailmap +0 -8
  1344. data/ext/third_party/http_parser/.travis.yml +0 -13
  1345. data/ext/third_party/http_parser/AUTHORS +0 -68
  1346. data/ext/third_party/http_parser/LICENSE-MIT +0 -19
  1347. data/ext/third_party/http_parser/README.md +0 -246
  1348. data/ext/third_party/http_parser/bench.c +0 -128
  1349. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  1350. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  1351. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  1352. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  1353. data/ext/third_party/http_parser/http_parser.c +0 -2568
  1354. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  1355. data/ext/third_party/http_parser/http_parser.h +0 -447
  1356. data/ext/third_party/http_parser/test.c +0 -4600
  1357. data/ext/third_party/json/.appveyor.yml +0 -44
  1358. data/ext/third_party/json/.clang-format +0 -84
  1359. data/ext/third_party/json/.conan/build.py +0 -80
  1360. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  1361. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  1362. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  1363. data/ext/third_party/json/.gitignore +0 -3
  1364. data/ext/third_party/json/.travis.yml +0 -173
  1365. data/ext/third_party/json/CMakeLists.txt +0 -44
  1366. data/ext/third_party/json/LICENSE +0 -21
  1367. data/ext/third_party/json/LICENSE.double-conversion +0 -32
  1368. data/ext/third_party/json/LICENSE.itoa +0 -19
  1369. data/ext/third_party/json/LICENSE.ryu +0 -201
  1370. data/ext/third_party/json/README.md +0 -149
  1371. data/ext/third_party/json/conanfile.py +0 -28
  1372. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  1373. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  1374. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  1375. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  1376. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  1377. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  1378. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  1379. data/ext/third_party/json/doc/Changelog.md +0 -31
  1380. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  1381. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  1382. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  1383. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  1384. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  1385. data/ext/third_party/json/doc/Interoperability.md +0 -75
  1386. data/ext/third_party/json/doc/Overview.md +0 -24
  1387. data/ext/third_party/json/doc/Overview.png +0 -0
  1388. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  1389. data/ext/third_party/json/doc/README.md +0 -78
  1390. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  1391. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  1392. data/ext/third_party/json/doc/Types.png +0 -0
  1393. data/ext/third_party/json/doc/Value-Class.md +0 -525
  1394. data/ext/third_party/json/include/tao/json.hpp +0 -45
  1395. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -941
  1396. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  1397. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  1398. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  1399. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  1400. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  1401. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -250
  1402. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  1403. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  1404. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  1405. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -103
  1406. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  1407. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -267
  1408. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  1409. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  1410. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  1411. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -127
  1412. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -18
  1413. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  1414. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  1415. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  1416. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  1417. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  1418. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  1419. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  1420. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  1421. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  1422. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  1423. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -417
  1424. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  1425. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  1426. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  1427. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  1428. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  1429. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  1430. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  1431. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  1432. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  1433. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  1434. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  1435. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  1436. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -69
  1437. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  1438. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  1439. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  1440. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  1441. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  1442. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  1443. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  1444. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  1445. data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +0 -59
  1446. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  1447. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -115
  1448. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1851
  1449. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  1450. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -90
  1451. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  1452. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  1453. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -89
  1454. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  1455. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  1456. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  1457. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  1458. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  1459. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  1460. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  1461. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  1462. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  1463. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  1464. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -265
  1465. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  1466. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  1467. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  1468. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  1469. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  1470. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  1471. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  1472. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  1473. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  1474. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  1475. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  1476. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  1477. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  1478. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  1479. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  1480. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  1481. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  1482. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  1483. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  1484. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  1485. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  1486. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  1487. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  1488. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  1489. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  1490. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  1491. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  1492. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  1493. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  1494. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  1495. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  1496. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  1497. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -170
  1498. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  1499. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  1500. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -53
  1501. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  1502. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  1503. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  1504. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  1505. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  1506. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  1507. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  1508. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  1509. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  1510. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  1511. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -51
  1512. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -67
  1513. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  1514. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  1515. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  1516. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  1517. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  1518. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  1519. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  1520. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  1521. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  1522. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  1523. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  1524. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -253
  1525. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -68
  1526. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -200
  1527. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -200
  1528. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -105
  1529. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -55
  1530. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -446
  1531. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  1532. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  1533. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -561
  1534. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -104
  1535. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -225
  1536. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -86
  1537. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -62
  1538. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -44
  1539. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  1540. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  1541. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  1542. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  1543. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -33
  1544. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  1545. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  1546. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  1547. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  1548. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  1549. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  1550. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  1551. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  1552. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -44
  1553. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -107
  1554. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  1555. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  1556. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +0 -21
  1557. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  1558. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  1559. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -50
  1560. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  1561. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  1562. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -53
  1563. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -31
  1564. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  1565. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  1566. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  1567. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -36
  1568. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -44
  1569. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  1570. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  1571. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  1572. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  1573. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  1574. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +0 -140
  1575. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -44
  1576. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -33
  1577. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  1578. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  1579. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -44
  1580. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +0 -62
  1581. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +0 -206
  1582. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +0 -106
  1583. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -31
  1584. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -31
  1585. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -32
  1586. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -83
  1587. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -219
  1588. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  1589. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -114
  1590. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -25
  1591. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -25
  1592. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -56
  1593. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  1594. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -53
  1595. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -48
  1596. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -19
  1597. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  1598. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  1599. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -40
  1600. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  1601. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -52
  1602. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  1603. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  1604. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  1605. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  1606. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -20
  1607. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  1608. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -82
  1609. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -25
  1610. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -23
  1611. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -72
  1612. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -53
  1613. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -44
  1614. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  1615. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  1616. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  1617. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  1618. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +0 -54
  1619. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +0 -34
  1620. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +0 -45
  1621. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +0 -33
  1622. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +0 -54
  1623. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +0 -43
  1624. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -90
  1625. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  1626. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -53
  1627. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -53
  1628. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -51
  1629. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -93
  1630. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +0 -77
  1631. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -69
  1632. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -66
  1633. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  1634. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -79
  1635. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -46
  1636. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  1637. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  1638. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  1639. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -73
  1640. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +0 -25
  1641. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -60
  1642. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -47
  1643. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  1644. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -49
  1645. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  1646. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  1647. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  1648. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -84
  1649. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -33
  1650. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -73
  1651. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -381
  1652. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  1653. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  1654. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -20
  1655. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -53
  1656. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -69
  1657. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -75
  1658. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -74
  1659. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  1660. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  1661. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  1662. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -67
  1663. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -66
  1664. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  1665. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +0 -62
  1666. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +0 -62
  1667. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +0 -63
  1668. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +0 -36
  1669. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +0 -49
  1670. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +0 -49
  1671. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  1672. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  1673. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  1674. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  1675. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  1676. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  1677. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  1678. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  1679. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  1680. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  1681. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  1682. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  1683. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  1684. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  1685. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  1686. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  1687. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -59
  1688. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  1689. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  1690. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  1691. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  1692. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  1693. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  1694. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  1695. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  1696. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  1697. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  1698. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -113
  1699. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  1700. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  1701. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  1702. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  1703. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  1704. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  1705. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  1706. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  1707. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  1708. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  1709. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  1710. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  1711. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  1712. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  1713. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  1714. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  1715. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  1716. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  1717. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  1718. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  1719. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -256
  1720. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  1721. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  1722. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -263
  1723. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  1724. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  1725. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  1726. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -18
  1727. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  1728. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  1729. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  1730. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  1731. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  1732. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  1733. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  1734. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  1735. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  1736. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  1737. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  1738. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -249
  1739. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  1740. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  1741. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  1742. data/ext/third_party/json/include/tao/json/operators.hpp +0 -494
  1743. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -306
  1744. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  1745. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  1746. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -143
  1747. data/ext/third_party/json/include/tao/json/span.hpp +0 -568
  1748. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  1749. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  1750. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  1751. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  1752. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  1753. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -18
  1754. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  1755. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  1756. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  1757. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  1758. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  1759. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  1760. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  1761. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  1762. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  1763. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  1764. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -413
  1765. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  1766. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  1767. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  1768. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  1769. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  1770. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  1771. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  1772. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  1773. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  1774. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  1775. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  1776. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  1777. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  1778. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  1779. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  1780. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  1781. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  1782. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  1783. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  1784. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  1785. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  1786. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  1787. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  1788. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  1789. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  1790. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  1791. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  1792. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  1793. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  1794. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  1795. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  1796. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  1797. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  1798. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  1799. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  1800. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  1801. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  1802. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  1803. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  1804. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  1805. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  1806. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  1807. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  1808. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  1809. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  1810. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  1811. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  1812. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  1813. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  1814. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  1815. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  1816. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  1817. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  1818. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  1819. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  1820. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  1821. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  1822. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  1823. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  1824. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  1825. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  1826. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  1827. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  1828. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  1829. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  1830. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  1831. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  1832. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  1833. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  1834. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  1835. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  1836. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  1837. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  1838. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  1839. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  1840. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  1841. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  1842. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  1843. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  1844. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  1845. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  1846. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  1847. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  1848. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  1849. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  1850. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  1851. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  1852. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  1853. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  1854. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  1855. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  1856. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  1857. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  1858. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  1859. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  1860. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  1861. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  1862. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  1863. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  1864. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  1865. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  1866. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  1867. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  1868. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  1869. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  1870. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  1871. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  1872. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  1873. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  1874. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  1875. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  1876. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  1877. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  1878. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  1879. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  1880. data/ext/third_party/json/tests/blns.json +0 -496
  1881. data/ext/third_party/json/tests/canada.json +0 -9
  1882. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  1883. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  1884. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  1885. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  1886. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  1887. data/ext/third_party/json/tests/draft4/default.json +0 -49
  1888. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  1889. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  1890. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  1891. data/ext/third_party/json/tests/draft4/items.json +0 -46
  1892. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  1893. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  1894. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  1895. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  1896. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  1897. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  1898. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  1899. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  1900. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  1901. data/ext/third_party/json/tests/draft4/not.json +0 -96
  1902. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  1903. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  1904. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  1905. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  1906. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  1907. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  1908. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  1909. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  1910. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  1911. data/ext/third_party/json/tests/draft4/required.json +0 -44
  1912. data/ext/third_party/json/tests/draft4/type.json +0 -345
  1913. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  1914. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  1915. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  1916. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1917. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  1918. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  1919. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  1920. data/ext/third_party/json/tests/twitter.json +0 -15482
  1921. data/ext/third_party/snappy/.appveyor.yml +0 -36
  1922. data/ext/third_party/snappy/.gitignore +0 -8
  1923. data/ext/third_party/snappy/.travis.yml +0 -98
  1924. data/ext/third_party/snappy/AUTHORS +0 -1
  1925. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  1926. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  1927. data/ext/third_party/snappy/COPYING +0 -54
  1928. data/ext/third_party/snappy/NEWS +0 -188
  1929. data/ext/third_party/snappy/README.md +0 -148
  1930. data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +0 -33
  1931. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  1932. data/ext/third_party/snappy/docs/README.md +0 -72
  1933. data/ext/third_party/snappy/format_description.txt +0 -110
  1934. data/ext/third_party/snappy/framing_format.txt +0 -135
  1935. data/ext/third_party/snappy/snappy-c.cc +0 -90
  1936. data/ext/third_party/snappy/snappy-c.h +0 -138
  1937. data/ext/third_party/snappy/snappy-internal.h +0 -315
  1938. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  1939. data/ext/third_party/snappy/snappy-sinksource.h +0 -182
  1940. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  1941. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  1942. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  1943. data/ext/third_party/snappy/snappy-test.cc +0 -613
  1944. data/ext/third_party/snappy/snappy-test.h +0 -526
  1945. data/ext/third_party/snappy/snappy.cc +0 -1770
  1946. data/ext/third_party/snappy/snappy.h +0 -209
  1947. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  1948. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  1949. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  1950. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  1951. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  1952. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  1953. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  1954. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  1955. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  1956. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  1957. data/ext/third_party/snappy/testdata/html +0 -1
  1958. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  1959. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  1960. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  1961. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  1962. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  1963. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  1964. data/ext/third_party/spdlog/.clang-format +0 -108
  1965. data/ext/third_party/spdlog/.clang-tidy +0 -54
  1966. data/ext/third_party/spdlog/.gitattributes +0 -1
  1967. data/ext/third_party/spdlog/.gitignore +0 -83
  1968. data/ext/third_party/spdlog/.travis.yml +0 -112
  1969. data/ext/third_party/spdlog/CMakeLists.txt +0 -324
  1970. data/ext/third_party/spdlog/INSTALL +0 -24
  1971. data/ext/third_party/spdlog/LICENSE +0 -26
  1972. data/ext/third_party/spdlog/README.md +0 -423
  1973. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1974. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  1975. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  1976. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  1977. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  1978. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  1979. data/ext/third_party/spdlog/bench/utils.h +0 -34
  1980. data/ext/third_party/spdlog/cmake/ide.cmake +0 -18
  1981. data/ext/third_party/spdlog/cmake/pch.h.in +0 -258
  1982. data/ext/third_party/spdlog/cmake/spdlog.pc.in +0 -13
  1983. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  1984. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  1985. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  1986. data/ext/third_party/spdlog/cmake/version.rc.in +0 -42
  1987. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  1988. data/ext/third_party/spdlog/example/example.cpp +0 -282
  1989. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  1990. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  1991. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  1992. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +0 -45
  1993. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +0 -36
  1994. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -103
  1995. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -28
  1996. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1997. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  1998. data/ext/third_party/spdlog/include/spdlog/common.h +0 -246
  1999. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  2000. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  2001. data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +0 -141
  2002. data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +0 -32
  2003. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  2004. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  2005. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -108
  2006. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  2007. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  2008. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  2009. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  2010. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  2011. data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +0 -49
  2012. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  2013. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  2014. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  2015. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  2016. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -299
  2017. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -112
  2018. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  2019. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  2020. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -145
  2021. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  2022. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  2023. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  2024. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  2025. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +0 -27
  2026. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1119
  2027. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -568
  2028. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -595
  2029. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1789
  2030. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1403
  2031. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3648
  2032. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  2033. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -143
  2034. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  2035. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -721
  2036. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -387
  2037. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -25
  2038. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  2039. data/ext/third_party/spdlog/include/spdlog/formatter.h +0 -18
  2040. data/ext/third_party/spdlog/include/spdlog/fwd.h +0 -14
  2041. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -253
  2042. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -392
  2043. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1358
  2044. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  2045. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  2046. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  2047. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  2048. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  2049. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  2050. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  2051. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  2052. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  2053. data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +0 -97
  2054. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  2055. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  2056. data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +0 -44
  2057. data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +0 -50
  2058. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -72
  2059. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  2060. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  2061. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  2062. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  2063. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  2064. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  2065. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -94
  2066. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -80
  2067. data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +0 -109
  2068. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  2069. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  2070. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  2071. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -180
  2072. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  2073. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -115
  2074. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -340
  2075. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  2076. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  2077. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  2078. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  2079. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  2080. data/ext/third_party/spdlog/src/async.cpp +0 -13
  2081. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  2082. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  2083. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  2084. data/ext/third_party/spdlog/src/fmt.cpp +0 -189
  2085. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  2086. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
  2087. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  2088. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  2089. data/ext/third_party/spdlog/tests/catch.license +0 -23
  2090. data/ext/third_party/spdlog/tests/includes.h +0 -26
  2091. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  2092. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  2093. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  2094. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  2095. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  2096. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  2097. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  2098. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  2099. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  2100. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  2101. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  2102. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  2103. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  2104. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  2105. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  2106. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  2107. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  2108. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  2109. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  2110. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  2111. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  2112. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  2113. data/ext/third_party/spdlog/tests/utils.h +0 -18
  2114. data/rbi/couchbase.rbi +0 -79
@@ -1,171 +0,0 @@
1
- ///////////////////////////////////////////////////////////////////////////////
2
- //
3
- // Copyright (c) 2015 Microsoft Corporation. All rights reserved.
4
- //
5
- // This code is licensed under the MIT License (MIT).
6
- //
7
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
11
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
13
- // THE SOFTWARE.
14
- //
15
- ///////////////////////////////////////////////////////////////////////////////
16
-
17
- #ifndef GSL_UTIL_H
18
- #define GSL_UTIL_H
19
-
20
- #include <gsl/gsl_assert> // for Expects
21
-
22
- #include <array>
23
- #include <cstddef> // for ptrdiff_t, size_t
24
- #include <initializer_list> // for initializer_list
25
- #include <type_traits> // for is_signed, integral_constant
26
- #include <utility> // for exchange, forward
27
-
28
- #if defined(_MSC_VER) && !defined(__clang__)
29
-
30
- #pragma warning(push)
31
- #pragma warning(disable : 4127) // conditional expression is constant
32
-
33
- #if _MSC_VER < 1910
34
- #pragma push_macro("constexpr")
35
- #define constexpr /*constexpr*/
36
- #endif // _MSC_VER < 1910
37
- #endif // _MSC_VER
38
-
39
- #if (defined(_MSC_VER) && _MSC_VER < 1910) || (!defined(__clang__) && defined(__GNUC__) && __GNUC__ < 6)
40
- #define GSL_CONSTEXPR_NARROW 0
41
- #else
42
- #define GSL_CONSTEXPR_NARROW 1
43
- #endif
44
-
45
- namespace gsl
46
- {
47
- //
48
- // GSL.util: utilities
49
- //
50
-
51
- // index type for all container indexes/subscripts/sizes
52
- using index = std::ptrdiff_t;
53
-
54
- // final_action allows you to ensure something gets run at the end of a scope
55
- template <class F>
56
- class final_action
57
- {
58
- public:
59
- explicit final_action(F f) noexcept : f_(std::move(f)) {}
60
-
61
- final_action(final_action&& other) noexcept : f_(std::move(other.f_)), invoke_(std::exchange(other.invoke_, false)) {}
62
-
63
- final_action(const final_action&) = delete;
64
- final_action& operator=(const final_action&) = delete;
65
- final_action& operator=(final_action&&) = delete;
66
-
67
- GSL_SUPPRESS(f.6) // NO-FORMAT: attribute // terminate if throws
68
- ~final_action() noexcept
69
- {
70
- if (invoke_) f_();
71
- }
72
-
73
- private:
74
- F f_;
75
- bool invoke_{true};
76
- };
77
-
78
- // finally() - convenience function to generate a final_action
79
- template <class F>
80
- final_action<F> finally(const F& f) noexcept
81
- {
82
- return final_action<F>(f);
83
- }
84
-
85
- template <class F>
86
- final_action<F> finally(F&& f) noexcept
87
- {
88
- return final_action<F>(std::forward<F>(f));
89
- }
90
-
91
- // narrow_cast(): a searchable way to do narrowing casts of values
92
- template <class T, class U>
93
- GSL_SUPPRESS(type.1) // NO-FORMAT: attribute
94
- constexpr T narrow_cast(U&& u) noexcept
95
- {
96
- return static_cast<T>(std::forward<U>(u));
97
- }
98
-
99
- struct narrowing_error : public std::exception
100
- {
101
- };
102
-
103
- namespace details
104
- {
105
- template <class T, class U>
106
- struct is_same_signedness
107
- : public std::integral_constant<bool, std::is_signed<T>::value == std::is_signed<U>::value>
108
- {
109
- };
110
- } // namespace details
111
-
112
- // narrow() : a checked version of narrow_cast() that throws if the cast changed the value
113
- template <class T, class U>
114
- GSL_SUPPRESS(type.1) // NO-FORMAT: attribute
115
- GSL_SUPPRESS(f.6) // NO-FORMAT: attribute // TODO: MSVC /analyze does not recognise noexcept(false)
116
- #if GSL_CONSTEXPR_NARROW
117
- constexpr
118
- #endif
119
- T narrow(U u) noexcept(false)
120
- {
121
- T t = narrow_cast<T>(u);
122
- if (static_cast<U>(t) != u) throw narrowing_error{};
123
- if (!details::is_same_signedness<T, U>::value && ((t < T{}) != (u < U{})))
124
- throw narrowing_error{};
125
- return t;
126
- }
127
-
128
- //
129
- // at() - Bounds-checked way of accessing builtin arrays, std::array, std::vector
130
- //
131
- template <class T, std::size_t N>
132
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
133
- GSL_SUPPRESS(bounds.2) // NO-FORMAT: attribute
134
- constexpr T& at(T (&arr)[N], const index i)
135
- {
136
- Expects(i >= 0 && i < narrow_cast<index>(N));
137
- return arr[narrow_cast<std::size_t>(i)];
138
- }
139
-
140
- template <class Cont>
141
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
142
- GSL_SUPPRESS(bounds.2) // NO-FORMAT: attribute
143
- constexpr auto at(Cont& cont, const index i) -> decltype(cont[cont.size()])
144
- {
145
- Expects(i >= 0 && i < narrow_cast<index>(cont.size()));
146
- using size_type = decltype(cont.size());
147
- return cont[narrow_cast<size_type>(i)];
148
- }
149
-
150
- template <class T>
151
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
152
- constexpr T at(const std::initializer_list<T> cont, const index i)
153
- {
154
- Expects(i >= 0 && i < narrow_cast<index>(cont.size()));
155
- return *(cont.begin() + i);
156
- }
157
-
158
- } // namespace gsl
159
-
160
- #if defined(_MSC_VER) && !defined(__clang__)
161
- #if _MSC_VER < 1910
162
- #undef constexpr
163
- #pragma pop_macro("constexpr")
164
-
165
- #endif // _MSC_VER < 1910
166
-
167
- #pragma warning(pop)
168
-
169
- #endif // _MSC_VER
170
-
171
- #endif // GSL_UTIL_H
@@ -1,2273 +0,0 @@
1
- ///////////////////////////////////////////////////////////////////////////////
2
- //
3
- // Copyright (c) 2015 Microsoft Corporation. All rights reserved.
4
- //
5
- // This code is licensed under the MIT License (MIT).
6
- //
7
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
11
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
13
- // THE SOFTWARE.
14
- //
15
- ///////////////////////////////////////////////////////////////////////////////
16
-
17
- #ifndef GSL_MULTI_SPAN_H
18
- #define GSL_MULTI_SPAN_H
19
-
20
- #include <gsl/gsl_assert> // for Expects
21
- #include <gsl/gsl_byte> // for byte
22
- #include <gsl/gsl_util> // for narrow_cast
23
-
24
- #include <algorithm> // for transform, lexicographical_compare
25
- #include <array> // for array
26
- #include <cstddef> // for std::ptrdiff_t, size_t, nullptr_t
27
- #include <cstdint> // for PTRDIFF_MAX
28
- #include <functional> // for divides, multiplies, minus, negate, plus
29
- #include <initializer_list> // for initializer_list
30
- #include <iterator> // for iterator, random_access_iterator_tag
31
- #include <limits> // for numeric_limits
32
- #include <new>
33
- #include <numeric>
34
- #include <stdexcept>
35
- #include <string> // for basic_string
36
- #include <type_traits> // for enable_if_t, remove_cv_t, is_same, is_co...
37
- #include <utility>
38
-
39
- #if defined(_MSC_VER) && !defined(__clang__)
40
-
41
- // turn off some warnings that are noisy about our Expects statements
42
- #pragma warning(push)
43
- #pragma warning(disable : 4127) // conditional expression is constant
44
- #pragma warning(disable : 4702) // unreachable code
45
-
46
- // Turn MSVC /analyze rules that generate too much noise. TODO: fix in the tool.
47
- #pragma warning(disable : 26495) // uninitalized member when constructor calls constructor
48
- #pragma warning(disable : 26473) // in some instantiations we cast to the same type
49
- #pragma warning(disable : 26490) // TODO: bug in parser - attributes and templates
50
- #pragma warning(disable : 26465) // TODO: bug - suppression does not work on template functions
51
- #pragma warning(disable : 4996) // use of function or classes marked [[deprecated]]
52
-
53
- #if _MSC_VER < 1910
54
- #pragma push_macro("constexpr")
55
- #define constexpr /*constexpr*/
56
-
57
- #endif // _MSC_VER < 1910
58
- #endif // _MSC_VER
59
-
60
- #if defined(__GNUC__) || defined(__clang__)
61
- #pragma GCC diagnostic push
62
- #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
63
- #endif
64
-
65
- // GCC 7 does not like the signed unsigned missmatch (size_t std::ptrdiff_t)
66
- // While there is a conversion from signed to unsigned, it happens at
67
- // compiletime, so the compiler wouldn't have to warn indiscriminently, but
68
- // could check if the source value actually doesn't fit into the target type
69
- // and only warn in those cases.
70
- #if defined(__GNUC__) && __GNUC__ > 6
71
- #pragma GCC diagnostic push
72
- #pragma GCC diagnostic ignored "-Wsign-conversion"
73
- #endif
74
-
75
- namespace gsl
76
- {
77
-
78
- /*
79
- ** begin definitions of index and bounds
80
- */
81
- namespace details
82
- {
83
- template <typename SizeType>
84
- struct [[deprecated]] SizeTypeTraits
85
- {
86
- static const SizeType max_value = std::numeric_limits<SizeType>::max();
87
- };
88
-
89
- template <typename... Ts>
90
- class [[deprecated]] are_integral : public std::integral_constant<bool, true>
91
- {
92
- };
93
-
94
- template <typename T, typename... Ts>
95
- class [[deprecated]] are_integral<T, Ts...>
96
- : public std::integral_constant<bool,
97
- std::is_integral<T>::value && are_integral<Ts...>::value>
98
- {
99
- };
100
- } // namespace details
101
-
102
- template <std::size_t Rank>
103
- class [[deprecated]] multi_span_index final {
104
- static_assert(Rank > 0, "Rank must be greater than 0!");
105
-
106
- template <std::size_t OtherRank>
107
- friend class multi_span_index;
108
-
109
- public:
110
- static const std::size_t rank = Rank;
111
- using value_type = std::ptrdiff_t;
112
- using size_type = value_type;
113
- using reference = std::add_lvalue_reference_t<value_type>;
114
- using const_reference = std::add_lvalue_reference_t<std::add_const_t<value_type>>;
115
-
116
- constexpr multi_span_index() noexcept {}
117
-
118
- constexpr multi_span_index(const value_type(&values)[Rank]) noexcept
119
- {
120
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
121
- GSL_SUPPRESS(bounds.3) // NO-FORMAT: attribute
122
- std::copy(values, values + Rank, elems);
123
- }
124
-
125
- template <typename... Ts, typename = std::enable_if_t<(sizeof...(Ts) == Rank) &&
126
- details::are_integral<Ts...>::value>>
127
- constexpr multi_span_index(Ts... ds) noexcept : elems{narrow_cast<value_type>(ds)...}
128
- {}
129
-
130
- constexpr multi_span_index(const multi_span_index& other) noexcept = default;
131
-
132
- constexpr multi_span_index& operator=(const multi_span_index& rhs) noexcept = default;
133
-
134
- // Preconditions: component_idx < rank
135
- GSL_SUPPRESS(bounds.2) // NO-FORMAT: attribute
136
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
137
- constexpr reference operator[](std::size_t component_idx)
138
- {
139
- Expects(component_idx < Rank); // Component index must be less than rank
140
- return elems[component_idx];
141
- }
142
-
143
- // Preconditions: component_idx < rank
144
- GSL_SUPPRESS(bounds.2) // NO-FORMAT: attribute
145
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
146
- constexpr const_reference operator[](std::size_t component_idx) const
147
- {
148
- Expects(component_idx < Rank); // Component index must be less than rank
149
- return elems[component_idx];
150
- }
151
-
152
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
153
- GSL_SUPPRESS(bounds.3) // NO-FORMAT: attribute
154
- constexpr bool operator==(const multi_span_index& rhs) const
155
- {
156
- return std::equal(elems, elems + rank, rhs.elems);
157
- }
158
-
159
- constexpr bool operator!=(const multi_span_index& rhs) const { return !(*this == rhs); }
160
-
161
- constexpr multi_span_index operator+() const noexcept { return *this; }
162
-
163
- constexpr multi_span_index operator-() const
164
- {
165
- multi_span_index ret = *this;
166
- std::transform(ret, ret + rank, ret, std::negate<value_type>{});
167
- return ret;
168
- }
169
-
170
- constexpr multi_span_index operator+(const multi_span_index& rhs) const
171
- {
172
- multi_span_index ret = *this;
173
- ret += rhs;
174
- return ret;
175
- }
176
-
177
- constexpr multi_span_index operator-(const multi_span_index& rhs) const
178
- {
179
- multi_span_index ret = *this;
180
- ret -= rhs;
181
- return ret;
182
- }
183
-
184
- constexpr multi_span_index& operator+=(const multi_span_index& rhs)
185
- {
186
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
187
- GSL_SUPPRESS(bounds.3) // NO-FORMAT: attribute
188
- std::transform(elems, elems + rank, rhs.elems, elems, std::plus<value_type>{});
189
- return *this;
190
- }
191
-
192
- constexpr multi_span_index& operator-=(const multi_span_index& rhs)
193
- {
194
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
195
- GSL_SUPPRESS(bounds.3) // NO-FORMAT: attribute
196
- std::transform(elems, elems + rank, rhs.elems, elems, std::minus<value_type>{});
197
- return *this;
198
- }
199
-
200
- constexpr multi_span_index operator*(value_type v) const
201
- {
202
- multi_span_index ret = *this;
203
- ret *= v;
204
- return ret;
205
- }
206
-
207
- constexpr multi_span_index operator/(value_type v) const
208
- {
209
- multi_span_index ret = *this;
210
- ret /= v;
211
- return ret;
212
- }
213
-
214
- friend constexpr multi_span_index operator*(value_type v, const multi_span_index& rhs)
215
- {
216
- return rhs * v;
217
- }
218
-
219
- constexpr multi_span_index& operator*=(value_type v)
220
- {
221
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
222
- GSL_SUPPRESS(bounds.3) // NO-FORMAT: attribute
223
- std::transform(elems, elems + rank, elems,
224
- [v](value_type x) { return std::multiplies<value_type>{}(x, v); });
225
- return *this;
226
- }
227
-
228
- constexpr multi_span_index& operator/=(value_type v)
229
- {
230
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
231
- GSL_SUPPRESS(bounds.3) // NO-FORMAT: attribute
232
- std::transform(elems, elems + rank, elems,
233
- [v](value_type x) { return std::divides<value_type>{}(x, v); });
234
- return *this;
235
- }
236
-
237
- private:
238
- value_type elems[Rank] = {};
239
- };
240
-
241
- #if !defined(_MSC_VER) || _MSC_VER >= 1910
242
-
243
- struct [[deprecated]] static_bounds_dynamic_range_t
244
- {
245
- template <typename T, typename = std::enable_if_t<std::is_integral<T>::value>>
246
- constexpr operator T() const noexcept
247
- {
248
- return narrow_cast<T>(-1);
249
- }
250
- };
251
-
252
- constexpr bool operator==(static_bounds_dynamic_range_t, static_bounds_dynamic_range_t) noexcept
253
- {
254
- return true;
255
- }
256
-
257
- constexpr bool operator!=(static_bounds_dynamic_range_t, static_bounds_dynamic_range_t) noexcept
258
- {
259
- return false;
260
- }
261
-
262
- template <typename T, typename = std::enable_if_t<std::is_integral<T>::value>>
263
- constexpr bool operator==(static_bounds_dynamic_range_t, T other) noexcept
264
- {
265
- return narrow_cast<T>(-1) == other;
266
- }
267
-
268
- template <typename T, typename = std::enable_if_t<std::is_integral<T>::value>>
269
- constexpr bool operator==(T left, static_bounds_dynamic_range_t right) noexcept
270
- {
271
- return right == left;
272
- }
273
-
274
- template <typename T, typename = std::enable_if_t<std::is_integral<T>::value>>
275
- constexpr bool operator!=(static_bounds_dynamic_range_t, T other) noexcept
276
- {
277
- return narrow_cast<T>(-1) != other;
278
- }
279
-
280
- template <typename T, typename = std::enable_if_t<std::is_integral<T>::value>>
281
- constexpr bool operator!=(T left, static_bounds_dynamic_range_t right) noexcept
282
- {
283
- return right != left;
284
- }
285
-
286
- constexpr static_bounds_dynamic_range_t dynamic_range{};
287
- #else
288
- const std::ptrdiff_t dynamic_range = -1;
289
- #endif
290
-
291
- struct [[deprecated]] generalized_mapping_tag
292
- {
293
- };
294
- struct[[deprecated]] contiguous_mapping_tag : generalized_mapping_tag{};
295
-
296
- namespace details
297
- {
298
-
299
- template <std::ptrdiff_t Left, std::ptrdiff_t Right>
300
- struct [[deprecated]] LessThan
301
- {
302
- static const bool value = Left < Right;
303
- };
304
-
305
- template <std::ptrdiff_t... Ranges>
306
- struct [[deprecated]] BoundsRanges {
307
- using size_type = std::ptrdiff_t;
308
- static const size_type Depth = 0;
309
- static const size_type DynamicNum = 0;
310
- static const size_type CurrentRange = 1;
311
- static const size_type TotalSize = 1;
312
-
313
- // TODO : following signature is for work around VS bug
314
- template <typename OtherRange>
315
- constexpr BoundsRanges(const OtherRange&, bool /* firstLevel */)
316
- {}
317
-
318
- constexpr BoundsRanges(const std::ptrdiff_t* const) {}
319
- constexpr BoundsRanges() noexcept = default;
320
-
321
- template <typename T, std::size_t Dim>
322
- constexpr void serialize(T&) const
323
- {}
324
-
325
- template <typename T, std::size_t Dim>
326
- constexpr size_type linearize(const T&) const
327
- {
328
- return 0;
329
- }
330
-
331
- template <typename T, std::size_t Dim>
332
- constexpr size_type contains(const T&) const
333
- {
334
- return -1;
335
- }
336
-
337
- constexpr size_type elementNum(std::size_t) const noexcept { return 0; }
338
-
339
- constexpr size_type totalSize() const noexcept { return TotalSize; }
340
-
341
- constexpr bool operator==(const BoundsRanges&) const noexcept { return true; }
342
- };
343
-
344
- template <std::ptrdiff_t... RestRanges>
345
- struct[[deprecated]] BoundsRanges<dynamic_range, RestRanges...> : BoundsRanges<RestRanges...>
346
- {
347
- using Base = BoundsRanges<RestRanges...>;
348
- using size_type = std::ptrdiff_t;
349
- static const std::size_t Depth = Base::Depth + 1;
350
- static const std::size_t DynamicNum = Base::DynamicNum + 1;
351
- static const size_type CurrentRange = dynamic_range;
352
- static const size_type TotalSize = dynamic_range;
353
-
354
- private:
355
- size_type m_bound;
356
-
357
- public:
358
- GSL_SUPPRESS(
359
- f.23) // NO-FORMAT: attribute // this pointer type is cannot be assigned nullptr - issue in not_null
360
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
361
- constexpr BoundsRanges(const std::ptrdiff_t* const arr)
362
- : Base(arr + 1), m_bound(*arr * this->Base::totalSize())
363
- {
364
- Expects(0 <= *arr);
365
- }
366
-
367
- constexpr BoundsRanges() noexcept : m_bound(0) {}
368
-
369
- template <std::ptrdiff_t OtherRange, std::ptrdiff_t... RestOtherRanges>
370
- constexpr BoundsRanges(const BoundsRanges<OtherRange, RestOtherRanges...>& other,
371
- bool /* firstLevel */ = true)
372
- : Base(static_cast<const BoundsRanges<RestOtherRanges...>&>(other), false)
373
- , m_bound(other.totalSize())
374
- {}
375
-
376
- template <typename T, std::size_t Dim = 0>
377
- constexpr void serialize(T & arr) const
378
- {
379
- arr[Dim] = elementNum();
380
- this->Base::template serialize<T, Dim + 1>(arr);
381
- }
382
-
383
- template <typename T, std::size_t Dim = 0>
384
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
385
- constexpr size_type linearize(const T& arr) const
386
- {
387
- const size_type index = this->Base::totalSize() * arr[Dim];
388
- Expects(index < m_bound);
389
- return index + this->Base::template linearize<T, Dim + 1>(arr);
390
- }
391
-
392
- template <typename T, std::size_t Dim = 0>
393
- constexpr size_type contains(const T& arr) const
394
- {
395
- const std::ptrdiff_t last = this->Base::template contains<T, Dim + 1>(arr);
396
- if (last == -1) return -1;
397
- const std::ptrdiff_t cur = this->Base::totalSize() * arr[Dim];
398
- return cur < m_bound ? cur + last : -1;
399
- }
400
-
401
- GSL_SUPPRESS(
402
- c.128) // NO-FORMAT: attribute // no pointers to BoundsRanges should be ever used
403
- constexpr size_type totalSize() const noexcept { return m_bound; }
404
-
405
- GSL_SUPPRESS(
406
- c.128) // NO-FORMAT: attribute // no pointers to BoundsRanges should be ever used
407
- constexpr size_type elementNum() const noexcept
408
- {
409
- return totalSize() / this->Base::totalSize();
410
- }
411
-
412
- GSL_SUPPRESS(
413
- c.128) // NO-FORMAT: attribute // no pointers to BoundsRanges should be ever used
414
- constexpr size_type elementNum(std::size_t dim) const noexcept
415
- {
416
- if (dim > 0)
417
- return this->Base::elementNum(dim - 1);
418
- else
419
- return elementNum();
420
- }
421
-
422
- constexpr bool operator==(const BoundsRanges& rhs) const noexcept
423
- {
424
- return m_bound == rhs.m_bound &&
425
- static_cast<const Base&>(*this) == static_cast<const Base&>(rhs);
426
- }
427
- };
428
-
429
- template <std::ptrdiff_t CurRange, std::ptrdiff_t... RestRanges>
430
- struct[[deprecated]] BoundsRanges<CurRange, RestRanges...> : BoundsRanges<RestRanges...>
431
- {
432
- using Base = BoundsRanges<RestRanges...>;
433
- using size_type = std::ptrdiff_t;
434
- static const std::size_t Depth = Base::Depth + 1;
435
- static const std::size_t DynamicNum = Base::DynamicNum;
436
- static const size_type CurrentRange = CurRange;
437
- static const size_type TotalSize =
438
- Base::TotalSize == dynamic_range ? dynamic_range : CurrentRange * Base::TotalSize;
439
-
440
- constexpr BoundsRanges(const std::ptrdiff_t* const arr) : Base(arr) {}
441
- constexpr BoundsRanges() = default;
442
-
443
- template <std::ptrdiff_t OtherRange, std::ptrdiff_t... RestOtherRanges>
444
- constexpr BoundsRanges(const BoundsRanges<OtherRange, RestOtherRanges...>& other,
445
- bool firstLevel = true)
446
- : Base(static_cast<const BoundsRanges<RestOtherRanges...>&>(other), false)
447
- {
448
- GSL_SUPPRESS(type.4) // NO-FORMAT: attribute // TODO: false positive
449
- (void) firstLevel;
450
- }
451
-
452
- template <typename T, std::size_t Dim = 0>
453
- constexpr void serialize(T & arr) const
454
- {
455
- arr[Dim] = elementNum();
456
- this->Base::template serialize<T, Dim + 1>(arr);
457
- }
458
-
459
- template <typename T, std::size_t Dim = 0>
460
- constexpr size_type linearize(const T& arr) const
461
- {
462
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
463
- Expects(arr[Dim] >= 0 && arr[Dim] < CurrentRange); // Index is out of range
464
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
465
- const std::ptrdiff_t d = arr[Dim];
466
- return this->Base::totalSize() * d + this->Base::template linearize<T, Dim + 1>(arr);
467
- }
468
-
469
- template <typename T, std::size_t Dim = 0>
470
- constexpr size_type contains(const T& arr) const
471
- {
472
- if (arr[Dim] >= CurrentRange) return -1;
473
- const size_type last = this->Base::template contains<T, Dim + 1>(arr);
474
- if (last == -1) return -1;
475
- return this->Base::totalSize() * arr[Dim] + last;
476
- }
477
-
478
- GSL_SUPPRESS(
479
- c.128) // NO-FORMAT: attribute // no pointers to BoundsRanges should be ever used
480
- constexpr size_type totalSize() const noexcept
481
- {
482
- return CurrentRange * this->Base::totalSize();
483
- }
484
-
485
- GSL_SUPPRESS(
486
- c.128) // NO-FORMAT: attribute // no pointers to BoundsRanges should be ever used
487
- constexpr size_type elementNum() const noexcept { return CurrentRange; }
488
-
489
- GSL_SUPPRESS(
490
- c.128) // NO-FORMAT: attribute // no pointers to BoundsRanges should be ever used
491
- constexpr size_type elementNum(std::size_t dim) const noexcept
492
- {
493
- if (dim > 0)
494
- return this->Base::elementNum(dim - 1);
495
- else
496
- return elementNum();
497
- }
498
-
499
- constexpr bool operator==(const BoundsRanges& rhs) const noexcept
500
- {
501
- return static_cast<const Base&>(*this) == static_cast<const Base&>(rhs);
502
- }
503
- };
504
-
505
- template <typename SourceType, typename TargetType>
506
- struct[[deprecated]] BoundsRangeConvertible
507
- : public std::integral_constant<bool, (SourceType::TotalSize >= TargetType::TotalSize ||
508
- TargetType::TotalSize == dynamic_range ||
509
- SourceType::TotalSize == dynamic_range ||
510
- TargetType::TotalSize == 0)>{};
511
-
512
- template <typename TypeChain>
513
- struct [[deprecated]] TypeListIndexer {
514
- const TypeChain& obj_;
515
- constexpr TypeListIndexer(const TypeChain& obj) : obj_(obj) {}
516
-
517
- template <std::size_t N>
518
- constexpr const TypeChain& getObj(std::true_type)
519
- {
520
- return obj_;
521
- }
522
-
523
- template <std::size_t N, typename MyChain = TypeChain,
524
- typename MyBase = typename MyChain::Base>
525
- constexpr auto getObj(std::false_type)
526
- ->decltype(TypeListIndexer<MyBase>(static_cast<const MyBase&>(obj_)).template get<N>())
527
- {
528
- return TypeListIndexer<MyBase>(static_cast<const MyBase&>(obj_)).template get<N>();
529
- }
530
-
531
- template <std::size_t N>
532
- constexpr auto get()->decltype(getObj<N - 1>(std::integral_constant<bool, N == 0>()))
533
- {
534
- return getObj<N - 1>(std::integral_constant<bool, N == 0>());
535
- }
536
- };
537
-
538
- template <typename TypeChain>
539
- constexpr TypeListIndexer<TypeChain> createTypeListIndexer(const TypeChain& obj)
540
- {
541
- return TypeListIndexer<TypeChain>(obj);
542
- }
543
-
544
- template <std::size_t Rank, bool Enabled = (Rank > 1),
545
- typename Ret = std::enable_if_t<Enabled, multi_span_index<Rank - 1>>>
546
- constexpr Ret shift_left(const multi_span_index<Rank>& other) noexcept
547
- {
548
- Ret ret{};
549
- for (std::size_t i = 0; i < Rank - 1; ++i)
550
- {
551
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
552
- ret[i] = other[i + 1];
553
- }
554
- return ret;
555
- }
556
- } // namespace details
557
-
558
- template <typename IndexType>
559
- class [[deprecated]] bounds_iterator;
560
-
561
- template <std::ptrdiff_t... Ranges>
562
- class [[deprecated]] static_bounds {
563
- public:
564
- static_bounds(const details::BoundsRanges<Ranges...>&) {}
565
- };
566
-
567
- template <std::ptrdiff_t FirstRange, std::ptrdiff_t... RestRanges>
568
- class[[deprecated]] static_bounds<FirstRange, RestRanges...>
569
- {
570
- using MyRanges = details::BoundsRanges<FirstRange, RestRanges...>;
571
-
572
- MyRanges m_ranges;
573
- constexpr static_bounds(const MyRanges& range) noexcept : m_ranges(range) {}
574
-
575
- template <std::ptrdiff_t... OtherRanges>
576
- friend class static_bounds;
577
-
578
- public:
579
- static const std::size_t rank = MyRanges::Depth;
580
- static const std::size_t dynamic_rank = MyRanges::DynamicNum;
581
- static const std::ptrdiff_t static_size = MyRanges::TotalSize;
582
-
583
- using size_type = std::ptrdiff_t;
584
- using index_type = multi_span_index<rank>;
585
- using const_index_type = std::add_const_t<index_type>;
586
- using iterator = bounds_iterator<const_index_type>;
587
- using const_iterator = bounds_iterator<const_index_type>;
588
- using difference_type = std::ptrdiff_t;
589
- using sliced_type = static_bounds<RestRanges...>;
590
- using mapping_type = contiguous_mapping_tag;
591
-
592
- constexpr static_bounds() /*noexcept*/ = default;
593
-
594
- template <typename SourceType, typename TargetType, std::size_t Rank>
595
- struct BoundsRangeConvertible2;
596
-
597
- template <std::size_t Rank, typename SourceType, typename TargetType,
598
- typename Ret = BoundsRangeConvertible2<typename SourceType::Base,
599
- typename TargetType::Base, Rank>>
600
- static auto helpBoundsRangeConvertible(SourceType, TargetType, std::true_type)->Ret;
601
-
602
- template <std::size_t Rank, typename SourceType, typename TargetType>
603
- static auto helpBoundsRangeConvertible(SourceType, TargetType, ...)->std::false_type;
604
-
605
- template <typename SourceType, typename TargetType, std::size_t Rank>
606
- struct BoundsRangeConvertible2
607
- : decltype(helpBoundsRangeConvertible<Rank - 1>(
608
- SourceType(), TargetType(),
609
- std::integral_constant<bool,
610
- SourceType::Depth == TargetType::Depth &&
611
- (SourceType::CurrentRange == TargetType::CurrentRange ||
612
- TargetType::CurrentRange == dynamic_range ||
613
- SourceType::CurrentRange == dynamic_range)>()))
614
- {
615
- };
616
-
617
- template <typename SourceType, typename TargetType>
618
- struct BoundsRangeConvertible2<SourceType, TargetType, 0> : std::true_type
619
- {
620
- };
621
-
622
- template <typename SourceType, typename TargetType, std::ptrdiff_t Rank = TargetType::Depth>
623
- struct BoundsRangeConvertible
624
- : decltype(helpBoundsRangeConvertible<Rank - 1>(
625
- SourceType(), TargetType(),
626
- std::integral_constant<bool,
627
- SourceType::Depth == TargetType::Depth &&
628
- (!details::LessThan<SourceType::CurrentRange,
629
- TargetType::CurrentRange>::value ||
630
- TargetType::CurrentRange == dynamic_range ||
631
- SourceType::CurrentRange == dynamic_range)>()))
632
- {
633
- };
634
-
635
- template <typename SourceType, typename TargetType>
636
- struct BoundsRangeConvertible<SourceType, TargetType, 0> : std::true_type
637
- {
638
- };
639
-
640
- template <std::ptrdiff_t... Ranges,
641
- typename = std::enable_if_t<details::BoundsRangeConvertible<
642
- details::BoundsRanges<Ranges...>,
643
- details::BoundsRanges<FirstRange, RestRanges...>>::value>>
644
- constexpr static_bounds(const static_bounds<Ranges...>& other) : m_ranges(other.m_ranges)
645
- {
646
- Expects((MyRanges::DynamicNum == 0 && details::BoundsRanges<Ranges...>::DynamicNum == 0) ||
647
- MyRanges::DynamicNum > 0 || other.m_ranges.totalSize() >= m_ranges.totalSize());
648
- }
649
-
650
- constexpr static_bounds(std::initializer_list<size_type> il) : m_ranges(il.begin())
651
- {
652
- // Size of the initializer list must match the rank of the array
653
- Expects((MyRanges::DynamicNum == 0 && il.size() == 1 && *il.begin() == static_size) ||
654
- MyRanges::DynamicNum == il.size());
655
- // Size of the range must be less than the max element of the size type
656
- Expects(m_ranges.totalSize() <= PTRDIFF_MAX);
657
- }
658
-
659
- constexpr sliced_type slice() const noexcept
660
- {
661
- return sliced_type{static_cast<const details::BoundsRanges<RestRanges...>&>(m_ranges)};
662
- }
663
-
664
- constexpr size_type stride() const noexcept { return rank > 1 ? slice().size() : 1; }
665
-
666
- constexpr size_type size() const noexcept { return m_ranges.totalSize(); }
667
-
668
- constexpr size_type total_size() const noexcept { return m_ranges.totalSize(); }
669
-
670
- constexpr size_type linearize(const index_type& idx) const { return m_ranges.linearize(idx); }
671
-
672
- constexpr bool contains(const index_type& idx) const noexcept
673
- {
674
- return m_ranges.contains(idx) != -1;
675
- }
676
-
677
- constexpr size_type operator[](std::size_t idx) const noexcept
678
- {
679
- return m_ranges.elementNum(idx);
680
- }
681
-
682
- template <std::size_t Dim = 0>
683
- constexpr size_type extent() const noexcept
684
- {
685
- static_assert(Dim < rank,
686
- "dimension should be less than rank (dimension count starts from 0)");
687
- return details::createTypeListIndexer(m_ranges).template get<Dim>().elementNum();
688
- }
689
-
690
- template <typename IntType>
691
- constexpr size_type extent(IntType dim) const
692
- {
693
- static_assert(std::is_integral<IntType>::value,
694
- "Dimension parameter must be supplied as an integral type.");
695
- auto real_dim = narrow_cast<std::size_t>(dim);
696
- Expects(real_dim < rank);
697
-
698
- return m_ranges.elementNum(real_dim);
699
- }
700
-
701
- constexpr index_type index_bounds() const noexcept
702
- {
703
- size_type extents[rank] = {};
704
- m_ranges.serialize(extents);
705
- return {extents};
706
- }
707
-
708
- template <std::ptrdiff_t... Ranges>
709
- constexpr bool operator==(const static_bounds<Ranges...>& rhs) const noexcept
710
- {
711
- return this->size() == rhs.size();
712
- }
713
-
714
- template <std::ptrdiff_t... Ranges>
715
- constexpr bool operator!=(const static_bounds<Ranges...>& rhs) const noexcept
716
- {
717
- return !(*this == rhs);
718
- }
719
-
720
- constexpr const_iterator begin() const noexcept { return const_iterator(*this, index_type{}); }
721
-
722
- constexpr const_iterator end() const noexcept
723
- {
724
- return const_iterator(*this, this->index_bounds());
725
- }
726
- };
727
-
728
- template <std::size_t Rank>
729
- class [[deprecated]] strided_bounds {
730
- template <std::size_t OtherRank>
731
- friend class strided_bounds;
732
-
733
- public:
734
- static const std::size_t rank = Rank;
735
- using value_type = std::ptrdiff_t;
736
- using reference = std::add_lvalue_reference_t<value_type>;
737
- using const_reference = std::add_const_t<reference>;
738
- using size_type = value_type;
739
- using difference_type = value_type;
740
- using index_type = multi_span_index<rank>;
741
- using const_index_type = std::add_const_t<index_type>;
742
- using iterator = bounds_iterator<const_index_type>;
743
- using const_iterator = bounds_iterator<const_index_type>;
744
- static const value_type dynamic_rank = rank;
745
- static const value_type static_size = dynamic_range;
746
- using sliced_type = std::conditional_t<rank != 0, strided_bounds<rank - 1>, void>;
747
- using mapping_type = generalized_mapping_tag;
748
-
749
- constexpr strided_bounds(const strided_bounds&) noexcept = default;
750
-
751
- constexpr strided_bounds& operator=(const strided_bounds&) noexcept = default;
752
-
753
- constexpr strided_bounds(const value_type(&values)[rank], index_type strides)
754
- : m_extents(values), m_strides(std::move(strides))
755
- {}
756
-
757
- constexpr strided_bounds(const index_type& extents, const index_type& strides) noexcept
758
- : m_extents(extents), m_strides(strides)
759
- {}
760
-
761
- constexpr index_type strides() const noexcept { return m_strides; }
762
-
763
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
764
- constexpr size_type total_size() const noexcept
765
- {
766
- size_type ret = 0;
767
- for (std::size_t i = 0; i < rank; ++i) { ret += (m_extents[i] - 1) * m_strides[i]; }
768
- return ret + 1;
769
- }
770
-
771
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
772
- constexpr size_type size() const noexcept
773
- {
774
- size_type ret = 1;
775
- for (std::size_t i = 0; i < rank; ++i) { ret *= m_extents[i]; }
776
- return ret;
777
- }
778
-
779
- constexpr bool contains(const index_type& idx) const noexcept
780
- {
781
- for (std::size_t i = 0; i < rank; ++i)
782
- {
783
- if (idx[i] < 0 || idx[i] >= m_extents[i]) return false;
784
- }
785
- return true;
786
- }
787
-
788
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
789
- constexpr size_type linearize(const index_type& idx) const
790
- {
791
- size_type ret = 0;
792
- for (std::size_t i = 0; i < rank; i++)
793
- {
794
- Expects(idx[i] < m_extents[i]); // index is out of bounds of the array
795
- ret += idx[i] * m_strides[i];
796
- }
797
- return ret;
798
- }
799
-
800
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
801
- constexpr size_type stride() const noexcept { return m_strides[0]; }
802
-
803
- template <bool Enabled = (rank > 1), typename Ret = std::enable_if_t<Enabled, sliced_type>>
804
- constexpr sliced_type slice() const
805
- {
806
- return {details::shift_left(m_extents), details::shift_left(m_strides)};
807
- }
808
-
809
- template <std::size_t Dim = 0>
810
-
811
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
812
- constexpr size_type extent() const noexcept
813
- {
814
- static_assert(Dim < Rank,
815
- "dimension should be less than rank (dimension count starts from 0)");
816
- return m_extents[Dim];
817
- }
818
-
819
- constexpr index_type index_bounds() const noexcept { return m_extents; }
820
-
821
- constexpr const_iterator begin() const noexcept { return const_iterator{*this, index_type{}}; }
822
-
823
- constexpr const_iterator end() const noexcept { return const_iterator{*this, index_bounds()}; }
824
-
825
- private:
826
- index_type m_extents;
827
- index_type m_strides;
828
- };
829
-
830
- template <typename T>
831
- struct[[deprecated]] is_bounds : std::integral_constant<bool, false>{};
832
- template <std::ptrdiff_t... Ranges>
833
- struct[[deprecated]] is_bounds<static_bounds<Ranges...>> : std::integral_constant<bool, true>{};
834
- template <std::size_t Rank>
835
- struct[[deprecated]] is_bounds<strided_bounds<Rank>> : std::integral_constant<bool, true>{};
836
-
837
- template <typename IndexType>
838
- class [[deprecated]] bounds_iterator {
839
- public:
840
- static const std::size_t rank = IndexType::rank;
841
- using iterator_category = std::random_access_iterator_tag;
842
- using value_type = IndexType;
843
- using difference_type = std::ptrdiff_t;
844
- using pointer = value_type*;
845
- using reference = value_type&;
846
- using index_type = value_type;
847
- using index_size_type = typename IndexType::value_type;
848
- template <typename Bounds>
849
- explicit bounds_iterator(const Bounds& bnd, value_type curr) noexcept
850
- : boundary_(bnd.index_bounds()), curr_(std::move(curr))
851
- {
852
- static_assert(is_bounds<Bounds>::value, "Bounds type must be provided");
853
- }
854
-
855
- constexpr reference operator*() const noexcept { return curr_; }
856
-
857
- constexpr pointer operator->() const noexcept { return &curr_; }
858
-
859
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
860
- GSL_SUPPRESS(bounds.2) // NO-FORMAT: attribute
861
- constexpr bounds_iterator& operator++() noexcept
862
-
863
- {
864
- for (std::size_t i = rank; i-- > 0;)
865
- {
866
- if (curr_[i] < boundary_[i] - 1)
867
- {
868
- curr_[i]++;
869
- return *this;
870
- }
871
- curr_[i] = 0;
872
- }
873
- // If we're here we've wrapped over - set to past-the-end.
874
- curr_ = boundary_;
875
- return *this;
876
- }
877
-
878
- constexpr bounds_iterator operator++(int) noexcept
879
- {
880
- auto ret = *this;
881
- ++(*this);
882
- return ret;
883
- }
884
-
885
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
886
- constexpr bounds_iterator& operator--()
887
- {
888
- if (!less(curr_, boundary_))
889
- {
890
- // if at the past-the-end, set to last element
891
- for (std::size_t i = 0; i < rank; ++i) { curr_[i] = boundary_[i] - 1; }
892
- return *this;
893
- }
894
- for (std::size_t i = rank; i-- > 0;)
895
- {
896
- if (curr_[i] >= 1)
897
- {
898
- curr_[i]--;
899
- return *this;
900
- }
901
- curr_[i] = boundary_[i] - 1;
902
- }
903
- // If we're here the preconditions were violated
904
- // "pre: there exists s such that r == ++s"
905
- Expects(false);
906
- return *this;
907
- }
908
-
909
- constexpr bounds_iterator operator--(int) noexcept
910
- {
911
- auto ret = *this;
912
- --(*this);
913
- return ret;
914
- }
915
-
916
- constexpr bounds_iterator operator+(difference_type n) const noexcept
917
- {
918
- bounds_iterator ret{*this};
919
- return ret += n;
920
- }
921
-
922
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
923
- constexpr bounds_iterator& operator+=(difference_type n)
924
- {
925
- auto linear_idx = linearize(curr_) + n;
926
- std::remove_const_t<value_type> stride = 0;
927
- stride[rank - 1] = 1;
928
- for (std::size_t i = rank - 1; i-- > 0;) { stride[i] = stride[i + 1] * boundary_[i + 1]; }
929
- for (std::size_t i = 0; i < rank; ++i)
930
- {
931
- curr_[i] = linear_idx / stride[i];
932
- linear_idx = linear_idx % stride[i];
933
- }
934
- // index is out of bounds of the array
935
- Expects(!less(curr_, index_type{}) && !less(boundary_, curr_));
936
- return *this;
937
- }
938
-
939
- constexpr bounds_iterator operator-(difference_type n) const noexcept
940
- {
941
- bounds_iterator ret{*this};
942
- return ret -= n;
943
- }
944
-
945
- constexpr bounds_iterator& operator-=(difference_type n) noexcept { return *this += -n; }
946
-
947
- constexpr difference_type operator-(const bounds_iterator& rhs) const noexcept
948
- {
949
- return linearize(curr_) - linearize(rhs.curr_);
950
- }
951
-
952
- constexpr value_type operator[](difference_type n) const noexcept { return *(*this + n); }
953
-
954
- constexpr bool operator==(const bounds_iterator& rhs) const noexcept
955
- {
956
- return curr_ == rhs.curr_;
957
- }
958
-
959
- constexpr bool operator!=(const bounds_iterator& rhs) const noexcept { return !(*this == rhs); }
960
-
961
- constexpr bool operator<(const bounds_iterator& rhs) const noexcept
962
- {
963
- return less(curr_, rhs.curr_);
964
- }
965
-
966
- constexpr bool operator<=(const bounds_iterator& rhs) const noexcept { return !(rhs < *this); }
967
-
968
- constexpr bool operator>(const bounds_iterator& rhs) const noexcept { return rhs < *this; }
969
-
970
- constexpr bool operator>=(const bounds_iterator& rhs) const noexcept { return !(rhs > *this); }
971
-
972
- void swap(bounds_iterator & rhs) noexcept
973
- {
974
- std::swap(boundary_, rhs.boundary_);
975
- std::swap(curr_, rhs.curr_);
976
- }
977
-
978
- private:
979
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
980
- constexpr bool less(index_type & one, index_type & other) const noexcept
981
- {
982
- for (std::size_t i = 0; i < rank; ++i)
983
- {
984
- if (one[i] < other[i]) return true;
985
- }
986
- return false;
987
- }
988
-
989
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
990
- constexpr index_size_type linearize(const value_type& idx) const noexcept
991
- {
992
- // TODO: Smarter impl.
993
- // Check if past-the-end
994
- index_size_type multiplier = 1;
995
- index_size_type res = 0;
996
- if (!less(idx, boundary_))
997
- {
998
- res = 1;
999
- for (std::size_t i = rank; i-- > 0;)
1000
- {
1001
- res += (idx[i] - 1) * multiplier;
1002
- multiplier *= boundary_[i];
1003
- }
1004
- }
1005
- else
1006
- {
1007
- for (std::size_t i = rank; i-- > 0;)
1008
- {
1009
- res += idx[i] * multiplier;
1010
- multiplier *= boundary_[i];
1011
- }
1012
- }
1013
- return res;
1014
- }
1015
-
1016
- value_type boundary_;
1017
- std::remove_const_t<value_type> curr_;
1018
- };
1019
-
1020
- template <typename IndexType>
1021
- bounds_iterator<IndexType> operator+(typename bounds_iterator<IndexType>::difference_type n,
1022
- const bounds_iterator<IndexType>& rhs) noexcept
1023
- {
1024
- return rhs + n;
1025
- }
1026
-
1027
- namespace details
1028
- {
1029
- template <typename Bounds>
1030
- constexpr std::enable_if_t<
1031
- std::is_same<typename Bounds::mapping_type, generalized_mapping_tag>::value,
1032
- typename Bounds::index_type>
1033
- make_stride(const Bounds& bnd) noexcept
1034
- {
1035
- return bnd.strides();
1036
- }
1037
-
1038
- // Make a stride vector from bounds, assuming contiguous memory.
1039
- template <typename Bounds>
1040
- constexpr std::enable_if_t<
1041
- std::is_same<typename Bounds::mapping_type, contiguous_mapping_tag>::value,
1042
- typename Bounds::index_type>
1043
- make_stride(const Bounds& bnd) noexcept
1044
- {
1045
- auto extents = bnd.index_bounds();
1046
- typename Bounds::size_type stride[Bounds::rank] = {};
1047
-
1048
- stride[Bounds::rank - 1] = 1;
1049
- for (std::size_t i = 1; i < Bounds::rank; ++i)
1050
- {
1051
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
1052
- GSL_SUPPRESS(bounds.2) // NO-FORMAT: attribute
1053
- stride[Bounds::rank - i - 1] = stride[Bounds::rank - i] * extents[Bounds::rank - i];
1054
- }
1055
- return {stride};
1056
- }
1057
-
1058
- template <typename BoundsSrc, typename BoundsDest>
1059
- void verifyBoundsReshape(const BoundsSrc& src, const BoundsDest& dest)
1060
- {
1061
- static_assert(is_bounds<BoundsSrc>::value && is_bounds<BoundsDest>::value,
1062
- "The src type and dest type must be bounds");
1063
- static_assert(std::is_same<typename BoundsSrc::mapping_type, contiguous_mapping_tag>::value,
1064
- "The source type must be a contiguous bounds");
1065
- static_assert(BoundsDest::static_size == dynamic_range ||
1066
- BoundsSrc::static_size == dynamic_range ||
1067
- BoundsDest::static_size == BoundsSrc::static_size,
1068
- "The source bounds must have same size as dest bounds");
1069
- Expects(src.size() == dest.size());
1070
- }
1071
-
1072
- } // namespace details
1073
-
1074
- template <typename Span>
1075
- class [[deprecated]] contiguous_span_iterator;
1076
- template <typename Span>
1077
- class [[deprecated]] general_span_iterator;
1078
-
1079
- template <std::ptrdiff_t DimSize = dynamic_range>
1080
- struct [[deprecated]] dim_t
1081
- {
1082
- static const std::ptrdiff_t value = DimSize;
1083
- };
1084
- template <>
1085
- struct [[deprecated]] dim_t<dynamic_range>
1086
- {
1087
- static const std::ptrdiff_t value = dynamic_range;
1088
- const std::ptrdiff_t dvalue;
1089
- constexpr dim_t(std::ptrdiff_t size) noexcept : dvalue(size) {}
1090
- };
1091
-
1092
- template <std::ptrdiff_t N, class = std::enable_if_t<(N >= 0)>>
1093
- constexpr dim_t<N> dim() noexcept
1094
- {
1095
- return dim_t<N>();
1096
- }
1097
-
1098
- template <std::ptrdiff_t N = dynamic_range, class = std::enable_if_t<N == dynamic_range>>
1099
- constexpr dim_t<N> dim(std::ptrdiff_t n) noexcept
1100
- {
1101
- return dim_t<>(n);
1102
- }
1103
-
1104
- template <typename ValueType, std::ptrdiff_t FirstDimension = dynamic_range,
1105
- std::ptrdiff_t... RestDimensions>
1106
- class [[deprecated("gsl::multi_span is deprecated because it is not in the C++ Core Guidelines")]] multi_span;
1107
-
1108
- template <typename ValueType, std::size_t Rank>
1109
- class [[deprecated("gsl::strided_span is deprecated because it is not in the C++ Core Guidelines")]] strided_span;
1110
-
1111
- namespace details
1112
- {
1113
- template <typename T, typename = std::true_type>
1114
- struct [[deprecated]] SpanTypeTraits
1115
- {
1116
- using value_type = T;
1117
- using size_type = std::size_t;
1118
- };
1119
-
1120
- template <typename Traits>
1121
- struct [[deprecated]] SpanTypeTraits<
1122
- Traits, typename std::is_reference<typename Traits::span_traits&>::type>
1123
- {
1124
- using value_type = typename Traits::span_traits::value_type;
1125
- using size_type = typename Traits::span_traits::size_type;
1126
- };
1127
-
1128
- template <typename T, std::ptrdiff_t... Ranks>
1129
- struct [[deprecated]] SpanArrayTraits
1130
- {
1131
- using type = multi_span<T, Ranks...>;
1132
- using value_type = T;
1133
- using bounds_type = static_bounds<Ranks...>;
1134
- using pointer = T*;
1135
- using reference = T&;
1136
- };
1137
- template <typename T, std::ptrdiff_t N, std::ptrdiff_t... Ranks>
1138
- struct [[deprecated]] SpanArrayTraits<T[N], Ranks...> : SpanArrayTraits<T, Ranks..., N>
1139
- {
1140
- };
1141
-
1142
- template <typename BoundsType>
1143
- BoundsType newBoundsHelperImpl(std::ptrdiff_t totalSize, std::true_type) // dynamic size
1144
- {
1145
- Expects(totalSize >= 0 && totalSize <= PTRDIFF_MAX);
1146
- return BoundsType{totalSize};
1147
- }
1148
- template <typename BoundsType>
1149
- BoundsType newBoundsHelperImpl(std::ptrdiff_t totalSize, std::false_type) // static size
1150
- {
1151
- Expects(BoundsType::static_size <= totalSize);
1152
- return {};
1153
- }
1154
- template <typename BoundsType>
1155
- BoundsType newBoundsHelper(std::ptrdiff_t totalSize)
1156
- {
1157
- static_assert(BoundsType::dynamic_rank <= 1, "dynamic rank must less or equal to 1");
1158
- return newBoundsHelperImpl<BoundsType>(
1159
- totalSize, std::integral_constant<bool, BoundsType::dynamic_rank == 1>());
1160
- }
1161
-
1162
- struct [[deprecated]] Sep
1163
- {
1164
- };
1165
-
1166
- template <typename T, typename... Args>
1167
- T static_as_multi_span_helper(Sep, Args... args)
1168
- {
1169
- return T{narrow_cast<typename T::size_type>(args)...};
1170
- }
1171
- template <typename T, typename Arg, typename... Args>
1172
- std::enable_if_t<
1173
- !std::is_same<Arg, dim_t<dynamic_range>>::value && !std::is_same<Arg, Sep>::value, T>
1174
- static_as_multi_span_helper(Arg, Args... args)
1175
- {
1176
- return static_as_multi_span_helper<T>(args...);
1177
- }
1178
- template <typename T, typename... Args>
1179
- T static_as_multi_span_helper(dim_t<dynamic_range> val, Args... args)
1180
- {
1181
- return static_as_multi_span_helper<T>(args..., val.dvalue);
1182
- }
1183
-
1184
- template <typename... Dimensions>
1185
- struct [[deprecated]] static_as_multi_span_static_bounds_helper
1186
- {
1187
- using type = static_bounds<(Dimensions::value)...>;
1188
- };
1189
-
1190
- template <typename T>
1191
- struct [[deprecated]] is_multi_span_oracle : std::false_type
1192
- {
1193
- };
1194
-
1195
- template <typename ValueType, std::ptrdiff_t FirstDimension, std::ptrdiff_t... RestDimensions>
1196
- struct [[deprecated]] is_multi_span_oracle<multi_span<ValueType, FirstDimension, RestDimensions...>>
1197
- : std::true_type
1198
- {
1199
- };
1200
-
1201
- template <typename ValueType, std::ptrdiff_t Rank>
1202
- struct [[deprecated]] is_multi_span_oracle<strided_span<ValueType, Rank>> : std::true_type
1203
- {
1204
- };
1205
-
1206
- template <typename T>
1207
- struct [[deprecated]] is_multi_span : is_multi_span_oracle<std::remove_cv_t<T>>
1208
- {
1209
- };
1210
- } // namespace details
1211
-
1212
- template <typename ValueType, std::ptrdiff_t FirstDimension, std::ptrdiff_t... RestDimensions>
1213
- class [[deprecated("gsl::multi_span is deprecated because it is not in the C++ Core Guidelines")]] multi_span {
1214
- // TODO do we still need this?
1215
- template <typename ValueType2, std::ptrdiff_t FirstDimension2,
1216
- std::ptrdiff_t... RestDimensions2>
1217
- friend class multi_span;
1218
-
1219
- public:
1220
- using bounds_type = static_bounds<FirstDimension, RestDimensions...>;
1221
- static const std::size_t Rank = bounds_type::rank;
1222
- using size_type = typename bounds_type::size_type;
1223
- using index_type = typename bounds_type::index_type;
1224
- using value_type = ValueType;
1225
- using const_value_type = std::add_const_t<value_type>;
1226
- using pointer = std::add_pointer_t<value_type>;
1227
- using reference = std::add_lvalue_reference_t<value_type>;
1228
- using iterator = contiguous_span_iterator<multi_span>;
1229
- using const_span = multi_span<const_value_type, FirstDimension, RestDimensions...>;
1230
- using const_iterator = contiguous_span_iterator<const_span>;
1231
- using reverse_iterator = std::reverse_iterator<iterator>;
1232
- using const_reverse_iterator = std::reverse_iterator<const_iterator>;
1233
- using sliced_type =
1234
- std::conditional_t<Rank == 1, value_type, multi_span<value_type, RestDimensions...>>;
1235
-
1236
- private:
1237
- pointer data_;
1238
- bounds_type bounds_;
1239
-
1240
- friend iterator;
1241
- friend const_iterator;
1242
-
1243
- public:
1244
- // default constructor - same as constructing from nullptr_t
1245
- GSL_SUPPRESS(type.6) // NO-FORMAT: attribute // TODO: false positive
1246
- constexpr multi_span() noexcept : multi_span(nullptr, bounds_type{})
1247
- {
1248
- static_assert(bounds_type::dynamic_rank != 0 ||
1249
- (bounds_type::dynamic_rank == 0 && bounds_type::static_size == 0),
1250
- "Default construction of multi_span<T> only possible "
1251
- "for dynamic or fixed, zero-length spans.");
1252
- }
1253
-
1254
- // construct from nullptr - get an empty multi_span
1255
- GSL_SUPPRESS(type.6) // NO-FORMAT: attribute // TODO: false positive
1256
- constexpr multi_span(std::nullptr_t) noexcept : multi_span(nullptr, bounds_type{})
1257
- {
1258
- static_assert(bounds_type::dynamic_rank != 0 ||
1259
- (bounds_type::dynamic_rank == 0 && bounds_type::static_size == 0),
1260
- "nullptr_t construction of multi_span<T> only possible "
1261
- "for dynamic or fixed, zero-length spans.");
1262
- }
1263
-
1264
- // construct from nullptr with size of 0 (helps with template function calls)
1265
- template <class IntType, typename = std::enable_if_t<std::is_integral<IntType>::value>>
1266
-
1267
- // GSL_SUPPRESS(type.6) // NO-FORMAT: attribute // TODO: false positive // TODO: parser bug
1268
- constexpr multi_span(std::nullptr_t, IntType size) : multi_span(nullptr, bounds_type{})
1269
- {
1270
- static_assert(bounds_type::dynamic_rank != 0 ||
1271
- (bounds_type::dynamic_rank == 0 && bounds_type::static_size == 0),
1272
- "nullptr_t construction of multi_span<T> only possible "
1273
- "for dynamic or fixed, zero-length spans.");
1274
- Expects(size == 0);
1275
- }
1276
-
1277
- // construct from a single element
1278
-
1279
- GSL_SUPPRESS(type.6) // NO-FORMAT: attribute // TODO: false positive
1280
- constexpr multi_span(reference data) noexcept : multi_span(&data, bounds_type{1})
1281
- {
1282
- static_assert(bounds_type::dynamic_rank > 0 || bounds_type::static_size == 0 ||
1283
- bounds_type::static_size == 1,
1284
- "Construction from a single element only possible "
1285
- "for dynamic or fixed spans of length 0 or 1.");
1286
- }
1287
-
1288
- // prevent constructing from temporaries for single-elements
1289
- constexpr multi_span(value_type &&) = delete;
1290
-
1291
- // construct from pointer + length
1292
- GSL_SUPPRESS(type.6) // NO-FORMAT: attribute // TODO: false positive
1293
- constexpr multi_span(pointer ptr, size_type size) : multi_span(ptr, bounds_type{size}) {}
1294
-
1295
- // construct from pointer + length - multidimensional
1296
- constexpr multi_span(pointer data, bounds_type bounds) : data_(data), bounds_(std::move(bounds))
1297
- {
1298
- Expects((bounds_.size() > 0 && data != nullptr) || bounds_.size() == 0);
1299
- }
1300
-
1301
- // construct from begin,end pointer pair
1302
- template <typename Ptr,
1303
- typename = std::enable_if_t<std::is_convertible<Ptr, pointer>::value &&
1304
- details::LessThan<bounds_type::dynamic_rank, 2>::value>>
1305
- constexpr multi_span(pointer begin, Ptr end)
1306
- : multi_span(begin,
1307
- details::newBoundsHelper<bounds_type>(static_cast<pointer>(end) - begin))
1308
- {
1309
- Expects(begin != nullptr && end != nullptr && begin <= static_cast<pointer>(end));
1310
- }
1311
-
1312
- // construct from n-dimensions static array
1313
- template <typename T, std::size_t N, typename Helper = details::SpanArrayTraits<T, N>>
1314
- constexpr multi_span(T(&arr)[N])
1315
- : multi_span(reinterpret_cast<pointer>(arr), bounds_type{typename Helper::bounds_type{}})
1316
- {
1317
- static_assert(std::is_convertible<typename Helper::value_type(*)[], value_type(*)[]>::value,
1318
- "Cannot convert from source type to target multi_span type.");
1319
- static_assert(std::is_convertible<typename Helper::bounds_type, bounds_type>::value,
1320
- "Cannot construct a multi_span from an array with fewer elements.");
1321
- }
1322
-
1323
- // construct from n-dimensions dynamic array (e.g. new int[m][4])
1324
- // (precedence will be lower than the 1-dimension pointer)
1325
- template <typename T, typename Helper = details::SpanArrayTraits<T, dynamic_range>>
1326
- constexpr multi_span(T* const& data, size_type size)
1327
- : multi_span(reinterpret_cast<pointer>(data), typename Helper::bounds_type{size})
1328
- {
1329
- static_assert(std::is_convertible<typename Helper::value_type(*)[], value_type(*)[]>::value,
1330
- "Cannot convert from source type to target multi_span type.");
1331
- }
1332
-
1333
- // construct from std::array
1334
- template <typename T, std::size_t N>
1335
- constexpr multi_span(std::array<T, N> & arr)
1336
- : multi_span(arr.data(), bounds_type{static_bounds<N>{}})
1337
- {
1338
- static_assert(
1339
- std::is_convertible<T(*)[], typename std::remove_const_t<value_type>(*)[]>::value,
1340
- "Cannot convert from source type to target multi_span type.");
1341
- static_assert(std::is_convertible<static_bounds<N>, bounds_type>::value,
1342
- "You cannot construct a multi_span from a std::array of smaller size.");
1343
- }
1344
-
1345
- // construct from const std::array
1346
- template <typename T, std::size_t N>
1347
- constexpr multi_span(const std::array<T, N>& arr)
1348
- : multi_span(arr.data(), bounds_type{static_bounds<N>{}})
1349
- {
1350
- static_assert(
1351
- std::is_convertible<T(*)[], typename std::remove_const_t<value_type>(*)[]>::value,
1352
- "Cannot convert from source type to target multi_span type.");
1353
- static_assert(std::is_convertible<static_bounds<N>, bounds_type>::value,
1354
- "You cannot construct a multi_span from a std::array of smaller size.");
1355
- }
1356
-
1357
- // prevent constructing from temporary std::array
1358
- template <typename T, std::size_t N>
1359
- constexpr multi_span(std::array<T, N> && arr) = delete;
1360
-
1361
- // construct from containers
1362
- // future: could use contiguous_iterator_traits to identify only contiguous containers
1363
- // type-requirements: container must have .size(), operator[] which are value_type compatible
1364
- template <typename Cont, typename DataType = typename Cont::value_type,
1365
- typename = std::enable_if_t<
1366
- !details::is_multi_span<Cont>::value &&
1367
- std::is_convertible<DataType(*)[], value_type(*)[]>::value &&
1368
- std::is_same<std::decay_t<decltype(std::declval<Cont>().size(),
1369
- *std::declval<Cont>().data())>,
1370
- DataType>::value>>
1371
- constexpr multi_span(Cont & cont)
1372
- : multi_span(static_cast<pointer>(cont.data()),
1373
- details::newBoundsHelper<bounds_type>(narrow_cast<size_type>(cont.size())))
1374
- {}
1375
-
1376
- // prevent constructing from temporary containers
1377
- template <typename Cont, typename DataType = typename Cont::value_type,
1378
- typename = std::enable_if_t<
1379
- !details::is_multi_span<Cont>::value &&
1380
- std::is_convertible<DataType(*)[], value_type(*)[]>::value &&
1381
- std::is_same<std::decay_t<decltype(std::declval<Cont>().size(),
1382
- *std::declval<Cont>().data())>,
1383
- DataType>::value>>
1384
- explicit constexpr multi_span(Cont && cont) = delete;
1385
-
1386
- // construct from a convertible multi_span
1387
- template <typename OtherValueType, std::ptrdiff_t... OtherDimensions,
1388
- typename OtherBounds = static_bounds<OtherDimensions...>,
1389
- typename = std::enable_if_t<std::is_convertible<OtherValueType, ValueType>::value &&
1390
- std::is_convertible<OtherBounds, bounds_type>::value>>
1391
- constexpr multi_span(multi_span<OtherValueType, OtherDimensions...> other)
1392
- : data_(other.data_), bounds_(other.bounds_)
1393
- {}
1394
-
1395
- // trivial copy and move
1396
- constexpr multi_span(const multi_span&) = default;
1397
- constexpr multi_span(multi_span &&) = default;
1398
-
1399
- // trivial assignment
1400
- constexpr multi_span& operator=(const multi_span&) = default;
1401
- constexpr multi_span& operator=(multi_span&&) = default;
1402
-
1403
- // first() - extract the first Count elements into a new multi_span
1404
- template <std::ptrdiff_t Count>
1405
-
1406
- constexpr multi_span<ValueType, Count> first() const
1407
- {
1408
- static_assert(Count >= 0, "Count must be >= 0.");
1409
- static_assert(bounds_type::static_size == dynamic_range ||
1410
- Count <= bounds_type::static_size,
1411
- "Count is out of bounds.");
1412
-
1413
- Expects(bounds_type::static_size != dynamic_range || Count <= this->size());
1414
- return {this->data(), Count};
1415
- }
1416
-
1417
- // first() - extract the first count elements into a new multi_span
1418
- constexpr multi_span<ValueType, dynamic_range> first(size_type count) const
1419
- {
1420
- Expects(count >= 0 && count <= this->size());
1421
- return {this->data(), count};
1422
- }
1423
-
1424
- // last() - extract the last Count elements into a new multi_span
1425
- template <std::ptrdiff_t Count>
1426
- constexpr multi_span<ValueType, Count> last() const
1427
- {
1428
- static_assert(Count >= 0, "Count must be >= 0.");
1429
- static_assert(bounds_type::static_size == dynamic_range ||
1430
- Count <= bounds_type::static_size,
1431
- "Count is out of bounds.");
1432
-
1433
- Expects(bounds_type::static_size != dynamic_range || Count <= this->size());
1434
- return {this->data() + this->size() - Count, Count};
1435
- }
1436
-
1437
- // last() - extract the last count elements into a new multi_span
1438
- constexpr multi_span<ValueType, dynamic_range> last(size_type count) const
1439
- {
1440
- Expects(count >= 0 && count <= this->size());
1441
- return {this->data() + this->size() - count, count};
1442
- }
1443
-
1444
- // subspan() - create a subview of Count elements starting at Offset
1445
- template <std::ptrdiff_t Offset, std::ptrdiff_t Count>
1446
- constexpr multi_span<ValueType, Count> subspan() const
1447
- {
1448
- static_assert(Count >= 0, "Count must be >= 0.");
1449
- static_assert(Offset >= 0, "Offset must be >= 0.");
1450
- static_assert(bounds_type::static_size == dynamic_range ||
1451
- ((Offset <= bounds_type::static_size) &&
1452
- Count <= bounds_type::static_size - Offset),
1453
- "You must describe a sub-range within bounds of the multi_span.");
1454
-
1455
- Expects(bounds_type::static_size != dynamic_range ||
1456
- (Offset <= this->size() && Count <= this->size() - Offset));
1457
- return {this->data() + Offset, Count};
1458
- }
1459
-
1460
- // subspan() - create a subview of count elements starting at offset
1461
- // supplying dynamic_range for count will consume all available elements from offset
1462
- constexpr multi_span<ValueType, dynamic_range> subspan(size_type offset,
1463
- size_type count = dynamic_range) const
1464
- {
1465
- Expects((offset >= 0 && offset <= this->size()) &&
1466
- (count == dynamic_range || (count <= this->size() - offset)));
1467
- return {this->data() + offset, count == dynamic_range ? this->length() - offset : count};
1468
- }
1469
-
1470
- // section - creates a non-contiguous, strided multi_span from a contiguous one
1471
- constexpr strided_span<ValueType, Rank> section(index_type origin, index_type extents) const
1472
- {
1473
- const size_type size = this->bounds().total_size() - this->bounds().linearize(origin);
1474
- return {&this->operator[](origin), size,
1475
- strided_bounds<Rank>{extents, details::make_stride(bounds())}};
1476
- }
1477
-
1478
- // length of the multi_span in elements
1479
- constexpr size_type size() const noexcept { return bounds_.size(); }
1480
-
1481
- // length of the multi_span in elements
1482
- constexpr size_type length() const noexcept { return this->size(); }
1483
-
1484
- // length of the multi_span in bytes
1485
- constexpr size_type size_bytes() const noexcept
1486
- {
1487
- return narrow_cast<size_type>(sizeof(value_type)) * this->size();
1488
- }
1489
-
1490
- // length of the multi_span in bytes
1491
- constexpr size_type length_bytes() const noexcept { return this->size_bytes(); }
1492
-
1493
- constexpr bool empty() const noexcept { return this->size() == 0; }
1494
-
1495
- static constexpr std::size_t rank() { return Rank; }
1496
-
1497
- template <std::size_t Dim = 0>
1498
- constexpr size_type extent() const noexcept
1499
- {
1500
- static_assert(Dim < Rank,
1501
- "Dimension should be less than rank (dimension count starts from 0).");
1502
- return bounds_.template extent<Dim>();
1503
- }
1504
-
1505
- template <typename IntType>
1506
- constexpr size_type extent(IntType dim) const
1507
- {
1508
- return bounds_.extent(dim);
1509
- }
1510
-
1511
- constexpr bounds_type bounds() const noexcept { return bounds_; }
1512
-
1513
- constexpr pointer data() const noexcept { return data_; }
1514
-
1515
- template <typename FirstIndex>
1516
- constexpr reference operator()(FirstIndex idx)
1517
- {
1518
- return this->operator[](narrow_cast<std::ptrdiff_t>(idx));
1519
- }
1520
-
1521
- template <typename FirstIndex, typename... OtherIndices>
1522
- constexpr reference operator()(FirstIndex firstIndex, OtherIndices... indices)
1523
- {
1524
- const index_type idx = {narrow_cast<std::ptrdiff_t>(firstIndex),
1525
- narrow_cast<std::ptrdiff_t>(indices)...};
1526
- return this->operator[](idx);
1527
- }
1528
-
1529
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
1530
- constexpr reference operator[](const index_type& idx) const
1531
- {
1532
- return data_[bounds_.linearize(idx)];
1533
- }
1534
-
1535
- template <bool Enabled = (Rank > 1), typename Ret = std::enable_if_t<Enabled, sliced_type>>
1536
-
1537
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
1538
- constexpr Ret operator[](size_type idx) const
1539
- {
1540
- Expects(idx >= 0 && idx < bounds_.size()); // index is out of bounds of the array
1541
- const size_type ridx = idx * bounds_.stride();
1542
-
1543
- // index is out of bounds of the underlying data
1544
- Expects(ridx < bounds_.total_size());
1545
- return Ret{data_ + ridx, bounds_.slice()};
1546
- }
1547
-
1548
- constexpr iterator begin() const noexcept { return iterator{this, true}; }
1549
-
1550
- constexpr iterator end() const noexcept { return iterator{this, false}; }
1551
-
1552
- GSL_SUPPRESS(type.1) // NO-FORMAT: attribute
1553
- constexpr const_iterator cbegin() const noexcept
1554
- {
1555
- return const_iterator{reinterpret_cast<const const_span*>(this), true};
1556
- }
1557
-
1558
- constexpr const_iterator cend() const noexcept
1559
- {
1560
- return const_iterator{reinterpret_cast<const const_span*>(this), false};
1561
- }
1562
-
1563
- constexpr reverse_iterator rbegin() const noexcept { return reverse_iterator{end()}; }
1564
-
1565
- constexpr reverse_iterator rend() const noexcept { return reverse_iterator{begin()}; }
1566
-
1567
- constexpr const_reverse_iterator crbegin() const noexcept
1568
- {
1569
- return const_reverse_iterator{cend()};
1570
- }
1571
-
1572
- constexpr const_reverse_iterator crend() const noexcept
1573
- {
1574
- return const_reverse_iterator{cbegin()};
1575
- }
1576
-
1577
- template <typename OtherValueType, std::ptrdiff_t... OtherDimensions,
1578
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1579
- std::remove_cv_t<OtherValueType>>::value>>
1580
- constexpr bool operator==(const multi_span<OtherValueType, OtherDimensions...>& other) const
1581
- {
1582
- return bounds_.size() == other.bounds_.size() &&
1583
- (data_ == other.data_ || std::equal(this->begin(), this->end(), other.begin()));
1584
- }
1585
-
1586
- template <typename OtherValueType, std::ptrdiff_t... OtherDimensions,
1587
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1588
- std::remove_cv_t<OtherValueType>>::value>>
1589
- constexpr bool operator!=(const multi_span<OtherValueType, OtherDimensions...>& other) const
1590
- {
1591
- return !(*this == other);
1592
- }
1593
-
1594
- template <typename OtherValueType, std::ptrdiff_t... OtherDimensions,
1595
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1596
- std::remove_cv_t<OtherValueType>>::value>>
1597
- constexpr bool operator<(const multi_span<OtherValueType, OtherDimensions...>& other) const
1598
- {
1599
- return std::lexicographical_compare(this->begin(), this->end(), other.begin(), other.end());
1600
- }
1601
-
1602
- template <typename OtherValueType, std::ptrdiff_t... OtherDimensions,
1603
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1604
- std::remove_cv_t<OtherValueType>>::value>>
1605
- constexpr bool operator<=(const multi_span<OtherValueType, OtherDimensions...>& other) const
1606
- {
1607
- return !(other < *this);
1608
- }
1609
-
1610
- template <typename OtherValueType, std::ptrdiff_t... OtherDimensions,
1611
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1612
- std::remove_cv_t<OtherValueType>>::value>>
1613
- constexpr bool operator>(const multi_span<OtherValueType, OtherDimensions...>& other)
1614
- const noexcept
1615
- {
1616
- return (other < *this);
1617
- }
1618
-
1619
- template <typename OtherValueType, std::ptrdiff_t... OtherDimensions,
1620
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1621
- std::remove_cv_t<OtherValueType>>::value>>
1622
- constexpr bool operator>=(const multi_span<OtherValueType, OtherDimensions...>& other) const
1623
- {
1624
- return !(*this < other);
1625
- }
1626
- };
1627
-
1628
- //
1629
- // Free functions for manipulating spans
1630
- //
1631
-
1632
- // reshape a multi_span into a different dimensionality
1633
- // DimCount and Enabled here are workarounds for a bug in MSVC 2015
1634
- template <typename SpanType, typename... Dimensions2, std::size_t DimCount = sizeof...(Dimensions2),
1635
- bool Enabled = (DimCount > 0), typename = std::enable_if_t<Enabled>>
1636
- constexpr auto as_multi_span(SpanType s, Dimensions2... dims)
1637
- -> multi_span<typename SpanType::value_type, Dimensions2::value...>
1638
- {
1639
- static_assert(details::is_multi_span<SpanType>::value,
1640
- "Variadic as_multi_span() is for reshaping existing spans.");
1641
- using BoundsType =
1642
- typename multi_span<typename SpanType::value_type, (Dimensions2::value)...>::bounds_type;
1643
- const auto tobounds = details::static_as_multi_span_helper<BoundsType>(dims..., details::Sep{});
1644
- details::verifyBoundsReshape(s.bounds(), tobounds);
1645
- return {s.data(), tobounds};
1646
- }
1647
-
1648
- // convert a multi_span<T> to a multi_span<const byte>
1649
- template <typename U, std::ptrdiff_t... Dimensions>
1650
- multi_span<const byte, dynamic_range>
1651
- as_bytes(multi_span<U, Dimensions...> s) noexcept
1652
- {
1653
- static_assert(std::is_trivial<std::decay_t<U>>::value,
1654
- "The value_type of multi_span must be a trivial type.");
1655
- return {reinterpret_cast<const byte*>(s.data()), s.size_bytes()};
1656
- }
1657
-
1658
- // convert a multi_span<T> to a multi_span<byte> (a writeable byte multi_span)
1659
- // this is not currently a portable function that can be relied upon to work
1660
- // on all implementations. It should be considered an experimental extension
1661
- // to the standard GSL interface.
1662
- template <typename U, std::ptrdiff_t... Dimensions>
1663
- multi_span<byte> as_writeable_bytes(multi_span<U, Dimensions...> s) noexcept
1664
- {
1665
- static_assert(std::is_trivial<std::decay_t<U>>::value,
1666
- "The value_type of multi_span must be a trivial type.");
1667
- return {reinterpret_cast<byte*>(s.data()), s.size_bytes()};
1668
- }
1669
-
1670
- // convert a multi_span<const byte> to a multi_span<const T>
1671
- // this is not currently a portable function that can be relied upon to work
1672
- // on all implementations. It should be considered an experimental extension
1673
- // to the standard GSL interface.
1674
- template <typename U, std::ptrdiff_t... Dimensions>
1675
- constexpr auto as_multi_span(multi_span<const byte, Dimensions...> s) -> multi_span<
1676
- const U, static_cast<std::ptrdiff_t>(
1677
- multi_span<const byte, Dimensions...>::bounds_type::static_size != dynamic_range
1678
- ? (static_cast<std::size_t>(
1679
- multi_span<const byte, Dimensions...>::bounds_type::static_size) /
1680
- sizeof(U))
1681
- : dynamic_range)>
1682
- {
1683
- using ConstByteSpan = multi_span<const byte, Dimensions...>;
1684
- static_assert(
1685
- std::is_trivial<std::decay_t<U>>::value &&
1686
- (ConstByteSpan::bounds_type::static_size == dynamic_range ||
1687
- ConstByteSpan::bounds_type::static_size % narrow_cast<std::ptrdiff_t>(sizeof(U)) == 0),
1688
- "Target type must be a trivial type and its size must match the byte array size");
1689
-
1690
- Expects((s.size_bytes() % narrow_cast<std::ptrdiff_t>(sizeof(U))) == 0 &&
1691
- (s.size_bytes() / narrow_cast<std::ptrdiff_t>(sizeof(U))) < PTRDIFF_MAX);
1692
- return {reinterpret_cast<const U*>(s.data()),
1693
- s.size_bytes() / narrow_cast<std::ptrdiff_t>(sizeof(U))};
1694
- }
1695
-
1696
- // convert a multi_span<byte> to a multi_span<T>
1697
- // this is not currently a portable function that can be relied upon to work
1698
- // on all implementations. It should be considered an experimental extension
1699
- // to the standard GSL interface.
1700
- template <typename U, std::ptrdiff_t... Dimensions>
1701
- constexpr auto as_multi_span(multi_span<byte, Dimensions...> s)
1702
- -> multi_span<U, narrow_cast<std::ptrdiff_t>(
1703
- multi_span<byte, Dimensions...>::bounds_type::static_size != dynamic_range
1704
- ? static_cast<std::size_t>(
1705
- multi_span<byte, Dimensions...>::bounds_type::static_size) /
1706
- sizeof(U)
1707
- : dynamic_range)>
1708
- {
1709
- using ByteSpan = multi_span<byte, Dimensions...>;
1710
- static_assert(std::is_trivial<std::decay_t<U>>::value &&
1711
- (ByteSpan::bounds_type::static_size == dynamic_range ||
1712
- ByteSpan::bounds_type::static_size % sizeof(U) == 0),
1713
- "Target type must be a trivial type and its size must match the byte array size");
1714
-
1715
- Expects((s.size_bytes() % sizeof(U)) == 0);
1716
- return {reinterpret_cast<U*>(s.data()),
1717
- s.size_bytes() / narrow_cast<std::ptrdiff_t>(sizeof(U))};
1718
- }
1719
-
1720
- template <typename T, std::ptrdiff_t... Dimensions>
1721
- constexpr auto as_multi_span(T* const& ptr, dim_t<Dimensions>... args)
1722
- -> multi_span<std::remove_all_extents_t<T>, Dimensions...>
1723
- {
1724
- return {reinterpret_cast<std::remove_all_extents_t<T>*>(ptr),
1725
- details::static_as_multi_span_helper<static_bounds<Dimensions...>>(args...,
1726
- details::Sep{})};
1727
- }
1728
-
1729
- template <typename T>
1730
- constexpr auto as_multi_span(T* arr, std::ptrdiff_t len) ->
1731
- typename details::SpanArrayTraits<T, dynamic_range>::type
1732
- {
1733
- return {reinterpret_cast<std::remove_all_extents_t<T>*>(arr), len};
1734
- }
1735
-
1736
- template <typename T, std::size_t N>
1737
- constexpr auto as_multi_span(T (&arr)[N]) ->
1738
- typename details::SpanArrayTraits<T, N>::type
1739
- {
1740
- return {arr};
1741
- }
1742
-
1743
- template <typename T, std::size_t N>
1744
- constexpr multi_span<const T, N> as_multi_span(const std::array<T, N>& arr)
1745
- {
1746
- return {arr};
1747
- }
1748
-
1749
- template <typename T, std::size_t N>
1750
- constexpr multi_span<const T, N> as_multi_span(const std::array<T, N>&&) = delete;
1751
-
1752
- template <typename T, std::size_t N>
1753
- constexpr multi_span<T, N> as_multi_span(std::array<T, N>& arr)
1754
- {
1755
- return {arr};
1756
- }
1757
-
1758
- template <typename T>
1759
- constexpr multi_span<T, dynamic_range> as_multi_span(T* begin, T* end)
1760
- {
1761
- return {begin, end};
1762
- }
1763
-
1764
- template <typename Cont>
1765
- constexpr auto as_multi_span(Cont& arr) -> std::enable_if_t<
1766
- !details::is_multi_span<std::decay_t<Cont>>::value,
1767
- multi_span<std::remove_reference_t<decltype(arr.size(), *arr.data())>, dynamic_range>>
1768
- {
1769
- Expects(arr.size() < PTRDIFF_MAX);
1770
- return {arr.data(), narrow_cast<std::ptrdiff_t>(arr.size())};
1771
- }
1772
-
1773
- template <typename Cont>
1774
- constexpr auto as_multi_span(Cont&& arr) -> std::enable_if_t<
1775
- !details::is_multi_span<std::decay_t<Cont>>::value,
1776
- multi_span<std::remove_reference_t<decltype(arr.size(), *arr.data())>, dynamic_range>> = delete;
1777
-
1778
- // from basic_string which doesn't have nonconst .data() member like other contiguous containers
1779
- template <typename CharT, typename Traits, typename Allocator>
1780
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
1781
- constexpr auto as_multi_span(std::basic_string<CharT, Traits, Allocator>& str)
1782
- -> multi_span<CharT, dynamic_range>
1783
- {
1784
- Expects(str.size() < PTRDIFF_MAX);
1785
- return {&str[0], narrow_cast<std::ptrdiff_t>(str.size())};
1786
- }
1787
-
1788
- // strided_span is an extension that is not strictly part of the GSL at this time.
1789
- // It is kept here while the multidimensional interface is still being defined.
1790
- template <typename ValueType, std::size_t Rank>
1791
- class [[deprecated("gsl::strided_span is deprecated because it is not in the C++ Core Guidelines")]] strided_span
1792
- {
1793
- public:
1794
- using bounds_type = strided_bounds<Rank>;
1795
- using size_type = typename bounds_type::size_type;
1796
- using index_type = typename bounds_type::index_type;
1797
- using value_type = ValueType;
1798
- using const_value_type = std::add_const_t<value_type>;
1799
- using pointer = std::add_pointer_t<value_type>;
1800
- using reference = std::add_lvalue_reference_t<value_type>;
1801
- using iterator = general_span_iterator<strided_span>;
1802
- using const_strided_span = strided_span<const_value_type, Rank>;
1803
- using const_iterator = general_span_iterator<const_strided_span>;
1804
- using reverse_iterator = std::reverse_iterator<iterator>;
1805
- using const_reverse_iterator = std::reverse_iterator<const_iterator>;
1806
- using sliced_type =
1807
- std::conditional_t<Rank == 1, value_type, strided_span<value_type, Rank - 1>>;
1808
-
1809
- private:
1810
- pointer data_;
1811
- bounds_type bounds_;
1812
-
1813
- friend iterator;
1814
- friend const_iterator;
1815
- template <typename OtherValueType, std::size_t OtherRank>
1816
- friend class strided_span;
1817
-
1818
- public:
1819
- // from raw data
1820
- constexpr strided_span(pointer ptr, size_type size, bounds_type bounds)
1821
- : data_(ptr), bounds_(std::move(bounds))
1822
- {
1823
- Expects((bounds_.size() > 0 && ptr != nullptr) || bounds_.size() == 0);
1824
- // Bounds cross data boundaries
1825
- Expects(this->bounds().total_size() <= size);
1826
- GSL_SUPPRESS(type.4) // NO-FORMAT: attribute // TODO: false positive
1827
- (void) size;
1828
- }
1829
-
1830
- // from static array of size N
1831
- template <size_type N>
1832
- constexpr strided_span(value_type (&values)[N], bounds_type bounds)
1833
- : strided_span(values, N, std::move(bounds))
1834
- {}
1835
-
1836
- // from array view
1837
- template <typename OtherValueType, std::ptrdiff_t... Dimensions,
1838
- bool Enabled1 = (sizeof...(Dimensions) == Rank),
1839
- bool Enabled2 = std::is_convertible<OtherValueType*, ValueType*>::value,
1840
- typename = std::enable_if_t<Enabled1 && Enabled2>>
1841
- constexpr strided_span(multi_span<OtherValueType, Dimensions...> av, bounds_type bounds)
1842
- : strided_span(av.data(), av.bounds().total_size(), std::move(bounds))
1843
- {}
1844
-
1845
- // convertible
1846
- template <typename OtherValueType, typename = std::enable_if_t<std::is_convertible<
1847
- OtherValueType (*)[], value_type (*)[]>::value>>
1848
- constexpr strided_span(const strided_span<OtherValueType, Rank>& other)
1849
- : data_(other.data_), bounds_(other.bounds_)
1850
- {}
1851
-
1852
- // convert from bytes
1853
- template <typename OtherValueType>
1854
- constexpr strided_span<
1855
- typename std::enable_if<std::is_same<value_type, const byte>::value, OtherValueType>::type,
1856
- Rank>
1857
- as_strided_span() const
1858
- {
1859
- static_assert((sizeof(OtherValueType) >= sizeof(value_type)) &&
1860
- (sizeof(OtherValueType) % sizeof(value_type) == 0),
1861
- "OtherValueType should have a size to contain a multiple of ValueTypes");
1862
- auto d = narrow_cast<size_type>(sizeof(OtherValueType) / sizeof(value_type));
1863
-
1864
- const size_type size = this->bounds().total_size() / d;
1865
-
1866
- GSL_SUPPRESS(type.3) // NO-FORMAT: attribute
1867
- return {const_cast<OtherValueType*>(reinterpret_cast<const OtherValueType*>(this->data())),
1868
- size,
1869
- bounds_type{resize_extent(this->bounds().index_bounds(), d),
1870
- resize_stride(this->bounds().strides(), d)}};
1871
- }
1872
-
1873
- constexpr strided_span section(index_type origin, index_type extents) const
1874
- {
1875
- const size_type size = this->bounds().total_size() - this->bounds().linearize(origin);
1876
- return {&this->operator[](origin), size,
1877
- bounds_type{extents, details::make_stride(bounds())}};
1878
- }
1879
-
1880
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
1881
- constexpr reference operator[](const index_type& idx) const
1882
- {
1883
- return data_[bounds_.linearize(idx)];
1884
- }
1885
-
1886
- template <bool Enabled = (Rank > 1), typename Ret = std::enable_if_t<Enabled, sliced_type>>
1887
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
1888
- constexpr Ret operator[](size_type idx) const
1889
- {
1890
- Expects(idx < bounds_.size()); // index is out of bounds of the array
1891
- const size_type ridx = idx * bounds_.stride();
1892
-
1893
- // index is out of bounds of the underlying data
1894
- Expects(ridx < bounds_.total_size());
1895
- return {data_ + ridx, bounds_.slice().total_size(), bounds_.slice()};
1896
- }
1897
-
1898
- constexpr bounds_type bounds() const noexcept { return bounds_; }
1899
-
1900
- template <std::size_t Dim = 0>
1901
- constexpr size_type extent() const noexcept
1902
- {
1903
- static_assert(Dim < Rank,
1904
- "dimension should be less than Rank (dimension count starts from 0)");
1905
- return bounds_.template extent<Dim>();
1906
- }
1907
-
1908
- constexpr size_type size() const noexcept { return bounds_.size(); }
1909
-
1910
- constexpr pointer data() const noexcept { return data_; }
1911
-
1912
- constexpr bool empty() const noexcept { return this->size() == 0; }
1913
-
1914
- constexpr explicit operator bool() const noexcept { return data_ != nullptr; }
1915
-
1916
- constexpr iterator begin() const { return iterator{this, true}; }
1917
-
1918
- constexpr iterator end() const { return iterator{this, false}; }
1919
-
1920
- constexpr const_iterator cbegin() const
1921
- {
1922
- return const_iterator{reinterpret_cast<const const_strided_span*>(this), true};
1923
- }
1924
-
1925
- constexpr const_iterator cend() const
1926
- {
1927
- return const_iterator{reinterpret_cast<const const_strided_span*>(this), false};
1928
- }
1929
-
1930
- constexpr reverse_iterator rbegin() const { return reverse_iterator{end()}; }
1931
-
1932
- constexpr reverse_iterator rend() const { return reverse_iterator{begin()}; }
1933
-
1934
- constexpr const_reverse_iterator crbegin() const { return const_reverse_iterator{cend()}; }
1935
-
1936
- constexpr const_reverse_iterator crend() const { return const_reverse_iterator{cbegin()}; }
1937
-
1938
- template <typename OtherValueType, std::ptrdiff_t OtherRank,
1939
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1940
- std::remove_cv_t<OtherValueType>>::value>>
1941
- constexpr bool operator==(const strided_span<OtherValueType, OtherRank>& other) const
1942
- {
1943
- return bounds_.size() == other.bounds_.size() &&
1944
- (data_ == other.data_ || std::equal(this->begin(), this->end(), other.begin()));
1945
- }
1946
-
1947
- template <typename OtherValueType, std::ptrdiff_t OtherRank,
1948
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1949
- std::remove_cv_t<OtherValueType>>::value>>
1950
- constexpr bool operator!=(const strided_span<OtherValueType, OtherRank>& other) const
1951
- {
1952
- return !(*this == other);
1953
- }
1954
-
1955
- template <typename OtherValueType, std::ptrdiff_t OtherRank,
1956
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1957
- std::remove_cv_t<OtherValueType>>::value>>
1958
- constexpr bool operator<(const strided_span<OtherValueType, OtherRank>& other) const
1959
- {
1960
- return std::lexicographical_compare(this->begin(), this->end(), other.begin(), other.end());
1961
- }
1962
-
1963
- template <typename OtherValueType, std::ptrdiff_t OtherRank,
1964
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1965
- std::remove_cv_t<OtherValueType>>::value>>
1966
- constexpr bool operator<=(const strided_span<OtherValueType, OtherRank>& other) const
1967
- {
1968
- return !(other < *this);
1969
- }
1970
-
1971
- template <typename OtherValueType, std::ptrdiff_t OtherRank,
1972
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1973
- std::remove_cv_t<OtherValueType>>::value>>
1974
- constexpr bool operator>(const strided_span<OtherValueType, OtherRank>& other) const
1975
- {
1976
- return (other < *this);
1977
- }
1978
-
1979
- template <typename OtherValueType, std::ptrdiff_t OtherRank,
1980
- typename = std::enable_if_t<std::is_same<std::remove_cv_t<value_type>,
1981
- std::remove_cv_t<OtherValueType>>::value>>
1982
- constexpr bool operator>=(const strided_span<OtherValueType, OtherRank>& other) const
1983
- {
1984
- return !(*this < other);
1985
- }
1986
-
1987
- private:
1988
- static index_type resize_extent(const index_type& extent, std::ptrdiff_t d)
1989
- {
1990
- // The last dimension of the array needs to contain a multiple of new type elements
1991
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
1992
- Expects(extent[Rank - 1] >= d && (extent[Rank - 1] % d == 0));
1993
-
1994
- index_type ret = extent;
1995
- ret[Rank - 1] /= d;
1996
-
1997
- return ret;
1998
- }
1999
-
2000
- template <bool Enabled = (Rank == 1), typename = std::enable_if_t<Enabled>>
2001
- static index_type resize_stride(const index_type& strides, std::ptrdiff_t, void* = nullptr)
2002
- {
2003
- // Only strided arrays with regular strides can be resized
2004
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
2005
- Expects(strides[Rank - 1] == 1);
2006
-
2007
- return strides;
2008
- }
2009
-
2010
- template <bool Enabled = (Rank > 1), typename = std::enable_if_t<Enabled>>
2011
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
2012
- static index_type resize_stride(const index_type& strides, std::ptrdiff_t d)
2013
- {
2014
- // Only strided arrays with regular strides can be resized
2015
- Expects(strides[Rank - 1] == 1);
2016
- // The strides must have contiguous chunks of
2017
- // memory that can contain a multiple of new type elements
2018
- Expects(strides[Rank - 2] >= d && (strides[Rank - 2] % d == 0));
2019
-
2020
- for (std::size_t i = Rank - 1; i > 0; --i)
2021
- {
2022
- // Only strided arrays with regular strides can be resized
2023
- Expects((strides[i - 1] >= strides[i]) && (strides[i - 1] % strides[i] == 0));
2024
- }
2025
-
2026
- index_type ret = strides / d;
2027
- ret[Rank - 1] = 1;
2028
-
2029
- return ret;
2030
- }
2031
- };
2032
-
2033
- template <class Span>
2034
- class [[deprecated]] contiguous_span_iterator {
2035
- public:
2036
- using iterator_category = std::random_access_iterator_tag;
2037
- using value_type = typename Span::value_type;
2038
- using difference_type = std::ptrdiff_t;
2039
- using pointer = value_type*;
2040
- using reference = value_type&;
2041
-
2042
- private:
2043
- template <typename ValueType, std::ptrdiff_t FirstDimension, std::ptrdiff_t... RestDimensions>
2044
- friend class multi_span;
2045
-
2046
- pointer data_;
2047
- const Span* m_validator;
2048
-
2049
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
2050
- void validateThis() const
2051
- {
2052
- // iterator is out of range of the array
2053
- Expects(data_ >= m_validator->data_ && data_ < m_validator->data_ + m_validator->size());
2054
- }
2055
-
2056
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
2057
- contiguous_span_iterator(const Span* container, bool isbegin)
2058
- : data_(isbegin ? container->data_ : container->data_ + container->size())
2059
- , m_validator(container)
2060
- {}
2061
-
2062
- public:
2063
- reference operator*() const
2064
- {
2065
- validateThis();
2066
- return *data_;
2067
- }
2068
- pointer operator->() const
2069
- {
2070
- validateThis();
2071
- return data_;
2072
- }
2073
-
2074
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
2075
- contiguous_span_iterator& operator++() noexcept
2076
- {
2077
- ++data_;
2078
- return *this;
2079
- }
2080
- contiguous_span_iterator operator++(int) noexcept
2081
- {
2082
- auto ret = *this;
2083
- ++(*this);
2084
- return ret;
2085
- }
2086
-
2087
- GSL_SUPPRESS(bounds.1) // NO-FORMAT: attribute
2088
- contiguous_span_iterator& operator--() noexcept
2089
- {
2090
- --data_;
2091
- return *this;
2092
- }
2093
- contiguous_span_iterator operator--(int) noexcept
2094
- {
2095
- auto ret = *this;
2096
- --(*this);
2097
- return ret;
2098
- }
2099
- contiguous_span_iterator operator+(difference_type n) const noexcept
2100
- {
2101
- contiguous_span_iterator ret{*this};
2102
- return ret += n;
2103
- }
2104
- contiguous_span_iterator& operator+=(difference_type n) noexcept
2105
- {
2106
- data_ += n;
2107
- return *this;
2108
- }
2109
- contiguous_span_iterator operator-(difference_type n) const noexcept
2110
- {
2111
- contiguous_span_iterator ret{*this};
2112
- return ret -= n;
2113
- }
2114
-
2115
- contiguous_span_iterator& operator-=(difference_type n) { return *this += -n; }
2116
- difference_type operator-(const contiguous_span_iterator& rhs) const
2117
- {
2118
- Expects(m_validator == rhs.m_validator);
2119
- return data_ - rhs.data_;
2120
- }
2121
- reference operator[](difference_type n) const { return *(*this + n); }
2122
- bool operator==(const contiguous_span_iterator& rhs) const
2123
- {
2124
- Expects(m_validator == rhs.m_validator);
2125
- return data_ == rhs.data_;
2126
- }
2127
-
2128
- bool operator!=(const contiguous_span_iterator& rhs) const { return !(*this == rhs); }
2129
-
2130
- bool operator<(const contiguous_span_iterator& rhs) const
2131
- {
2132
- Expects(m_validator == rhs.m_validator);
2133
- return data_ < rhs.data_;
2134
- }
2135
-
2136
- bool operator<=(const contiguous_span_iterator& rhs) const { return !(rhs < *this); }
2137
- bool operator>(const contiguous_span_iterator& rhs) const { return rhs < *this; }
2138
- bool operator>=(const contiguous_span_iterator& rhs) const { return !(rhs > *this); }
2139
-
2140
- void swap(contiguous_span_iterator & rhs) noexcept
2141
- {
2142
- std::swap(data_, rhs.data_);
2143
- std::swap(m_validator, rhs.m_validator);
2144
- }
2145
- };
2146
-
2147
- template <typename Span>
2148
- contiguous_span_iterator<Span> operator+(typename contiguous_span_iterator<Span>::difference_type n,
2149
- const contiguous_span_iterator<Span>& rhs) noexcept
2150
- {
2151
- return rhs + n;
2152
- }
2153
-
2154
- template <typename Span>
2155
- class [[deprecated]] general_span_iterator {
2156
- public:
2157
- using iterator_category = std::random_access_iterator_tag;
2158
- using value_type = typename Span::value_type;
2159
- using difference_type = std::ptrdiff_t;
2160
- using pointer = value_type*;
2161
- using reference = value_type&;
2162
-
2163
- private:
2164
- template <typename ValueType, std::size_t Rank>
2165
- friend class strided_span;
2166
-
2167
- const Span* m_container;
2168
- typename Span::bounds_type::iterator m_itr;
2169
- general_span_iterator(const Span* container, bool isbegin)
2170
- : m_container(container)
2171
- , m_itr(isbegin ? m_container->bounds().begin() : m_container->bounds().end())
2172
- {}
2173
-
2174
- public:
2175
- reference operator*() noexcept { return (*m_container)[*m_itr]; }
2176
- pointer operator->() noexcept { return &(*m_container)[*m_itr]; }
2177
- general_span_iterator& operator++() noexcept
2178
- {
2179
- ++m_itr;
2180
- return *this;
2181
- }
2182
- general_span_iterator operator++(int) noexcept
2183
- {
2184
- auto ret = *this;
2185
- ++(*this);
2186
- return ret;
2187
- }
2188
- general_span_iterator& operator--() noexcept
2189
- {
2190
- --m_itr;
2191
- return *this;
2192
- }
2193
- general_span_iterator operator--(int) noexcept
2194
- {
2195
- auto ret = *this;
2196
- --(*this);
2197
- return ret;
2198
- }
2199
- general_span_iterator operator+(difference_type n) const noexcept
2200
- {
2201
- general_span_iterator ret{*this};
2202
- return ret += n;
2203
- }
2204
- general_span_iterator& operator+=(difference_type n) noexcept
2205
- {
2206
- m_itr += n;
2207
- return *this;
2208
- }
2209
- general_span_iterator operator-(difference_type n) const noexcept
2210
- {
2211
- general_span_iterator ret{*this};
2212
- return ret -= n;
2213
- }
2214
- general_span_iterator& operator-=(difference_type n) noexcept { return *this += -n; }
2215
- difference_type operator-(const general_span_iterator& rhs) const
2216
- {
2217
- Expects(m_container == rhs.m_container);
2218
- return m_itr - rhs.m_itr;
2219
- }
2220
-
2221
- GSL_SUPPRESS(bounds.4) // NO-FORMAT: attribute
2222
- value_type operator[](difference_type n) const { return (*m_container)[m_itr[n]]; }
2223
-
2224
- bool operator==(const general_span_iterator& rhs) const
2225
- {
2226
- Expects(m_container == rhs.m_container);
2227
- return m_itr == rhs.m_itr;
2228
- }
2229
- bool operator!=(const general_span_iterator& rhs) const { return !(*this == rhs); }
2230
- bool operator<(const general_span_iterator& rhs) const
2231
- {
2232
- Expects(m_container == rhs.m_container);
2233
- return m_itr < rhs.m_itr;
2234
- }
2235
- bool operator<=(const general_span_iterator& rhs) const { return !(rhs < *this); }
2236
- bool operator>(const general_span_iterator& rhs) const { return rhs < *this; }
2237
- bool operator>=(const general_span_iterator& rhs) const { return !(rhs > *this); }
2238
- void swap(general_span_iterator & rhs) noexcept
2239
- {
2240
- std::swap(m_itr, rhs.m_itr);
2241
- std::swap(m_container, rhs.m_container);
2242
- }
2243
- };
2244
-
2245
- template <typename Span>
2246
- general_span_iterator<Span> operator+(typename general_span_iterator<Span>::difference_type n,
2247
- const general_span_iterator<Span>& rhs) noexcept
2248
- {
2249
- return rhs + n;
2250
- }
2251
-
2252
- } // namespace gsl
2253
-
2254
- #if defined(_MSC_VER) && !defined(__clang__)
2255
- #if _MSC_VER < 1910
2256
-
2257
- #undef constexpr
2258
- #pragma pop_macro("constexpr")
2259
- #endif // _MSC_VER < 1910
2260
-
2261
- #pragma warning(pop)
2262
-
2263
- #endif // _MSC_VER
2264
-
2265
- #if defined(__GNUC__) && __GNUC__ > 6
2266
- #pragma GCC diagnostic pop
2267
- #endif // __GNUC__ > 6
2268
-
2269
- #if defined(__GNUC__) || defined(__clang__)
2270
- #pragma GCC diagnostic pop
2271
- #endif
2272
-
2273
- #endif // GSL_MULTI_SPAN_H