couchbase 3.0.0.alpha.2 → 3.0.0

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 (887) 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/management/analytics_index_manager.rb +139 -25
  165. data/lib/couchbase/management/bucket_manager.rb +19 -5
  166. data/lib/couchbase/management/collection_manager.rb +16 -7
  167. data/lib/couchbase/management/query_index_manager.rb +75 -20
  168. data/lib/couchbase/management/search_index_manager.rb +65 -15
  169. data/lib/couchbase/management/user_manager.rb +2 -2
  170. data/lib/couchbase/management/view_index_manager.rb +70 -11
  171. data/lib/couchbase/mutation_state.rb +13 -0
  172. data/lib/couchbase/query_options.rb +256 -0
  173. data/lib/couchbase/scope.rb +61 -8
  174. data/lib/couchbase/search_options.rb +1512 -0
  175. data/lib/couchbase/subdoc.rb +87 -23
  176. data/lib/couchbase/version.rb +2 -2
  177. data/lib/couchbase/view_options.rb +155 -0
  178. metadata +88 -783
  179. data/.github/workflows/tests-6.0.3.yml +0 -49
  180. data/.github/workflows/tests.yml +0 -47
  181. data/.gitignore +0 -20
  182. data/.gitmodules +0 -18
  183. data/.idea/.gitignore +0 -5
  184. data/.idea/dictionaries/gem_terms.xml +0 -18
  185. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  186. data/.idea/vcs.xml +0 -12
  187. data/bin/init-cluster +0 -62
  188. data/bin/setup +0 -24
  189. data/ext/couchbase/configuration_monitor.hxx +0 -93
  190. data/ext/couchbase/operations/command.hxx +0 -77
  191. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  192. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  193. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  194. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  195. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  196. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  197. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  198. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  199. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  200. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  201. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  202. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  203. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  204. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  205. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  206. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  207. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  208. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  209. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  210. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  211. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  212. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  213. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  214. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  215. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  216. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  217. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  218. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  219. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  220. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  221. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  222. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  223. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  224. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  225. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  226. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  227. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  228. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  229. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  230. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  231. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  232. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  233. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  234. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  235. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  236. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  237. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  238. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  239. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  240. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  241. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  242. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  243. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  244. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  245. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  246. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  247. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  248. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  249. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  250. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  251. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  252. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  253. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  254. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  255. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  256. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  257. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  258. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  259. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  260. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  261. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  262. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  263. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  264. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  265. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  266. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  267. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  268. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  269. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  270. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  271. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  272. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  273. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  274. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  275. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  276. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  277. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  278. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  279. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  280. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  281. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  282. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  283. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  284. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  285. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  286. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  287. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  288. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  289. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  290. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  291. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  292. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  293. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  294. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  295. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  296. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  297. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  298. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  299. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  300. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  301. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  302. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  303. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  304. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  305. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  306. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  307. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  308. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  309. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  310. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  311. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  312. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  313. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  314. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  315. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  316. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  317. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  318. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  319. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  320. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  321. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  322. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  323. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  324. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  325. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  326. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  327. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  328. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  329. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  330. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  331. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  332. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  333. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  334. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  335. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  336. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  337. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  338. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  339. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  340. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  341. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  342. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  343. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  344. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  345. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  346. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  347. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  348. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  349. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  350. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  351. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  352. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  353. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  354. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  355. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  356. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  357. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  358. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  359. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  360. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  361. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  362. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  363. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  364. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  365. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  366. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  367. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  368. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  369. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  370. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  371. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  372. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  373. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  374. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  375. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  376. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  377. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  378. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  379. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  380. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  381. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  382. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  383. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  384. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  385. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  386. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  387. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  388. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  389. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  390. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  391. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  392. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  393. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  394. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  395. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  396. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  397. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  398. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  399. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  400. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  401. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  402. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  403. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  404. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  405. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  406. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  407. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  408. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  409. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  410. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  411. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  412. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  413. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  414. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  415. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  416. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  417. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  418. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  419. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  420. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  421. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  422. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  423. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  424. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  425. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  426. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  427. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  428. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  429. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  430. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  431. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  432. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  433. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  434. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  435. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  436. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  437. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  438. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  439. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  440. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  441. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  442. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  443. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  444. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  445. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  446. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  447. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  448. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  449. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  450. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  451. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  452. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  453. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  454. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  455. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  456. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  457. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  458. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  459. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  460. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  461. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  462. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  463. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  464. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  465. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  466. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  467. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  468. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  469. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  470. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  471. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  472. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  473. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  474. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  475. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  476. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  477. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  478. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  479. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  480. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  481. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  482. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  483. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  484. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  485. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  486. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  487. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  488. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  489. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  490. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  491. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  492. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  493. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  494. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  495. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  496. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  497. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  498. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  499. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  500. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  501. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  502. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  503. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  504. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  505. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  506. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  507. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  508. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  509. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  510. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  511. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  512. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  513. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  514. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  515. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  516. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  517. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  518. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  519. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  520. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  521. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  522. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  523. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  524. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  525. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  526. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  527. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  528. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  529. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  530. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  531. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  532. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  533. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  534. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  535. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  536. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  537. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  538. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  539. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  540. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  541. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  542. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  543. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  544. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  545. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  546. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  547. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  548. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  549. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  550. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  551. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  552. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  553. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  554. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  555. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  556. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  557. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  558. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  559. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  560. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  561. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  562. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  563. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  564. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  565. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  566. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  567. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  568. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  569. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  570. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  571. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  572. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  573. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  574. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  575. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  576. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  577. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  578. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  579. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  580. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  581. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  582. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  583. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  584. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  585. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  586. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  587. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  588. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  589. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  590. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  591. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  592. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  593. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  594. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  595. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  596. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  597. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  598. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  599. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  600. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  601. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  602. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  603. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  604. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  605. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  606. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  607. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  608. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  609. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  610. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  611. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  612. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  613. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  614. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  615. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  616. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  617. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  618. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  619. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  620. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  621. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  622. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  623. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  624. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  625. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  626. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  627. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  628. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  629. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  630. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  631. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  632. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  633. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  634. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  635. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  636. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  637. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  638. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  639. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  640. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  641. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  642. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  643. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  644. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  645. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  646. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  647. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  648. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  649. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  650. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  651. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  652. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  653. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  654. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  655. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  656. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  657. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  658. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  659. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  660. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  661. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  662. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  663. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  664. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  665. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  666. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  667. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  668. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  669. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  670. data/ext/third_party/json/doc/Changelog.md +0 -31
  671. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  672. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  673. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  674. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  675. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  676. data/ext/third_party/json/doc/Interoperability.md +0 -75
  677. data/ext/third_party/json/doc/Overview.md +0 -24
  678. data/ext/third_party/json/doc/Overview.png +0 -0
  679. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  680. data/ext/third_party/json/doc/README.md +0 -78
  681. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  682. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  683. data/ext/third_party/json/doc/Types.png +0 -0
  684. data/ext/third_party/json/doc/Value-Class.md +0 -525
  685. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  686. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  687. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  688. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  689. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  690. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  691. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  692. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  693. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  694. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  695. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  696. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  697. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  698. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  699. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  700. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  701. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  702. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  703. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  704. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  705. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  706. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  707. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  708. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  709. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  710. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  711. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  712. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  713. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  714. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  715. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  716. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  717. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  718. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  719. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  720. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  721. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  722. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  723. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  724. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  725. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  726. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  727. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  728. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  729. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  730. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  731. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  732. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  733. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  734. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  735. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  736. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  737. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  738. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  739. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  740. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  741. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  742. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  743. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  744. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  745. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  746. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  747. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  748. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  749. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  750. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  751. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  752. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  753. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  754. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  755. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  756. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  757. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  758. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  759. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  760. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  761. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  762. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  763. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  764. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  765. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  766. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  767. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  768. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  769. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  770. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  771. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  772. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  773. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  774. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  775. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  776. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  777. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  778. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  779. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  780. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  781. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  782. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  783. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  784. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  785. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  786. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  787. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  788. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  789. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  790. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  791. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  792. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  793. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  794. data/ext/third_party/json/tests/blns.json +0 -496
  795. data/ext/third_party/json/tests/canada.json +0 -9
  796. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  797. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  798. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  799. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  800. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  801. data/ext/third_party/json/tests/draft4/default.json +0 -49
  802. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  803. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  804. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  805. data/ext/third_party/json/tests/draft4/items.json +0 -46
  806. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  807. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  808. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  809. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  810. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  811. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  812. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  813. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  814. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  815. data/ext/third_party/json/tests/draft4/not.json +0 -96
  816. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  817. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  818. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  819. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  820. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  821. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  822. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  823. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  824. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  825. data/ext/third_party/json/tests/draft4/required.json +0 -44
  826. data/ext/third_party/json/tests/draft4/type.json +0 -345
  827. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  828. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  829. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  830. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  831. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  832. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  833. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  834. data/ext/third_party/json/tests/twitter.json +0 -15482
  835. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  836. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  837. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  838. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  839. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  840. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  841. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  842. data/ext/third_party/snappy/testdata/html +0 -1
  843. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  844. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  845. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  846. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  847. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  848. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  849. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  850. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  851. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  852. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  853. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  854. data/ext/third_party/spdlog/bench/utils.h +0 -34
  855. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  856. data/ext/third_party/spdlog/example/example.cpp +0 -282
  857. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  858. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  859. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  860. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  861. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  862. data/ext/third_party/spdlog/tests/catch.license +0 -23
  863. data/ext/third_party/spdlog/tests/includes.h +0 -26
  864. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  865. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  866. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  867. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  868. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  869. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  870. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  871. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  872. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  873. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  874. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  875. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  876. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  877. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  878. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  879. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  880. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  881. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  882. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  883. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  884. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  885. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  886. data/ext/third_party/spdlog/tests/utils.h +0 -18
  887. 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
- }