couchbase 3.0.0.alpha.1-universal-darwin-19 → 3.0.0.beta.1-universal-darwin-19

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