couchbase 3.0.0.alpha.2-universal-darwin-19 → 3.0.0-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 (888) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +227 -0
  3. data/.rubocop_todo.yml +47 -0
  4. data/.yardopts +1 -0
  5. data/CONTRIBUTING.md +110 -0
  6. data/Gemfile +16 -3
  7. data/README.md +6 -4
  8. data/Rakefile +6 -2
  9. data/couchbase.gemspec +46 -13
  10. data/examples/analytics.rb +236 -0
  11. data/examples/auth.rb +33 -0
  12. data/examples/crud.rb +16 -2
  13. data/examples/managing_analytics_indexes.rb +86 -0
  14. data/examples/managing_buckets.rb +17 -3
  15. data/examples/managing_collections.rb +22 -9
  16. data/examples/managing_query_indexes.rb +39 -19
  17. data/examples/managing_search_indexes.rb +77 -0
  18. data/examples/managing_view_indexes.rb +68 -0
  19. data/examples/query.rb +17 -3
  20. data/examples/query_with_consistency.rb +30 -20
  21. data/examples/search.rb +202 -0
  22. data/examples/search_with_consistency.rb +97 -0
  23. data/examples/subdocument.rb +42 -30
  24. data/examples/view.rb +59 -0
  25. data/ext/.clang-tidy +2 -0
  26. data/ext/.idea/misc.xml +12 -0
  27. data/ext/CMakeLists.txt +50 -3
  28. data/ext/build_config.hxx.in +20 -0
  29. data/ext/build_version.hxx.in +1 -1
  30. data/ext/couchbase/bucket.hxx +228 -51
  31. data/ext/couchbase/cluster.hxx +147 -87
  32. data/ext/couchbase/cluster_options.hxx +53 -0
  33. data/ext/couchbase/configuration.hxx +232 -14
  34. data/ext/couchbase/couchbase.cxx +4250 -1458
  35. data/ext/couchbase/error_map.hxx +202 -2
  36. data/ext/couchbase/errors.hxx +8 -2
  37. data/ext/couchbase/io/dns_client.hxx +217 -0
  38. data/ext/couchbase/io/dns_codec.hxx +207 -0
  39. data/ext/couchbase/io/dns_config.hxx +116 -0
  40. data/ext/couchbase/io/dns_message.hxx +555 -0
  41. data/ext/couchbase/io/http_command.hxx +91 -0
  42. data/ext/couchbase/io/http_session.hxx +119 -47
  43. data/ext/couchbase/io/{session_manager.hxx → http_session_manager.hxx} +34 -34
  44. data/ext/couchbase/io/mcbp_command.hxx +237 -0
  45. data/ext/couchbase/io/mcbp_message.hxx +24 -2
  46. data/ext/couchbase/io/mcbp_parser.hxx +2 -0
  47. data/ext/couchbase/io/mcbp_session.hxx +455 -173
  48. data/ext/couchbase/io/retry_action.hxx +30 -0
  49. data/ext/couchbase/io/retry_context.hxx +39 -0
  50. data/ext/couchbase/io/retry_orchestrator.hxx +96 -0
  51. data/ext/couchbase/io/retry_reason.hxx +235 -0
  52. data/ext/couchbase/io/retry_strategy.hxx +156 -0
  53. data/ext/couchbase/io/streams.hxx +165 -0
  54. data/ext/couchbase/mutation_token.hxx +1 -1
  55. data/ext/couchbase/operations.hxx +33 -1
  56. data/ext/couchbase/operations/analytics_dataset_create.hxx +117 -0
  57. data/ext/couchbase/operations/analytics_dataset_drop.hxx +103 -0
  58. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +107 -0
  59. data/ext/couchbase/operations/analytics_dataverse_create.hxx +104 -0
  60. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +104 -0
  61. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +91 -0
  62. data/ext/couchbase/operations/analytics_index_create.hxx +128 -0
  63. data/ext/couchbase/operations/analytics_index_drop.hxx +110 -0
  64. data/ext/couchbase/operations/analytics_index_get_all.hxx +106 -0
  65. data/ext/couchbase/operations/analytics_link_connect.hxx +102 -0
  66. data/ext/couchbase/operations/analytics_link_disconnect.hxx +101 -0
  67. data/ext/couchbase/operations/bucket_create.hxx +5 -2
  68. data/ext/couchbase/operations/bucket_drop.hxx +5 -2
  69. data/ext/couchbase/operations/bucket_flush.hxx +5 -2
  70. data/ext/couchbase/operations/bucket_get.hxx +5 -2
  71. data/ext/couchbase/operations/bucket_get_all.hxx +5 -2
  72. data/ext/couchbase/operations/bucket_update.hxx +5 -2
  73. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +5 -2
  74. data/ext/couchbase/operations/collection_create.hxx +10 -3
  75. data/ext/couchbase/operations/collection_drop.hxx +5 -2
  76. data/ext/couchbase/operations/design_document.hxx +59 -0
  77. data/ext/couchbase/operations/document_analytics.hxx +288 -0
  78. data/ext/couchbase/operations/document_decrement.hxx +11 -4
  79. data/ext/couchbase/operations/document_exists.hxx +5 -1
  80. data/ext/couchbase/operations/document_get.hxx +8 -1
  81. data/ext/couchbase/operations/document_get_and_lock.hxx +8 -1
  82. data/ext/couchbase/operations/document_get_and_touch.hxx +10 -3
  83. data/ext/couchbase/operations/document_get_projected.hxx +249 -0
  84. data/ext/couchbase/operations/document_increment.hxx +14 -5
  85. data/ext/couchbase/operations/document_insert.hxx +10 -3
  86. data/ext/couchbase/operations/document_lookup_in.hxx +27 -1
  87. data/ext/couchbase/operations/document_mutate_in.hxx +51 -2
  88. data/ext/couchbase/operations/document_query.hxx +31 -11
  89. data/ext/couchbase/operations/document_remove.hxx +8 -1
  90. data/ext/couchbase/operations/document_replace.hxx +10 -3
  91. data/ext/couchbase/operations/document_search.hxx +360 -0
  92. data/ext/couchbase/operations/document_touch.hxx +10 -3
  93. data/ext/couchbase/operations/document_unlock.hxx +8 -1
  94. data/ext/couchbase/operations/document_upsert.hxx +10 -3
  95. data/ext/couchbase/operations/document_view.hxx +228 -0
  96. data/ext/couchbase/operations/query_index_build_deferred.hxx +4 -3
  97. data/ext/couchbase/operations/query_index_create.hxx +18 -7
  98. data/ext/couchbase/operations/query_index_drop.hxx +16 -5
  99. data/ext/couchbase/operations/query_index_get_all.hxx +15 -5
  100. data/ext/couchbase/operations/scope_create.hxx +5 -2
  101. data/ext/couchbase/operations/scope_drop.hxx +5 -2
  102. data/ext/couchbase/operations/scope_get_all.hxx +6 -2
  103. data/ext/couchbase/operations/search_index.hxx +79 -0
  104. data/ext/couchbase/operations/search_index_analyze_document.hxx +92 -0
  105. data/ext/couchbase/operations/search_index_control_ingest.hxx +80 -0
  106. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +80 -0
  107. data/ext/couchbase/operations/search_index_control_query.hxx +80 -0
  108. data/ext/couchbase/operations/search_index_drop.hxx +77 -0
  109. data/ext/couchbase/operations/search_index_get.hxx +80 -0
  110. data/ext/couchbase/operations/search_index_get_all.hxx +82 -0
  111. data/ext/couchbase/operations/search_index_get_documents_count.hxx +81 -0
  112. data/ext/couchbase/operations/search_index_upsert.hxx +106 -0
  113. data/ext/couchbase/operations/view_index_drop.hxx +67 -0
  114. data/ext/couchbase/operations/view_index_get.hxx +90 -0
  115. data/ext/couchbase/operations/view_index_get_all.hxx +125 -0
  116. data/ext/couchbase/operations/view_index_upsert.hxx +87 -0
  117. data/ext/couchbase/origin.hxx +178 -0
  118. data/ext/couchbase/platform/backtrace.c +189 -0
  119. data/ext/couchbase/platform/backtrace.h +54 -0
  120. data/ext/couchbase/platform/terminate_handler.cc +122 -0
  121. data/ext/couchbase/platform/terminate_handler.h +36 -0
  122. data/ext/couchbase/protocol/client_opcode.hxx +17 -3
  123. data/ext/couchbase/protocol/client_response.hxx +1 -1
  124. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +1 -6
  125. data/ext/couchbase/protocol/cmd_decrement.hxx +5 -5
  126. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +5 -5
  127. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +7 -7
  128. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +117 -0
  129. data/ext/couchbase/protocol/cmd_hello.hxx +10 -0
  130. data/ext/couchbase/protocol/cmd_increment.hxx +5 -5
  131. data/ext/couchbase/protocol/cmd_info.hxx +0 -11
  132. data/ext/couchbase/protocol/cmd_insert.hxx +5 -5
  133. data/ext/couchbase/protocol/cmd_lookup_in.hxx +1 -0
  134. data/ext/couchbase/protocol/cmd_mutate_in.hxx +53 -5
  135. data/ext/couchbase/protocol/cmd_replace.hxx +5 -5
  136. data/ext/couchbase/protocol/cmd_touch.hxx +1 -1
  137. data/ext/couchbase/protocol/cmd_upsert.hxx +5 -5
  138. data/ext/couchbase/protocol/status.hxx +14 -4
  139. data/ext/couchbase/service_type.hxx +38 -1
  140. data/ext/couchbase/timeout_defaults.hxx +41 -0
  141. data/ext/couchbase/utils/connection_string.hxx +370 -0
  142. data/ext/couchbase/version.hxx +2 -2
  143. data/ext/extconf.rb +60 -24
  144. data/ext/test/main.cxx +139 -22
  145. data/ext/third_party/http_parser/Makefile +160 -0
  146. data/ext/third_party/json/Makefile +77 -0
  147. data/lib/couchbase.rb +0 -1
  148. data/lib/couchbase/analytics_options.rb +177 -0
  149. data/lib/couchbase/authenticator.rb +14 -0
  150. data/lib/couchbase/binary_collection.rb +17 -13
  151. data/lib/couchbase/binary_collection_options.rb +14 -8
  152. data/lib/couchbase/bucket.rb +55 -3
  153. data/lib/couchbase/cluster.rb +219 -250
  154. data/lib/couchbase/collection.rb +67 -33
  155. data/lib/couchbase/collection_options.rb +95 -15
  156. data/lib/couchbase/common_options.rb +1 -1
  157. data/{bin/console → lib/couchbase/datastructures.rb} +4 -7
  158. data/lib/couchbase/datastructures/couchbase_list.rb +171 -0
  159. data/lib/couchbase/datastructures/couchbase_map.rb +205 -0
  160. data/lib/couchbase/datastructures/couchbase_queue.rb +145 -0
  161. data/lib/couchbase/datastructures/couchbase_set.rb +139 -0
  162. data/lib/couchbase/errors.rb +76 -66
  163. data/lib/couchbase/json_transcoder.rb +4 -4
  164. data/lib/couchbase/libcouchbase.bundle +0 -0
  165. data/lib/couchbase/management/analytics_index_manager.rb +139 -25
  166. data/lib/couchbase/management/bucket_manager.rb +19 -5
  167. data/lib/couchbase/management/collection_manager.rb +16 -7
  168. data/lib/couchbase/management/query_index_manager.rb +75 -20
  169. data/lib/couchbase/management/search_index_manager.rb +65 -15
  170. data/lib/couchbase/management/user_manager.rb +2 -2
  171. data/lib/couchbase/management/view_index_manager.rb +70 -11
  172. data/lib/couchbase/mutation_state.rb +13 -0
  173. data/lib/couchbase/query_options.rb +256 -0
  174. data/lib/couchbase/scope.rb +61 -8
  175. data/lib/couchbase/search_options.rb +1512 -0
  176. data/lib/couchbase/subdoc.rb +87 -23
  177. data/lib/couchbase/version.rb +2 -2
  178. data/lib/couchbase/view_options.rb +155 -0
  179. metadata +86 -781
  180. data/.github/workflows/tests-6.0.3.yml +0 -49
  181. data/.github/workflows/tests.yml +0 -47
  182. data/.gitignore +0 -20
  183. data/.gitmodules +0 -18
  184. data/.idea/.gitignore +0 -5
  185. data/.idea/dictionaries/gem_terms.xml +0 -18
  186. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  187. data/.idea/vcs.xml +0 -12
  188. data/bin/init-cluster +0 -62
  189. data/bin/setup +0 -24
  190. data/ext/couchbase/configuration_monitor.hxx +0 -93
  191. data/ext/couchbase/operations/command.hxx +0 -77
  192. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  193. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  194. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  195. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  196. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  197. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  198. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  199. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  200. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  201. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  202. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  203. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  204. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  205. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  206. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  207. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  208. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  209. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  210. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  211. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  212. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  213. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  214. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  215. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  216. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  217. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  218. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  219. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  220. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  221. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  222. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  223. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  224. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  225. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  226. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  227. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  228. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  229. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  230. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  231. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  232. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  233. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  234. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  235. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  236. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  237. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  238. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  239. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  240. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  241. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  242. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  243. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  244. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  245. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  246. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  247. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  248. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  249. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  250. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  251. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  252. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  253. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  254. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  255. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  256. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  257. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  258. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  259. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  260. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  261. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  262. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  263. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  264. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  265. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  266. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  267. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  268. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  269. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  270. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  271. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  272. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  273. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  274. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  275. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  276. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  277. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  278. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  279. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  280. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  281. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  282. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  283. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  284. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  285. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  286. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  287. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  288. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  289. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  290. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  291. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  292. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  293. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  294. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  295. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  296. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  297. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  298. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  299. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  300. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  301. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  302. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  303. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  304. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  305. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  306. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  307. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  308. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  309. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  310. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  311. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  312. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  313. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  314. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  315. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  316. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  317. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  318. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  319. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  320. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  321. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  322. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  323. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  324. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  325. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  326. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  327. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  328. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  329. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  330. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  331. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  332. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  333. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  334. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  335. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  336. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  337. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  338. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  339. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  340. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  341. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  342. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  343. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  344. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  345. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  346. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  347. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  348. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  349. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  350. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  351. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  352. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  353. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  354. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  355. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  356. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  357. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  358. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  359. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  360. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  361. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  362. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  363. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  364. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  365. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  366. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  367. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  368. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  369. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  370. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  371. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  372. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  373. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  374. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  375. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  376. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  377. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  378. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  379. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  380. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  381. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  382. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  383. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  384. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  385. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  386. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  387. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  388. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  389. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  390. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  391. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  392. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  393. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  394. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  395. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  396. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  397. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  398. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  399. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  400. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  401. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  402. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  403. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  404. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  405. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  406. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  407. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  408. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  409. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  410. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  411. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  412. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  413. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  414. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  415. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  416. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  417. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  418. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  419. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  420. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  421. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  422. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  423. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  424. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  425. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  426. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  427. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  428. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  429. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  430. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  431. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  432. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  433. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  434. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  435. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  436. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  437. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  438. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  439. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  440. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  441. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  442. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  443. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  444. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  445. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  446. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  447. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  448. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  449. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  450. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  451. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  452. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  453. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  454. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  455. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  456. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  457. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  458. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  459. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  460. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  461. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  462. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  463. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  464. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  465. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  466. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  467. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  468. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  469. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  470. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  471. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  472. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  473. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  474. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  475. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  476. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  477. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  478. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  479. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  480. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  481. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  482. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  483. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  484. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  485. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  486. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  487. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  488. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  489. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  490. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  491. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  492. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  493. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  494. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  495. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  496. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  497. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  498. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  499. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  500. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  501. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  502. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  503. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  504. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  505. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  506. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  507. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  508. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  509. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  510. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  511. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  512. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  513. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  514. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  515. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  516. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  517. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  518. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  519. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  520. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  521. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  522. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  523. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  524. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  525. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  526. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  527. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  528. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  529. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  530. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  531. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  532. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  533. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  534. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  535. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  536. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  537. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  538. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  539. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  540. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  541. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  542. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  543. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  544. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  545. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  546. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  547. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  548. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  549. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  550. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  551. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  552. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  553. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  554. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  555. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  556. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  557. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  558. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  559. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  560. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  561. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  562. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  563. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  564. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  565. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  566. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  567. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  568. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  569. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  570. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  571. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  572. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  573. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  574. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  575. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  576. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  577. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  578. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  579. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  580. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  581. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  582. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  583. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  584. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  585. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  586. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  587. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  588. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  589. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  590. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  591. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  592. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  593. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  594. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  595. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  596. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  597. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  598. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  599. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  600. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  601. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  602. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  603. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  604. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  605. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  606. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  607. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  608. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  609. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  610. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  611. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  612. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  613. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  614. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  615. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  616. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  617. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  618. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  619. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  620. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  621. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  622. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  623. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  624. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  625. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  626. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  627. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  628. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  629. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  630. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  631. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  632. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  633. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  634. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  635. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  636. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  637. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  638. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  639. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  640. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  641. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  642. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  643. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  644. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  645. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  646. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  647. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  648. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  649. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  650. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  651. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  652. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  653. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  654. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  655. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  656. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  657. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  658. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  659. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  660. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  661. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  662. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  663. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  664. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  665. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  666. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  667. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  668. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  669. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  670. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  671. data/ext/third_party/json/doc/Changelog.md +0 -31
  672. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  673. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  674. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  675. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  676. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  677. data/ext/third_party/json/doc/Interoperability.md +0 -75
  678. data/ext/third_party/json/doc/Overview.md +0 -24
  679. data/ext/third_party/json/doc/Overview.png +0 -0
  680. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  681. data/ext/third_party/json/doc/README.md +0 -78
  682. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  683. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  684. data/ext/third_party/json/doc/Types.png +0 -0
  685. data/ext/third_party/json/doc/Value-Class.md +0 -525
  686. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  687. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  688. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  689. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  690. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  691. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  692. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  693. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  694. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  695. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  696. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  697. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  698. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  699. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  700. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  701. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  702. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  703. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  704. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  705. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  706. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  707. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  708. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  709. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  710. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  711. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  712. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  713. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  714. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  715. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  716. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  717. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  718. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  719. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  720. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  721. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  722. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  723. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  724. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  725. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  726. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  727. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  728. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  729. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  730. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  731. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  732. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  733. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  734. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  735. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  736. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  737. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  738. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  739. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  740. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  741. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  742. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  743. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  744. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  745. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  746. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  747. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  748. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  749. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  750. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  751. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  752. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  753. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  754. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  755. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  756. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  757. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  758. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  759. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  760. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  761. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  762. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  763. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  764. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  765. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  766. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  767. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  768. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  769. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  770. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  771. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  772. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  773. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  774. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  775. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  776. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  777. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  778. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  779. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  780. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  781. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  782. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  783. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  784. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  785. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  786. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  787. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  788. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  789. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  790. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  791. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  792. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  793. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  794. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  795. data/ext/third_party/json/tests/blns.json +0 -496
  796. data/ext/third_party/json/tests/canada.json +0 -9
  797. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  798. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  799. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  800. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  801. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  802. data/ext/third_party/json/tests/draft4/default.json +0 -49
  803. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  804. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  805. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  806. data/ext/third_party/json/tests/draft4/items.json +0 -46
  807. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  808. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  809. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  810. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  811. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  812. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  813. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  814. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  815. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  816. data/ext/third_party/json/tests/draft4/not.json +0 -96
  817. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  818. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  819. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  820. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  821. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  822. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  823. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  824. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  825. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  826. data/ext/third_party/json/tests/draft4/required.json +0 -44
  827. data/ext/third_party/json/tests/draft4/type.json +0 -345
  828. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  829. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  830. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  831. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  832. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  833. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  834. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  835. data/ext/third_party/json/tests/twitter.json +0 -15482
  836. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  837. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  838. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  839. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  840. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  841. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  842. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  843. data/ext/third_party/snappy/testdata/html +0 -1
  844. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  845. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  846. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  847. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  848. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  849. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  850. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  851. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  852. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  853. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  854. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  855. data/ext/third_party/spdlog/bench/utils.h +0 -34
  856. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  857. data/ext/third_party/spdlog/example/example.cpp +0 -282
  858. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  859. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  860. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  861. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  862. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  863. data/ext/third_party/spdlog/tests/catch.license +0 -23
  864. data/ext/third_party/spdlog/tests/includes.h +0 -26
  865. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  866. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  867. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  868. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  869. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  870. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  871. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  872. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  873. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  874. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  875. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  876. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  877. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  878. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  879. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  880. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  881. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  882. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  883. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  884. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  885. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  886. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  887. data/ext/third_party/spdlog/tests/utils.h +0 -18
  888. data/rbi/couchbase.rbi +0 -79
@@ -1,1217 +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
- #include <gtest/gtest.h>
18
-
19
- #include <gsl/gsl_assert> // for Expects, fail_fast (ptr only)
20
- #include <gsl/pointers> // for owner
21
- #include <gsl/span> // for span, dynamic_extent
22
- #include <gsl/string_span> // for basic_string_span, operator==, ensure_z
23
-
24
- #include <algorithm> // for move, find
25
- #include <cstddef> // for size_t
26
- #include <map> // for map
27
- #include <string> // for basic_string, string, char_traits, operat...
28
- #include <type_traits> // for remove_reference<>::type
29
- #include <vector> // for vector, allocator
30
-
31
- using namespace std;
32
- using namespace gsl;
33
-
34
- namespace
35
- {
36
- static constexpr char deathstring[] = "Expected Death";
37
- }
38
- // Generic string functions
39
-
40
- namespace generic
41
- {
42
-
43
- template <typename CharT>
44
- auto strlen(const CharT* s)
45
- {
46
- auto p = s;
47
- while (*p) ++p;
48
- return p - s;
49
- }
50
-
51
- template <typename CharT>
52
- auto strnlen(const CharT* s, std::size_t n)
53
- {
54
- return std::find(s, s + n, CharT{0}) - s;
55
- }
56
-
57
- } // namespace generic
58
-
59
- namespace
60
- {
61
-
62
- template <typename T>
63
- T move_wrapper(T&& t)
64
- {
65
- return std::move(t);
66
- }
67
-
68
- // not used otherwise
69
- #ifdef CONFIRM_COMPILATION_ERRORS
70
-
71
- template <class T>
72
- T create()
73
- {
74
- return T{};
75
- }
76
-
77
- template <class T>
78
- void use(basic_string_span<T, gsl::dynamic_extent>)
79
- {
80
- }
81
- #endif
82
-
83
- czstring_span<> CreateTempName(string_span<> span)
84
- {
85
- Expects(span.size() > 1);
86
-
87
- std::size_t last = 0;
88
- if (span.size() > 4) {
89
- span[0] = 't';
90
- span[1] = 'm';
91
- span[2] = 'p';
92
- last = 3;
93
- }
94
- span[last] = '\0';
95
-
96
- auto ret = span.subspan(0, 4);
97
- return {ret};
98
- }
99
-
100
- cwzstring_span<> CreateTempNameW(wstring_span<> span)
101
- {
102
- Expects(span.size() > 1);
103
-
104
- std::size_t last = 0;
105
- if (span.size() > 4) {
106
- span[0] = L't';
107
- span[1] = L'm';
108
- span[2] = L'p';
109
- last = 3;
110
- }
111
- span[last] = L'\0';
112
-
113
- auto ret = span.subspan(0, 4);
114
- return {ret};
115
- }
116
-
117
- cu16zstring_span<> CreateTempNameU16(u16string_span<> span)
118
- {
119
- Expects(span.size() > 1);
120
-
121
- std::size_t last = 0;
122
- if (span.size() > 4) {
123
- span[0] = u't';
124
- span[1] = u'm';
125
- span[2] = u'p';
126
- last = 3;
127
- }
128
- span[last] = u'\0';
129
-
130
- auto ret = span.subspan(0, 4);
131
- return {ret};
132
- }
133
-
134
- cu32zstring_span<> CreateTempNameU32(u32string_span<> span)
135
- {
136
- Expects(span.size() > 1);
137
-
138
- std::size_t last = 0;
139
- if (span.size() > 4) {
140
- span[0] = U't';
141
- span[1] = U'm';
142
- span[2] = U'p';
143
- last = 3;
144
- }
145
- span[last] = U'\0';
146
-
147
- auto ret = span.subspan(0, 4);
148
- return {ret};
149
- }
150
- } // namespace
151
-
152
- TEST(string_span_tests, TestLiteralConstruction)
153
- {
154
- cwstring_span<> v = ensure_z(L"Hello");
155
- EXPECT_TRUE(5 == v.length());
156
-
157
- #ifdef CONFIRM_COMPILATION_ERRORS
158
- wstring_span<> v2 = ensure0(L"Hello");
159
- #endif
160
- }
161
-
162
- TEST(string_span_tests, TestConstructFromStdString)
163
- {
164
- std::string s = "Hello there world";
165
- cstring_span<> v = s;
166
- EXPECT_TRUE(v.length() == static_cast<cstring_span<>::size_type>(s.length()));
167
- }
168
-
169
- TEST(string_span_tests, TestConstructFromStdVector)
170
- {
171
- std::vector<char> vec(5, 'h');
172
- string_span<> v{vec};
173
- EXPECT_TRUE(v.length() == static_cast<string_span<>::size_type>(vec.size()));
174
- }
175
-
176
- TEST(string_span_tests, TestStackArrayConstruction)
177
- {
178
- wchar_t stack_string[] = L"Hello";
179
-
180
- {
181
- cwstring_span<> v = ensure_z(stack_string);
182
- EXPECT_TRUE(v.length() == 5);
183
- }
184
-
185
- {
186
- cwstring_span<> v = stack_string;
187
- EXPECT_TRUE(v.length() == 5);
188
- }
189
-
190
- {
191
- wstring_span<> v = ensure_z(stack_string);
192
- EXPECT_TRUE(v.length() == 5);
193
- }
194
-
195
- {
196
- wstring_span<> v = stack_string;
197
- EXPECT_TRUE(v.length() == 5);
198
- }
199
- }
200
-
201
- TEST(string_span_tests, TestConstructFromConstCharPointer)
202
- {
203
- const char* s = "Hello";
204
- cstring_span<> v = ensure_z(s);
205
- EXPECT_TRUE(v.length() == 5);
206
- }
207
-
208
- TEST(string_span_tests, TestConversionToConst)
209
- {
210
- char stack_string[] = "Hello";
211
- string_span<> v = ensure_z(stack_string);
212
- cstring_span<> v2 = v;
213
- EXPECT_TRUE(v.length() == v2.length());
214
- }
215
-
216
- TEST(string_span_tests, TestConversionFromConst)
217
- {
218
- char stack_string[] = "Hello";
219
- cstring_span<> v = ensure_z(stack_string);
220
- (void) v;
221
- #ifdef CONFIRM_COMPILATION_ERRORS
222
- string_span<> v2 = v;
223
- string_span<> v3 = "Hello";
224
- #endif
225
- }
226
-
227
- TEST(string_span_tests, TestToString)
228
- {
229
- auto s = gsl::to_string(cstring_span<>{});
230
- EXPECT_TRUE(s.length() == static_cast<size_t>(0));
231
-
232
- char stack_string[] = "Hello";
233
- cstring_span<> v = ensure_z(stack_string);
234
- auto s2 = gsl::to_string(v);
235
- EXPECT_TRUE(static_cast<cstring_span<>::size_type>(s2.length()) == v.length());
236
- EXPECT_TRUE(s2.length() == static_cast<size_t>(5));
237
- }
238
-
239
- TEST(string_span_tests, TestToBasicString)
240
- {
241
- auto s = gsl::to_basic_string<char, std::char_traits<char>, ::std::allocator<char>>(
242
- cstring_span<>{});
243
- EXPECT_TRUE(s.length() == static_cast<size_t>(0));
244
-
245
- char stack_string[] = "Hello";
246
- cstring_span<> v = ensure_z(stack_string);
247
- auto s2 = gsl::to_basic_string<char, std::char_traits<char>, ::std::allocator<char>>(v);
248
- EXPECT_TRUE(static_cast<cstring_span<>::size_type>(s2.length()) == v.length());
249
- EXPECT_TRUE(s2.length() == static_cast<size_t>(5));
250
- }
251
-
252
- TEST(string_span_tests, EqualityAndImplicitConstructors)
253
- {
254
- {
255
- cstring_span<> span = "Hello";
256
- cstring_span<> span1;
257
-
258
- // comparison to empty span
259
- EXPECT_TRUE(span1 != span);
260
- EXPECT_TRUE(span != span1);
261
- }
262
-
263
- {
264
- cstring_span<> span = "Hello";
265
- cstring_span<> span1 = "Hello1";
266
-
267
- // comparison to different span
268
- EXPECT_TRUE(span1 != span);
269
- EXPECT_TRUE(span != span1);
270
- }
271
-
272
- {
273
- cstring_span<> span = "Hello";
274
-
275
- const char ar[] = {'H', 'e', 'l', 'l', 'o'};
276
- const char ar1[] = "Hello";
277
- const char ar2[10] = "Hello";
278
- const char* ptr = "Hello";
279
- const std::string str = "Hello";
280
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
281
- gsl::span<const char> sp = ensure_z("Hello");
282
-
283
- // comparison to literal
284
- EXPECT_TRUE(span == cstring_span<>("Hello"));
285
-
286
- // comparison to static array with no null termination
287
- EXPECT_TRUE(span == cstring_span<>(ar));
288
-
289
- // comparison to static array with null at the end
290
- EXPECT_TRUE(span == cstring_span<>(ar1));
291
-
292
- // comparison to static array with null in the middle
293
- EXPECT_TRUE(span == cstring_span<>(ar2));
294
-
295
- // comparison to null-terminated c string
296
- EXPECT_TRUE(span == cstring_span<>(ptr, 5));
297
-
298
- // comparison to string
299
- EXPECT_TRUE(span == cstring_span<>(str));
300
-
301
- // comparison to vector of charaters with no null termination
302
- EXPECT_TRUE(span == cstring_span<>(vec));
303
-
304
- // comparison to span
305
- EXPECT_TRUE(span == cstring_span<>(sp));
306
-
307
- // comparison to string_span
308
- EXPECT_TRUE(span == span);
309
- }
310
-
311
- {
312
- char ar[] = {'H', 'e', 'l', 'l', 'o'};
313
-
314
- string_span<> span = ar;
315
-
316
- char ar1[] = "Hello";
317
- char ar2[10] = "Hello";
318
- char* ptr = ar;
319
- std::string str = "Hello";
320
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
321
- gsl::span<char> sp = ensure_z(ar1);
322
-
323
- // comparison to static array with no null termination
324
- EXPECT_TRUE(span == string_span<>(ar));
325
-
326
- // comparison to static array with null at the end
327
- EXPECT_TRUE(span == string_span<>(ar1));
328
-
329
- // comparison to static array with null in the middle
330
- EXPECT_TRUE(span == string_span<>(ar2));
331
-
332
- // comparison to null-terminated c string
333
- EXPECT_TRUE(span == string_span<>(ptr, 5));
334
-
335
- // comparison to string
336
- EXPECT_TRUE(span == string_span<>(str));
337
-
338
- // comparison to vector of charaters with no null termination
339
- EXPECT_TRUE(span == string_span<>(vec));
340
-
341
- // comparison to span
342
- EXPECT_TRUE(span == string_span<>(sp));
343
-
344
- // comparison to string_span
345
- EXPECT_TRUE(span == span);
346
- }
347
-
348
- {
349
- const char ar[] = {'H', 'e', 'l', 'l', 'o'};
350
- const char ar1[] = "Hello";
351
- const char ar2[10] = "Hello";
352
- const std::string str = "Hello";
353
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
354
- const gsl::span<const char> sp = ensure_z("Hello");
355
-
356
- cstring_span<> span = "Hello";
357
-
358
- // const span, const other type
359
-
360
- EXPECT_TRUE(span == "Hello");
361
- EXPECT_TRUE(span == ar);
362
- EXPECT_TRUE(span == ar1);
363
- EXPECT_TRUE(span == ar2);
364
- #ifdef CONFIRM_COMPILATION_ERRORS
365
- const char* ptr = "Hello";
366
- EXPECT_TRUE(span == ptr);
367
- #endif
368
- EXPECT_TRUE(span == str);
369
- EXPECT_TRUE(span == vec);
370
- EXPECT_TRUE(span == sp);
371
-
372
- EXPECT_TRUE("Hello" == span);
373
- EXPECT_TRUE(ar == span);
374
- EXPECT_TRUE(ar1 == span);
375
- EXPECT_TRUE(ar2 == span);
376
- #ifdef CONFIRM_COMPILATION_ERRORS
377
- EXPECT_TRUE(ptr == span);
378
- #endif
379
- EXPECT_TRUE(str == span);
380
- EXPECT_TRUE(vec == span);
381
- EXPECT_TRUE(sp == span);
382
-
383
- // const span, non-const other type
384
-
385
- char _ar[] = {'H', 'e', 'l', 'l', 'o'};
386
- char _ar1[] = "Hello";
387
- char _ar2[10] = "Hello";
388
- char* _ptr = _ar;
389
- std::string _str = "Hello";
390
- std::vector<char> _vec = {'H', 'e', 'l', 'l', 'o'};
391
- gsl::span<char> _sp{_ar, 5};
392
-
393
- EXPECT_TRUE(span == _ar);
394
- EXPECT_TRUE(span == _ar1);
395
- EXPECT_TRUE(span == _ar2);
396
- #ifdef CONFIRM_COMPILATION_ERRORS
397
- EXPECT_TRUE(span == _ptr);
398
- #endif
399
- EXPECT_TRUE(span == _str);
400
- EXPECT_TRUE(span == _vec);
401
- EXPECT_TRUE(span == _sp);
402
-
403
- EXPECT_TRUE(_ar == span);
404
- EXPECT_TRUE(_ar1 == span);
405
- EXPECT_TRUE(_ar2 == span);
406
- #ifdef CONFIRM_COMPILATION_ERRORS
407
- EXPECT_TRUE(_ptr == span);
408
- #endif
409
- EXPECT_TRUE(_str == span);
410
- EXPECT_TRUE(_vec == span);
411
- EXPECT_TRUE(_sp == span);
412
-
413
- string_span<> _span{_ptr, 5};
414
-
415
- // non-const span, non-const other type
416
-
417
- EXPECT_TRUE(_span == _ar);
418
- EXPECT_TRUE(_span == _ar1);
419
- EXPECT_TRUE(_span == _ar2);
420
- #ifdef CONFIRM_COMPILATION_ERRORS
421
- EXPECT_TRUE(_span == _ptr);
422
- #endif
423
- EXPECT_TRUE(_span == _str);
424
- EXPECT_TRUE(_span == _vec);
425
- EXPECT_TRUE(_span == _sp);
426
-
427
- EXPECT_TRUE(_ar == _span);
428
- EXPECT_TRUE(_ar1 == _span);
429
- EXPECT_TRUE(_ar2 == _span);
430
- #ifdef CONFIRM_COMPILATION_ERRORS
431
- EXPECT_TRUE(_ptr == _span);
432
- #endif
433
- EXPECT_TRUE(_str == _span);
434
- EXPECT_TRUE(_vec == _span);
435
- EXPECT_TRUE(_sp == _span);
436
-
437
- // non-const span, const other type
438
-
439
- EXPECT_TRUE(_span == "Hello");
440
- EXPECT_TRUE(_span == ar);
441
- EXPECT_TRUE(_span == ar1);
442
- EXPECT_TRUE(_span == ar2);
443
- #ifdef CONFIRM_COMPILATION_ERRORS
444
- EXPECT_TRUE(_span == ptr);
445
- #endif
446
- EXPECT_TRUE(_span == str);
447
- EXPECT_TRUE(_span == vec);
448
- EXPECT_TRUE(_span == sp);
449
-
450
- EXPECT_TRUE("Hello" == _span);
451
- EXPECT_TRUE(ar == _span);
452
- EXPECT_TRUE(ar1 == _span);
453
- EXPECT_TRUE(ar2 == _span);
454
- #ifdef CONFIRM_COMPILATION_ERRORS
455
- EXPECT_TRUE(ptr == _span);
456
- #endif
457
- EXPECT_TRUE(str == _span);
458
- EXPECT_TRUE(vec == _span);
459
- EXPECT_TRUE(sp == _span);
460
-
461
- // two spans
462
-
463
- EXPECT_TRUE(_span == span);
464
- EXPECT_TRUE(span == _span);
465
- }
466
-
467
- {
468
- std::vector<char> str1 = {'H', 'e', 'l', 'l', 'o'};
469
- cstring_span<> span1 = str1;
470
- std::vector<char> str2 = std::move(str1);
471
- cstring_span<> span2 = str2;
472
-
473
- // comparison of spans from the same vector before and after move (ok)
474
- EXPECT_TRUE(span1 == span2);
475
- }
476
- }
477
-
478
- TEST(string_span_tests, ComparisonAndImplicitConstructors)
479
- {
480
- {
481
- cstring_span<> span = "Hello";
482
-
483
- const char ar[] = {'H', 'e', 'l', 'l', 'o'};
484
- const char ar1[] = "Hello";
485
- const char ar2[10] = "Hello";
486
- const char* ptr = "Hello";
487
- const std::string str = "Hello";
488
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
489
-
490
- // comparison to literal
491
- EXPECT_TRUE(span < cstring_span<>("Helloo"));
492
- EXPECT_TRUE(span > cstring_span<>("Hell"));
493
-
494
- // comparison to static array with no null termination
495
- EXPECT_TRUE(span >= cstring_span<>(ar));
496
-
497
- // comparison to static array with null at the end
498
- EXPECT_TRUE(span <= cstring_span<>(ar1));
499
-
500
- // comparison to static array with null in the middle
501
- EXPECT_TRUE(span >= cstring_span<>(ar2));
502
-
503
- // comparison to null-terminated c string
504
- EXPECT_TRUE(span <= cstring_span<>(ptr, 5));
505
-
506
- // comparison to string
507
- EXPECT_TRUE(span >= cstring_span<>(str));
508
-
509
- // comparison to vector of charaters with no null termination
510
- EXPECT_TRUE(span <= cstring_span<>(vec));
511
- }
512
-
513
- {
514
- char ar[] = {'H', 'e', 'l', 'l', 'o'};
515
-
516
- string_span<> span = ar;
517
-
518
- char larr[] = "Hell";
519
- char rarr[] = "Helloo";
520
-
521
- char ar1[] = "Hello";
522
- char ar2[10] = "Hello";
523
- char* ptr = ar;
524
- std::string str = "Hello";
525
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
526
-
527
- // comparison to static array with no null termination
528
- EXPECT_TRUE(span <= string_span<>(ar));
529
- EXPECT_TRUE(span < string_span<>(rarr));
530
- EXPECT_TRUE(span > string_span<>(larr));
531
-
532
- // comparison to static array with null at the end
533
- EXPECT_TRUE(span >= string_span<>(ar1));
534
-
535
- // comparison to static array with null in the middle
536
- EXPECT_TRUE(span <= string_span<>(ar2));
537
-
538
- // comparison to null-terminated c string
539
- EXPECT_TRUE(span >= string_span<>(ptr, 5));
540
-
541
- // comparison to string
542
- EXPECT_TRUE(span <= string_span<>(str));
543
-
544
- // comparison to vector of charaters with no null termination
545
- EXPECT_TRUE(span >= string_span<>(vec));
546
- }
547
- }
548
-
549
- TEST(string_span_tests, ConstrutorsEnsureZ)
550
- {
551
- // remove z from literals
552
- {
553
- cstring_span<> sp = "hello";
554
- EXPECT_TRUE(sp.length() == 5);
555
- }
556
-
557
- // take the string as is
558
- {
559
- auto str = std::string("hello");
560
- cstring_span<> sp = str;
561
- EXPECT_TRUE(sp.length() == 5);
562
- }
563
-
564
- // ensure z on c strings
565
- {
566
- gsl::owner<char*> ptr = new char[3];
567
-
568
- ptr[0] = 'a';
569
- ptr[1] = 'b';
570
- ptr[2] = '\0';
571
-
572
- string_span<> span = ensure_z(ptr);
573
- EXPECT_TRUE(span.length() == 2);
574
-
575
- delete[] ptr;
576
- }
577
- }
578
-
579
- TEST(string_span_tests, Constructors)
580
- {
581
- // creating cstring_span
582
-
583
- // from span of a final extent
584
- {
585
- span<const char, 6> sp = "Hello";
586
- cstring_span<> span = sp;
587
- EXPECT_TRUE(span.length() == 6);
588
- }
589
-
590
- // from const span of a final extent to non-const string_span
591
- #ifdef CONFIRM_COMPILATION_ERRORS
592
- {
593
- span<const char, 6> sp = "Hello";
594
- string_span<> span = sp;
595
- EXPECT_TRUE(span.length() == 6);
596
- }
597
- #endif
598
-
599
- // from string temporary
600
- #ifdef CONFIRM_COMPILATION_ERRORS
601
- {
602
- cstring_span<> span = std::string("Hello");
603
- }
604
- #endif
605
-
606
- // default
607
- {
608
- cstring_span<> span;
609
- EXPECT_TRUE(span.length() == 0);
610
- }
611
-
612
- // from string literal
613
- {
614
- cstring_span<> span = "Hello";
615
- EXPECT_TRUE(span.length() == 5);
616
- }
617
-
618
- // from const static array
619
- {
620
- const char ar[] = {'H', 'e', 'l', 'l', 'o'};
621
- cstring_span<> span = ar;
622
- EXPECT_TRUE(span.length() == 5);
623
- }
624
-
625
- // from non-const static array
626
- {
627
- char ar[] = {'H', 'e', 'l', 'l', 'o'};
628
- cstring_span<> span = ar;
629
- EXPECT_TRUE(span.length() == 5);
630
- }
631
-
632
- // from const ptr and length
633
- {
634
- const char* ptr = "Hello";
635
- cstring_span<> span{ptr, 5};
636
- EXPECT_TRUE(span.length() == 5);
637
- }
638
-
639
- // from const ptr and length, include 0
640
- {
641
- const char* ptr = "Hello";
642
- cstring_span<> span{ptr, 6};
643
- EXPECT_TRUE(span.length() == 6);
644
- }
645
-
646
- // from const ptr and length, 0 inside
647
- {
648
- const char* ptr = "He\0lo";
649
- cstring_span<> span{ptr, 5};
650
- EXPECT_TRUE(span.length() == 5);
651
- }
652
-
653
- // from non-const ptr and length
654
- {
655
- char ar[] = {'H', 'e', 'l', 'l', 'o'};
656
- char* ptr = ar;
657
- cstring_span<> span{ptr, 5};
658
- EXPECT_TRUE(span.length() == 5);
659
- }
660
-
661
- // from non-const ptr and length, 0 inside
662
- {
663
- char ar[] = {'H', 'e', '\0', 'l', 'o'};
664
- char* ptr = ar;
665
- cstring_span<> span{ptr, 5};
666
- EXPECT_TRUE(span.length() == 5);
667
- }
668
-
669
- // from const string
670
- {
671
- const std::string str = "Hello";
672
- const cstring_span<> span = str;
673
- EXPECT_TRUE(span.length() == 5);
674
- }
675
-
676
- // from non-const string
677
- {
678
- std::string str = "Hello";
679
- const cstring_span<> span = str;
680
- EXPECT_TRUE(span.length() == 5);
681
- }
682
-
683
- // from const vector
684
- {
685
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
686
- const cstring_span<> span = vec;
687
- EXPECT_TRUE(span.length() == 5);
688
- }
689
-
690
- // from non-const vector
691
- {
692
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
693
- const cstring_span<> span = vec;
694
- EXPECT_TRUE(span.length() == 5);
695
- }
696
-
697
- // from const span
698
- {
699
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
700
- const span<const char> inner = vec;
701
- const cstring_span<> span = inner;
702
- EXPECT_TRUE(span.length() == 5);
703
- }
704
-
705
- // from non-const span
706
- {
707
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
708
- const span<char> inner = vec;
709
- const cstring_span<> span = inner;
710
- EXPECT_TRUE(span.length() == 5);
711
- }
712
-
713
- // from const string_span
714
- {
715
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
716
- const cstring_span<> tmp = vec;
717
- const cstring_span<> span = tmp;
718
- EXPECT_TRUE(span.length() == 5);
719
- }
720
-
721
- // from non-const string_span
722
- {
723
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
724
- string_span<> tmp = vec;
725
- cstring_span<> span = tmp;
726
- EXPECT_TRUE(span.length() == 5);
727
- }
728
-
729
- // creating string_span
730
-
731
- // from string literal
732
- {
733
- #ifdef CONFIRM_COMPILATION_ERRORS
734
- string_span<> span = "Hello";
735
- #endif
736
- }
737
-
738
- // from const static array
739
- {
740
- #ifdef CONFIRM_COMPILATION_ERRORS
741
- const char ar[] = {'H', 'e', 'l', 'l', 'o'};
742
- string_span<> span = ar;
743
- EXPECT_TRUE(span.length() == 5);
744
- #endif
745
- }
746
-
747
- // from non-const static array
748
- {
749
- char ar[] = {'H', 'e', 'l', 'l', 'o'};
750
- string_span<> span = ar;
751
- EXPECT_TRUE(span.length() == 5);
752
- }
753
-
754
- // from const ptr and length
755
- {
756
- #ifdef CONFIRM_COMPILATION_ERRORS
757
- const char* ptr = "Hello";
758
- string_span<> span{ptr, 5};
759
- EXPECT_TRUE(span.length() == 5);
760
- #endif
761
- }
762
-
763
- // from non-const ptr and length
764
- {
765
- char ar[] = {'H', 'e', 'l', 'l', 'o'};
766
- char* ptr = ar;
767
- string_span<> span{ptr, 5};
768
- EXPECT_TRUE(span.length() == 5);
769
- }
770
-
771
- // from const string
772
- {
773
- #ifdef CONFIRM_COMPILATION_ERRORS
774
- const std::string str = "Hello";
775
- string_span<> span = str;
776
- EXPECT_TRUE(span.length() == 5);
777
- #endif
778
- }
779
-
780
- // from non-const string
781
- {
782
- std::string str = "Hello";
783
- string_span<> span = str;
784
- EXPECT_TRUE(span.length() == 5);
785
- }
786
-
787
- // from const vector
788
- {
789
- #ifdef CONFIRM_COMPILATION_ERRORS
790
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
791
- string_span<> span = vec;
792
- EXPECT_TRUE(span.length() == 5);
793
- #endif
794
- }
795
-
796
- // from non-const vector
797
- {
798
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
799
- string_span<> span = vec;
800
- EXPECT_TRUE(span.length() == 5);
801
- }
802
-
803
- // from const span
804
- {
805
- #ifdef CONFIRM_COMPILATION_ERRORS
806
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
807
- const span<const char> inner = vec;
808
- string_span<> span = inner;
809
- EXPECT_TRUE(span.length() == 5);
810
- #endif
811
- }
812
-
813
- // from non-const span
814
- {
815
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
816
- span<char> inner = vec;
817
- string_span<> span = inner;
818
- EXPECT_TRUE(span.length() == 5);
819
- }
820
-
821
- // from non-const span of non-const data from const vector
822
- {
823
- #ifdef CONFIRM_COMPILATION_ERRORS
824
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
825
- const span<char> inner = vec;
826
- string_span<> span = inner;
827
- EXPECT_TRUE(span.length() == 5);
828
- #endif
829
- }
830
-
831
- // from const string_span
832
- {
833
- #ifdef CONFIRM_COMPILATION_ERRORS
834
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
835
- cstring_span<> tmp = vec;
836
- string_span<> span = tmp;
837
- EXPECT_TRUE(span.length() == 5);
838
- #endif
839
- }
840
-
841
- // from non-const string_span
842
- {
843
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
844
- const string_span<> tmp = vec;
845
- const string_span<> span = tmp;
846
- EXPECT_TRUE(span.length() == 5);
847
- }
848
-
849
- // from non-const string_span from const vector
850
- {
851
- #ifdef CONFIRM_COMPILATION_ERRORS
852
- const std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
853
- string_span<> tmp = vec;
854
- string_span<> span = tmp;
855
- EXPECT_TRUE(span.length() == 5);
856
- #endif
857
- }
858
-
859
- // from const string_span of non-const data
860
- {
861
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
862
- const string_span<> tmp = vec;
863
- const string_span<> span = tmp;
864
- EXPECT_TRUE(span.length() == 5);
865
- }
866
- }
867
-
868
- TEST(string_span_tests, MoveConstructors)
869
- {
870
- // move string_span
871
- {
872
- cstring_span<> span = "Hello";
873
- const auto span1 = std::move(span);
874
- EXPECT_TRUE(span1.length() == 5);
875
- }
876
- {
877
- cstring_span<> span = "Hello";
878
- const auto span1 = move_wrapper(std::move(span));
879
- EXPECT_TRUE(span1.length() == 5);
880
- }
881
- {
882
- cstring_span<> span = "Hello";
883
- const auto span1 = move_wrapper(std::move(span));
884
- EXPECT_TRUE(span1.length() == 5);
885
- }
886
-
887
- // move span
888
- {
889
- span<const char> span = ensure_z("Hello");
890
- const cstring_span<> span1 = std::move(span);
891
- EXPECT_TRUE(span1.length() == 5);
892
- }
893
- {
894
- span<const char> span = ensure_z("Hello");
895
- const cstring_span<> span2 = move_wrapper(std::move(span));
896
- EXPECT_TRUE(span2.length() == 5);
897
- }
898
-
899
- // move string
900
- {
901
- #ifdef CONFIRM_COMPILATION_ERRORS
902
- std::string str = "Hello";
903
- string_span<> span = std::move(str);
904
- EXPECT_TRUE(span.length() == 5);
905
- #endif
906
- }
907
- {
908
- #ifdef CONFIRM_COMPILATION_ERRORS
909
- std::string str = "Hello";
910
- string_span<> span = move_wrapper<std::string>(std::move(str));
911
- EXPECT_TRUE(span.length() == 5);
912
- #endif
913
- }
914
- {
915
- #ifdef CONFIRM_COMPILATION_ERRORS
916
- use<char>(create<string>());
917
- #endif
918
- }
919
-
920
- // move container
921
- {
922
- #ifdef CONFIRM_COMPILATION_ERRORS
923
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
924
- string_span<> span = std::move(vec);
925
- EXPECT_TRUE(span.length() == 5);
926
- #endif
927
- }
928
- {
929
- #ifdef CONFIRM_COMPILATION_ERRORS
930
- std::vector<char> vec = {'H', 'e', 'l', 'l', 'o'};
931
- string_span<> span = move_wrapper<std::vector<char>>(std::move(vec));
932
- EXPECT_TRUE(span.length() == 5);
933
- #endif
934
- }
935
- {
936
- #ifdef CONFIRM_COMPILATION_ERRORS
937
- use<char>(create<std::vector<char>>());
938
- #endif
939
- }
940
- }
941
-
942
- TEST(string_span_tests, Conversion)
943
- {
944
- #ifdef CONFIRM_COMPILATION_ERRORS
945
- cstring_span<> span = "Hello";
946
- cwstring_span<> wspan{span};
947
- EXPECT_TRUE(wspan.length() == 5);
948
- #endif
949
- }
950
-
951
- TEST(string_span_tests, zstring)
952
- {
953
- std::set_terminate([] {
954
- std::cerr << "Expected Death. zstring";
955
- std::abort();
956
- });
957
-
958
- // create zspan from zero terminated string
959
- {
960
- char buf[1];
961
- buf[0] = '\0';
962
-
963
- zstring_span<> zspan({buf, 1});
964
-
965
- EXPECT_TRUE(generic::strlen(zspan.assume_z()) == 0);
966
- EXPECT_TRUE(zspan.as_string_span().size() == 0);
967
- EXPECT_TRUE(zspan.ensure_z().size() == 0);
968
- }
969
-
970
- // create zspan from non-zero terminated string
971
- {
972
- char buf[1];
973
- buf[0] = 'a';
974
-
975
- auto workaround_macro = [&]() { const zstring_span<> zspan({buf, 1}); };
976
- EXPECT_DEATH(workaround_macro(), deathstring);
977
- }
978
-
979
- // usage scenario: create zero-terminated temp file name and pass to a legacy API
980
- {
981
- char buf[10];
982
-
983
- auto name = CreateTempName({buf, 10});
984
- if (!name.empty()) {
985
- czstring<> str = name.assume_z();
986
- EXPECT_TRUE(generic::strlen(str) == 3);
987
- EXPECT_TRUE(*(str + 3) == '\0');
988
- }
989
- }
990
- }
991
-
992
- TEST(string_span_tests, wzstring)
993
- {
994
- std::set_terminate([] {
995
- std::cerr << "Expected Death. wzstring";
996
- std::abort();
997
- });
998
-
999
- // create zspan from zero terminated string
1000
- {
1001
- wchar_t buf[1];
1002
- buf[0] = L'\0';
1003
-
1004
- wzstring_span<> zspan({buf, 1});
1005
-
1006
- EXPECT_TRUE(generic::strnlen(zspan.assume_z(), 1) == 0);
1007
- EXPECT_TRUE(zspan.as_string_span().size() == 0);
1008
- EXPECT_TRUE(zspan.ensure_z().size() == 0);
1009
- }
1010
-
1011
- // create zspan from non-zero terminated string
1012
- {
1013
- wchar_t buf[1];
1014
- buf[0] = L'a';
1015
-
1016
- const auto workaround_macro = [&]() { const wzstring_span<> zspan({buf, 1}); };
1017
- EXPECT_DEATH(workaround_macro(), deathstring);
1018
- }
1019
-
1020
- // usage scenario: create zero-terminated temp file name and pass to a legacy API
1021
- {
1022
- wchar_t buf[10];
1023
-
1024
- const auto name = CreateTempNameW({buf, 10});
1025
- if (!name.empty()) {
1026
- cwzstring<> str = name.assume_z();
1027
- EXPECT_TRUE(generic::strnlen(str, 10) == 3);
1028
- EXPECT_TRUE(*(str + 3) == L'\0');
1029
- }
1030
- }
1031
- }
1032
-
1033
- TEST(string_span_tests, u16zstring)
1034
- {
1035
- std::set_terminate([] {
1036
- std::cerr << "Expected Death. u16zstring";
1037
- std::abort();
1038
- });
1039
-
1040
- // create zspan from zero terminated string
1041
- {
1042
- char16_t buf[1];
1043
- buf[0] = L'\0';
1044
-
1045
- u16zstring_span<> zspan({buf, 1});
1046
-
1047
- EXPECT_TRUE(generic::strnlen(zspan.assume_z(), 1) == 0);
1048
- EXPECT_TRUE(zspan.as_string_span().size() == 0);
1049
- EXPECT_TRUE(zspan.ensure_z().size() == 0);
1050
- }
1051
-
1052
- // create zspan from non-zero terminated string
1053
- {
1054
- char16_t buf[1];
1055
- buf[0] = u'a';
1056
-
1057
- const auto workaround_macro = [&]() { const u16zstring_span<> zspan({buf, 1}); };
1058
- EXPECT_DEATH(workaround_macro(), deathstring);
1059
- }
1060
-
1061
- // usage scenario: create zero-terminated temp file name and pass to a legacy API
1062
- {
1063
- char16_t buf[10];
1064
-
1065
- const auto name = CreateTempNameU16({buf, 10});
1066
- if (!name.empty()) {
1067
- cu16zstring<> str = name.assume_z();
1068
- EXPECT_TRUE(generic::strnlen(str, 10) == 3);
1069
- EXPECT_TRUE(*(str + 3) == L'\0');
1070
- }
1071
- }
1072
- }
1073
-
1074
- TEST(string_span_tests, u32zstring)
1075
- {
1076
- std::set_terminate([] {
1077
- std::cerr << "Expected Death. u31zstring";
1078
- std::abort();
1079
- });
1080
-
1081
- // create zspan from zero terminated string
1082
- {
1083
- char32_t buf[1];
1084
- buf[0] = L'\0';
1085
-
1086
- u32zstring_span<> zspan({buf, 1});
1087
-
1088
- EXPECT_TRUE(generic::strnlen(zspan.assume_z(), 1) == 0);
1089
- EXPECT_TRUE(zspan.as_string_span().size() == 0);
1090
- EXPECT_TRUE(zspan.ensure_z().size() == 0);
1091
- }
1092
-
1093
- // create zspan from non-zero terminated string
1094
- {
1095
- char32_t buf[1];
1096
- buf[0] = u'a';
1097
-
1098
- const auto workaround_macro = [&]() { const u32zstring_span<> zspan({buf, 1}); };
1099
- EXPECT_DEATH(workaround_macro(), deathstring);
1100
- }
1101
-
1102
- // usage scenario: create zero-terminated temp file name and pass to a legacy API
1103
- {
1104
- char32_t buf[10];
1105
-
1106
- const auto name = CreateTempNameU32({buf, 10});
1107
- if (!name.empty()) {
1108
- cu32zstring<> str = name.assume_z();
1109
- EXPECT_TRUE(generic::strnlen(str, 10) == 3);
1110
- EXPECT_TRUE(*(str + 3) == L'\0');
1111
- }
1112
- }
1113
- }
1114
-
1115
- TEST(string_span_tests, Issue305)
1116
- {
1117
- std::map<gsl::cstring_span<>, int> foo = {{"foo", 0}, {"bar", 1}};
1118
- EXPECT_TRUE(foo["foo"] == 0);
1119
- EXPECT_TRUE(foo["bar"] == 1);
1120
- }
1121
-
1122
- TEST(string_span_tests, char16_t_type)
1123
- {
1124
- gsl::cu16string_span<> ss1 = gsl::ensure_z(u"abc");
1125
- EXPECT_TRUE(ss1.size() == 3);
1126
- EXPECT_TRUE(ss1.size_bytes() == 6);
1127
-
1128
- std::u16string s1 = gsl::to_string(ss1);
1129
- EXPECT_TRUE(s1 == u"abc");
1130
-
1131
- std::u16string s2 = u"abc";
1132
- gsl::u16string_span<> ss2 = s2;
1133
- EXPECT_TRUE(ss2.size() == 3);
1134
-
1135
- gsl::u16string_span<> ss3 = ss2.subspan(1, 1);
1136
- EXPECT_TRUE(ss3.size() == 1);
1137
- EXPECT_TRUE(ss3[0] == u'b');
1138
-
1139
- char16_t buf[4]{u'a', u'b', u'c', u'\0'};
1140
- gsl::u16string_span<> ss4{buf, 4};
1141
- EXPECT_TRUE(ss4[3] == u'\0');
1142
-
1143
- gsl::cu16zstring_span<> ss5(u"abc");
1144
- EXPECT_TRUE((ss5.as_string_span().size()) == 3);
1145
-
1146
- gsl::cu16string_span<> ss6 = ss5.as_string_span();
1147
- EXPECT_TRUE(ss6 == ss1);
1148
-
1149
- std::vector<char16_t> v7 = {u'a', u'b', u'c'};
1150
- gsl::cu16string_span<> ss7{v7};
1151
- EXPECT_TRUE(ss7 == ss1);
1152
-
1153
- gsl::cu16string_span<> ss8 = gsl::ensure_z(u"abc");
1154
- gsl::cu16string_span<> ss9 = gsl::ensure_z(u"abc");
1155
- EXPECT_TRUE(ss8 == ss9);
1156
-
1157
- ss9 = gsl::ensure_z(u"abd");
1158
- EXPECT_TRUE(ss8 < ss9);
1159
- EXPECT_TRUE(ss8 <= ss9);
1160
- EXPECT_TRUE(ss8 != ss9);
1161
- }
1162
-
1163
- TEST(string_span_tests, char32_t_type)
1164
- {
1165
- gsl::cu32string_span<> ss1 = gsl::ensure_z(U"abc");
1166
- EXPECT_TRUE(ss1.size() == 3);
1167
- EXPECT_TRUE(ss1.size_bytes() == 12);
1168
-
1169
- std::u32string s1 = gsl::to_string(ss1);
1170
- EXPECT_TRUE(s1 == U"abc");
1171
-
1172
- std::u32string s2 = U"abc";
1173
- gsl::u32string_span<> ss2 = s2;
1174
- EXPECT_TRUE(ss2.size() == 3);
1175
-
1176
- gsl::u32string_span<> ss3 = ss2.subspan(1, 1);
1177
- EXPECT_TRUE(ss3.size() == 1);
1178
- EXPECT_TRUE(ss3[0] == U'b');
1179
-
1180
- char32_t buf[4]{U'a', U'b', U'c', U'\0'};
1181
- gsl::u32string_span<> ss4{buf, 4};
1182
- EXPECT_TRUE(ss4[3] == u'\0');
1183
-
1184
- gsl::cu32zstring_span<> ss5(U"abc");
1185
- EXPECT_TRUE(ss5.as_string_span().size() == 3);
1186
-
1187
- gsl::cu32string_span<> ss6 = ss5.as_string_span();
1188
- EXPECT_TRUE(ss6 == ss1);
1189
-
1190
- gsl::cu32string_span<> ss8 = gsl::ensure_z(U"abc");
1191
- gsl::cu32string_span<> ss9 = gsl::ensure_z(U"abc");
1192
- EXPECT_TRUE(ss8 == ss9);
1193
-
1194
- ss9 = gsl::ensure_z(U"abd");
1195
- EXPECT_TRUE(ss8 < ss9);
1196
- EXPECT_TRUE(ss8 <= ss9);
1197
- EXPECT_TRUE(ss8 != ss9);
1198
- }
1199
-
1200
- TEST(string_span_tests, as_bytes)
1201
- {
1202
- cwzstring_span<> v(L"qwerty");
1203
- const auto s = v.as_string_span();
1204
- const auto bs = as_bytes(s);
1205
- EXPECT_TRUE(static_cast<const void*>(bs.data()) == static_cast<const void*>(s.data()));
1206
- EXPECT_TRUE(bs.size() == s.size_bytes());
1207
- }
1208
-
1209
- TEST(string_span_tests, as_writable_bytes)
1210
- {
1211
- wchar_t buf[]{L"qwerty"};
1212
- wzstring_span<> v(buf);
1213
- const auto s = v.as_string_span();
1214
- const auto bs = as_writable_bytes(s);
1215
- EXPECT_TRUE(static_cast<const void*>(bs.data()) == static_cast<const void*>(s.data()));
1216
- EXPECT_TRUE(bs.size() == s.size_bytes());
1217
- }