couchbase 4.2.2 → 4.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1523) hide show
  1. package/deps/couchbase-cxx-client/.github/workflows/sanitizers.yml +20 -12
  2. package/deps/couchbase-cxx-client/.github/workflows/tests.yml +5 -3
  3. package/deps/couchbase-cxx-client/.idea/vcs.xml +2 -0
  4. package/deps/couchbase-cxx-client/CMakeLists.txt +15 -6
  5. package/deps/couchbase-cxx-client/bin/build-tests +3 -0
  6. package/deps/couchbase-cxx-client/bin/build-tests.rb +9 -0
  7. package/deps/couchbase-cxx-client/bin/init-cluster +38 -11
  8. package/deps/couchbase-cxx-client/bin/run-unit-tests +9 -9
  9. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +12 -4
  10. package/deps/couchbase-cxx-client/cmake/Documentation.cmake +4 -3
  11. package/deps/couchbase-cxx-client/cmake/OpenSSL.cmake +52 -7
  12. package/deps/couchbase-cxx-client/cmake/Testing.cmake +4 -4
  13. package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +4 -0
  14. package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +39 -3
  15. package/deps/couchbase-cxx-client/cmake/test_openssl.cxx +7 -0
  16. package/deps/couchbase-cxx-client/core/bucket.cxx +3 -2
  17. package/deps/couchbase-cxx-client/core/bucket.hxx +9 -0
  18. package/deps/couchbase-cxx-client/core/cluster_options.cxx +2 -2
  19. package/deps/couchbase-cxx-client/core/cluster_options.hxx +3 -7
  20. package/deps/couchbase-cxx-client/core/cluster_options_fwd.hxx +26 -0
  21. package/deps/couchbase-cxx-client/core/config_profile.hxx +2 -65
  22. package/deps/couchbase-cxx-client/core/config_profiles.cxx +79 -0
  23. package/deps/couchbase-cxx-client/core/config_profiles.hxx +56 -0
  24. package/deps/couchbase-cxx-client/core/crypto/CMakeLists.txt +5 -1
  25. package/deps/couchbase-cxx-client/core/error_context/analytics.hxx +2 -1
  26. package/deps/couchbase-cxx-client/core/error_context/http.hxx +2 -1
  27. package/deps/couchbase-cxx-client/core/error_context/query.hxx +2 -1
  28. package/deps/couchbase-cxx-client/core/error_context/search.hxx +2 -1
  29. package/deps/couchbase-cxx-client/core/error_context/view.hxx +2 -1
  30. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +236 -0
  31. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +1 -1
  32. package/deps/couchbase-cxx-client/core/impl/collection_query_index_manager.cxx +3 -3
  33. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +5 -3
  34. package/deps/couchbase-cxx-client/core/impl/get_all_query_indexes.cxx +3 -3
  35. package/deps/couchbase-cxx-client/core/impl/query.cxx +19 -17
  36. package/deps/couchbase-cxx-client/core/impl/subdoc/lookup_in_macro.cxx +1 -0
  37. package/deps/couchbase-cxx-client/core/impl/subdoc/mutate_in_macro.cxx +1 -0
  38. package/deps/couchbase-cxx-client/core/impl/transaction_get_result.cxx +54 -0
  39. package/deps/couchbase-cxx-client/core/io/dns_client.cxx +225 -0
  40. package/deps/couchbase-cxx-client/core/io/dns_client.hxx +19 -188
  41. package/deps/couchbase-cxx-client/core/io/http_context.hxx +1 -1
  42. package/deps/couchbase-cxx-client/core/io/http_session.hxx +10 -0
  43. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +5 -3
  44. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +27 -0
  45. package/deps/couchbase-cxx-client/core/io/retry_orchestrator.hxx +3 -2
  46. package/deps/couchbase-cxx-client/core/meta/CMakeLists.txt +7 -5
  47. package/deps/couchbase-cxx-client/core/meta/version.cxx +19 -0
  48. package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +1 -0
  49. package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +1 -0
  50. package/deps/couchbase-cxx-client/core/operations/document_append.hxx +1 -1
  51. package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +1 -1
  52. package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +1 -1
  53. package/deps/couchbase-cxx-client/core/operations/document_get.hxx +1 -1
  54. package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +1 -1
  55. package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +1 -1
  56. package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +1 -1
  57. package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +1 -1
  58. package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +1 -1
  59. package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +1 -1
  60. package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +1 -1
  61. package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +1 -1
  62. package/deps/couchbase-cxx-client/core/operations/document_query.cxx +2 -0
  63. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +6 -0
  64. package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +1 -1
  65. package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +1 -1
  66. package/deps/couchbase-cxx-client/core/operations/document_search.cxx +6 -2
  67. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -1
  68. package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +1 -1
  69. package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +1 -1
  70. package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +1 -1
  71. package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
  72. package/deps/couchbase-cxx-client/core/operations/management/analytics_problem.hxx +2 -1
  73. package/deps/couchbase-cxx-client/core/operations/management/eventing_problem.hxx +2 -1
  74. package/deps/couchbase-cxx-client/core/platform/base64.cc +2 -1
  75. package/deps/couchbase-cxx-client/core/protocol/client_opcode.hxx +1 -0
  76. package/deps/couchbase-cxx-client/core/protocol/cmd_info.hxx +2 -1
  77. package/deps/couchbase-cxx-client/core/public_fwd.hxx +21 -0
  78. package/deps/couchbase-cxx-client/core/tls_verify_mode.hxx +26 -0
  79. package/deps/couchbase-cxx-client/core/topology/configuration.cxx +15 -2
  80. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +5 -1
  81. package/deps/couchbase-cxx-client/core/transactions/active_transaction_record.hxx +2 -2
  82. package/deps/couchbase-cxx-client/core/transactions/atr_cleanup_entry.cxx +1 -0
  83. package/deps/couchbase-cxx-client/core/transactions/atr_ids.cxx +1 -1
  84. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +78 -44
  85. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +90 -59
  86. package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.cxx +93 -0
  87. package/deps/couchbase-cxx-client/core/transactions/attempt_context_testing_hooks.hxx +48 -75
  88. package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.cxx +52 -0
  89. package/deps/couchbase-cxx-client/core/transactions/cleanup_testing_hooks.hxx +17 -31
  90. package/deps/couchbase-cxx-client/core/transactions/exceptions.cxx +0 -1
  91. package/deps/couchbase-cxx-client/core/transactions/exceptions.hxx +14 -11
  92. package/deps/couchbase-cxx-client/core/transactions/forward_compat.hxx +2 -2
  93. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +14 -14
  94. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_fields.hxx +1 -0
  95. package/deps/couchbase-cxx-client/core/transactions/internal/transactions_cleanup.hxx +7 -1
  96. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +1 -1
  97. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.hxx +12 -2
  98. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +9 -11
  99. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.cxx +41 -31
  100. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +69 -21
  101. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +13 -1
  102. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +5 -4
  103. package/deps/couchbase-cxx-client/core/transactions/transactions_cleanup.cxx +144 -155
  104. package/deps/couchbase-cxx-client/core/transactions/waitable_op_list.hxx +1 -0
  105. package/deps/couchbase-cxx-client/core/transactions.hxx +1 -1
  106. package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +25 -3
  107. package/deps/couchbase-cxx-client/core/utils/connection_string.hxx +3 -3
  108. package/deps/couchbase-cxx-client/core/utils/crc32.hxx +3 -2
  109. package/deps/couchbase-cxx-client/core/utils/json.cxx +4 -1
  110. package/deps/couchbase-cxx-client/core/utils/json_streaming_lexer.hxx +2 -1
  111. package/deps/couchbase-cxx-client/core/utils/url_codec.cxx +2 -1
  112. package/deps/couchbase-cxx-client/couchbase/analytics_error_context.hxx +143 -0
  113. package/deps/couchbase-cxx-client/couchbase/analytics_meta_data.hxx +155 -0
  114. package/deps/couchbase-cxx-client/couchbase/analytics_metrics.hxx +163 -0
  115. package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +359 -0
  116. package/deps/couchbase-cxx-client/couchbase/analytics_result.hxx +102 -0
  117. package/deps/couchbase-cxx-client/couchbase/analytics_scan_consistency.hxx +46 -0
  118. package/deps/couchbase-cxx-client/couchbase/analytics_status.hxx +41 -0
  119. package/deps/couchbase-cxx-client/couchbase/analytics_warning.hxx +85 -0
  120. package/deps/couchbase-cxx-client/couchbase/behavior_options.hxx +10 -1
  121. package/deps/couchbase-cxx-client/couchbase/cluster.hxx +38 -3
  122. package/deps/couchbase-cxx-client/couchbase/cluster_options.hxx +10 -10
  123. package/deps/couchbase-cxx-client/couchbase/collection.hxx +22 -17
  124. package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +1 -1
  125. package/deps/couchbase-cxx-client/couchbase/common_options.hxx +1 -1
  126. package/deps/couchbase-cxx-client/couchbase/configuration_profile.hxx +1 -1
  127. package/deps/couchbase-cxx-client/couchbase/configuration_profiles_registry.hxx +0 -1
  128. package/deps/couchbase-cxx-client/couchbase/create_primary_query_index_options.hxx +1 -1
  129. package/deps/couchbase-cxx-client/couchbase/drop_primary_query_index_options.hxx +1 -1
  130. package/deps/couchbase-cxx-client/couchbase/drop_query_index_options.hxx +1 -1
  131. package/deps/couchbase-cxx-client/couchbase/fmt/analytics_status.hxx +76 -0
  132. package/deps/couchbase-cxx-client/couchbase/fmt/cas.hxx +12 -0
  133. package/deps/couchbase-cxx-client/couchbase/fmt/durability_level.hxx +6 -0
  134. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_extended_error_info.hxx +6 -0
  135. package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +6 -0
  136. package/deps/couchbase-cxx-client/couchbase/fmt/mutation_token.hxx +6 -0
  137. package/deps/couchbase-cxx-client/couchbase/fmt/query_scan_consistency.hxx +6 -0
  138. package/deps/couchbase-cxx-client/couchbase/fmt/query_status.hxx +6 -0
  139. package/deps/couchbase-cxx-client/couchbase/fmt/retry_reason.hxx +6 -0
  140. package/deps/couchbase-cxx-client/couchbase/fmt/tls_verify_mode.hxx +6 -0
  141. package/deps/couchbase-cxx-client/couchbase/get_all_query_indexes_options.hxx +5 -4
  142. package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +4 -2
  143. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +0 -1
  144. package/deps/couchbase-cxx-client/couchbase/scope.hxx +35 -1
  145. package/deps/couchbase-cxx-client/couchbase/subdoc/array_add_unique.hxx +2 -0
  146. package/deps/couchbase-cxx-client/couchbase/subdoc/array_append.hxx +2 -0
  147. package/deps/couchbase-cxx-client/couchbase/subdoc/array_insert.hxx +2 -0
  148. package/deps/couchbase-cxx-client/couchbase/subdoc/array_prepend.hxx +2 -0
  149. package/deps/couchbase-cxx-client/couchbase/subdoc/count.hxx +2 -0
  150. package/deps/couchbase-cxx-client/couchbase/subdoc/counter.hxx +2 -0
  151. package/deps/couchbase-cxx-client/couchbase/subdoc/exists.hxx +2 -0
  152. package/deps/couchbase-cxx-client/couchbase/subdoc/get.hxx +2 -0
  153. package/deps/couchbase-cxx-client/couchbase/subdoc/insert.hxx +2 -0
  154. package/deps/couchbase-cxx-client/couchbase/subdoc/remove.hxx +2 -0
  155. package/deps/couchbase-cxx-client/couchbase/subdoc/replace.hxx +3 -1
  156. package/deps/couchbase-cxx-client/couchbase/subdoc/upsert.hxx +2 -0
  157. package/deps/couchbase-cxx-client/couchbase/tracing/request_span.hxx +63 -0
  158. package/deps/couchbase-cxx-client/couchbase/tracing/request_tracer.hxx +2 -40
  159. package/deps/couchbase-cxx-client/couchbase/transaction_op_error_context.hxx +4 -4
  160. package/deps/couchbase-cxx-client/couchbase/transactions/async_attempt_context.hxx +93 -14
  161. package/deps/couchbase-cxx-client/couchbase/transactions/attempt_context.hxx +88 -15
  162. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_get_result.hxx +55 -35
  163. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_keyspace.hxx +11 -1
  164. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_options.hxx +79 -8
  165. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_options.hxx +127 -15
  166. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_query_result.hxx +6 -21
  167. package/deps/couchbase-cxx-client/couchbase/transactions/transaction_result.hxx +0 -1
  168. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_cleanup_config.hxx +5 -3
  169. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_config.hxx +9 -5
  170. package/deps/couchbase-cxx-client/couchbase/transactions/transactions_query_config.hxx +6 -3
  171. package/deps/couchbase-cxx-client/couchbase/transactions.hxx +36 -2
  172. package/deps/couchbase-cxx-client/docs/Doxyfile.in +324 -223
  173. package/deps/couchbase-cxx-client/docs/cbc-analytics.md +171 -0
  174. package/deps/couchbase-cxx-client/docs/cbc-get.md +160 -0
  175. package/deps/couchbase-cxx-client/docs/cbc-pillowfight.md +163 -0
  176. package/deps/couchbase-cxx-client/docs/cbc-query.md +179 -0
  177. package/deps/couchbase-cxx-client/docs/cbc.md +46 -0
  178. package/deps/couchbase-cxx-client/docs/cli.hxx +33 -0
  179. package/deps/couchbase-cxx-client/docs/doxygen-awesome.css +474 -89
  180. package/deps/couchbase-cxx-client/docs/mainpage.hxx +9 -8
  181. package/deps/couchbase-cxx-client/docs/stability.hxx +15 -0
  182. package/deps/couchbase-cxx-client/examples/async_game_server.cxx +56 -54
  183. package/deps/couchbase-cxx-client/examples/distributed_mutex.cxx +2 -0
  184. package/deps/couchbase-cxx-client/examples/game_server.cxx +9 -10
  185. package/deps/couchbase-cxx-client/test/CMakeLists.txt +9 -7
  186. package/deps/couchbase-cxx-client/test/benchmark_helper_integration.hxx +2 -2
  187. package/deps/couchbase-cxx-client/test/data/search_beers_dataset.json +70 -0
  188. package/deps/couchbase-cxx-client/test/data/search_beers_index_params.json +108 -0
  189. package/deps/couchbase-cxx-client/test/test_helper.hxx +6 -6
  190. package/deps/couchbase-cxx-client/test/test_integration_analytics.cxx +289 -13
  191. package/deps/couchbase-cxx-client/test/test_integration_crud.cxx +8 -1
  192. package/deps/couchbase-cxx-client/test/test_integration_diagnostics.cxx +3 -3
  193. package/deps/couchbase-cxx-client/test/test_integration_examples.cxx +182 -0
  194. package/deps/couchbase-cxx-client/test/test_integration_management.cxx +25 -9
  195. package/deps/couchbase-cxx-client/test/test_integration_query.cxx +1 -1
  196. package/deps/couchbase-cxx-client/test/test_integration_search.cxx +603 -0
  197. package/deps/couchbase-cxx-client/test/test_integration_subdoc.cxx +2 -2
  198. package/deps/couchbase-cxx-client/test/test_integration_tracer.cxx +2 -0
  199. package/deps/couchbase-cxx-client/test/test_integration_transcoders.cxx +9 -5
  200. package/deps/couchbase-cxx-client/test/test_transaction_context.cxx +550 -0
  201. package/deps/couchbase-cxx-client/test/test_transaction_examples.cxx +180 -0
  202. package/deps/couchbase-cxx-client/test/test_transaction_public_async_api.cxx +393 -0
  203. package/deps/couchbase-cxx-client/test/test_transaction_public_blocking_api.cxx +653 -0
  204. package/deps/couchbase-cxx-client/test/test_transaction_simple.cxx +984 -0
  205. package/deps/couchbase-cxx-client/test/test_transaction_simple_async.cxx +970 -0
  206. package/deps/couchbase-cxx-client/test/test_unit_config_profiles.cxx +13 -13
  207. package/deps/couchbase-cxx-client/test/test_unit_connection_string.cxx +35 -0
  208. package/deps/couchbase-cxx-client/test/test_unit_json_transcoder.cxx +4 -0
  209. package/deps/couchbase-cxx-client/test/test_unit_transaction_utils.cxx +113 -0
  210. package/deps/couchbase-cxx-client/test/test_unit_utils.cxx +8 -4
  211. package/deps/couchbase-cxx-client/test/utils/CMakeLists.txt +13 -9
  212. package/deps/couchbase-cxx-client/test/utils/integration_shortcuts.hxx +3 -3
  213. package/deps/couchbase-cxx-client/test/utils/integration_test_guard.cxx +19 -9
  214. package/deps/couchbase-cxx-client/test/utils/server_version.hxx +10 -0
  215. package/deps/couchbase-cxx-client/test/utils/test_data.cxx +41 -0
  216. package/deps/couchbase-cxx-client/test/utils/test_data.hxx +29 -0
  217. package/deps/couchbase-cxx-client/test/utils/wait_until.cxx +61 -0
  218. package/deps/couchbase-cxx-client/test/utils/wait_until.hxx +8 -1
  219. package/deps/couchbase-cxx-client/third_party/catch2/.bazelrc +10 -0
  220. package/deps/couchbase-cxx-client/third_party/catch2/.conan/build.py +4 -4
  221. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/CMakeLists.txt +5 -4
  222. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/conanfile.py +3 -2
  223. package/deps/couchbase-cxx-client/third_party/catch2/.conan/test_package/test_package.cpp +1 -3
  224. package/deps/couchbase-cxx-client/third_party/catch2/.github/FUNDING.yml +1 -0
  225. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-bazel-builds.yml +24 -0
  226. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-meson-builds.yml +43 -0
  227. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-other-builds.yml +104 -0
  228. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/linux-simple-builds.yml +122 -0
  229. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/mac-builds.yml +52 -0
  230. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/validate-header-guards.yml +36 -0
  231. package/deps/couchbase-cxx-client/third_party/catch2/.github/workflows/windows-simple-builds.yml +37 -0
  232. package/deps/couchbase-cxx-client/third_party/catch2/BUILD.bazel +83 -8
  233. package/deps/couchbase-cxx-client/third_party/catch2/CMake/CatchConfigOptions.cmake +79 -0
  234. package/deps/couchbase-cxx-client/third_party/catch2/CMake/CatchMiscFunctions.cmake +120 -0
  235. package/deps/couchbase-cxx-client/third_party/catch2/CMake/catch2-with-main.pc.in +10 -0
  236. package/deps/couchbase-cxx-client/third_party/catch2/CMake/catch2.pc.in +5 -1
  237. package/deps/couchbase-cxx-client/third_party/catch2/CMakeLists.txt +98 -152
  238. package/deps/couchbase-cxx-client/third_party/catch2/CMakePresets.json +25 -0
  239. package/deps/couchbase-cxx-client/third_party/catch2/Doxyfile +2484 -0
  240. package/deps/couchbase-cxx-client/third_party/catch2/README.md +83 -17
  241. package/deps/couchbase-cxx-client/third_party/catch2/SECURITY.md +19 -0
  242. package/deps/couchbase-cxx-client/third_party/catch2/WORKSPACE.bazel +16 -0
  243. package/deps/couchbase-cxx-client/third_party/catch2/appveyor.yml +55 -73
  244. package/deps/couchbase-cxx-client/third_party/catch2/codecov.yml +3 -6
  245. package/deps/couchbase-cxx-client/third_party/catch2/conanfile.py +44 -14
  246. package/deps/couchbase-cxx-client/third_party/catch2/data/artwork/catch2-logo-small-with-background.png +0 -0
  247. package/deps/couchbase-cxx-client/third_party/catch2/docs/Readme.md +18 -16
  248. package/deps/couchbase-cxx-client/third_party/catch2/docs/assertions.md +45 -64
  249. package/deps/couchbase-cxx-client/third_party/catch2/docs/benchmarks.md +3 -6
  250. package/deps/couchbase-cxx-client/third_party/catch2/docs/ci-and-misc.md +27 -29
  251. package/deps/couchbase-cxx-client/third_party/catch2/docs/cmake-integration.md +157 -35
  252. package/deps/couchbase-cxx-client/third_party/catch2/docs/command-line.md +232 -65
  253. package/deps/couchbase-cxx-client/third_party/catch2/docs/commercial-users.md +14 -13
  254. package/deps/couchbase-cxx-client/third_party/catch2/docs/comparing-floating-point-numbers.md +192 -0
  255. package/deps/couchbase-cxx-client/third_party/catch2/docs/configuration.md +48 -54
  256. package/deps/couchbase-cxx-client/third_party/catch2/docs/contributing.md +150 -38
  257. package/deps/couchbase-cxx-client/third_party/catch2/docs/deprecations.md +14 -118
  258. package/deps/couchbase-cxx-client/third_party/catch2/docs/event-listeners.md +31 -62
  259. package/deps/couchbase-cxx-client/third_party/catch2/docs/faq.md +94 -0
  260. package/deps/couchbase-cxx-client/third_party/catch2/docs/generators.md +14 -10
  261. package/deps/couchbase-cxx-client/third_party/catch2/docs/limitations.md +34 -36
  262. package/deps/couchbase-cxx-client/third_party/catch2/docs/list-of-examples.md +0 -3
  263. package/deps/couchbase-cxx-client/third_party/catch2/docs/logging.md +2 -2
  264. package/deps/couchbase-cxx-client/third_party/catch2/docs/matchers.md +355 -122
  265. package/deps/couchbase-cxx-client/third_party/catch2/docs/migrate-v2-to-v3.md +98 -0
  266. package/deps/couchbase-cxx-client/third_party/catch2/docs/opensource-users.md +43 -13
  267. package/deps/couchbase-cxx-client/third_party/catch2/docs/other-macros.md +19 -18
  268. package/deps/couchbase-cxx-client/third_party/catch2/docs/own-main.md +50 -49
  269. package/deps/couchbase-cxx-client/third_party/catch2/docs/release-notes.md +375 -6
  270. package/deps/couchbase-cxx-client/third_party/catch2/docs/release-process.md +9 -16
  271. package/deps/couchbase-cxx-client/third_party/catch2/docs/reporter-events.md +175 -0
  272. package/deps/couchbase-cxx-client/third_party/catch2/docs/reporters.md +191 -25
  273. package/deps/couchbase-cxx-client/third_party/catch2/docs/skipping-passing-failing.md +129 -0
  274. package/deps/couchbase-cxx-client/third_party/catch2/docs/test-cases-and-sections.md +91 -20
  275. package/deps/couchbase-cxx-client/third_party/catch2/docs/test-fixtures.md +28 -9
  276. package/deps/couchbase-cxx-client/third_party/catch2/docs/tostring.md +3 -3
  277. package/deps/couchbase-cxx-client/third_party/catch2/docs/tutorial.md +87 -139
  278. package/deps/couchbase-cxx-client/third_party/catch2/docs/usage-tips.md +100 -0
  279. package/deps/couchbase-cxx-client/third_party/catch2/docs/why-catch.md +24 -11
  280. package/deps/couchbase-cxx-client/third_party/catch2/examples/010-TestCase.cpp +4 -7
  281. package/deps/couchbase-cxx-client/third_party/catch2/examples/020-TestCase-1.cpp +3 -9
  282. package/deps/couchbase-cxx-client/third_party/catch2/examples/020-TestCase-2.cpp +2 -2
  283. package/deps/couchbase-cxx-client/third_party/catch2/examples/030-Asn-Require-Check.cpp +5 -5
  284. package/deps/couchbase-cxx-client/third_party/catch2/examples/100-Fix-Section.cpp +5 -4
  285. package/deps/couchbase-cxx-client/third_party/catch2/examples/110-Fix-ClassFixture.cpp +7 -4
  286. package/deps/couchbase-cxx-client/third_party/catch2/examples/120-Bdd-ScenarioGivenWhenThen.cpp +4 -4
  287. package/deps/couchbase-cxx-client/third_party/catch2/examples/210-Evt-EventListeners.cpp +51 -44
  288. package/deps/couchbase-cxx-client/third_party/catch2/examples/231-Cfg-OutputStreams.cpp +3 -4
  289. package/deps/couchbase-cxx-client/third_party/catch2/examples/300-Gen-OwnGenerator.cpp +13 -3
  290. package/deps/couchbase-cxx-client/third_party/catch2/examples/301-Gen-MapTypeConversion.cpp +9 -7
  291. package/deps/couchbase-cxx-client/third_party/catch2/examples/302-Gen-Table.cpp +4 -3
  292. package/deps/couchbase-cxx-client/third_party/catch2/examples/310-Gen-VariablesInGenerators.cpp +3 -1
  293. package/deps/couchbase-cxx-client/third_party/catch2/examples/311-Gen-CustomCapture.cpp +3 -1
  294. package/deps/couchbase-cxx-client/third_party/catch2/examples/CMakeLists.txt +29 -126
  295. package/deps/couchbase-cxx-client/third_party/catch2/extras/Catch.cmake +279 -0
  296. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchAddTests.cmake +187 -0
  297. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchShardTests.cmake +74 -0
  298. package/deps/couchbase-cxx-client/third_party/catch2/extras/CatchShardTestsImpl.cmake +52 -0
  299. package/deps/couchbase-cxx-client/third_party/catch2/extras/catch_amalgamated.cpp +10655 -0
  300. package/deps/couchbase-cxx-client/third_party/catch2/extras/catch_amalgamated.hpp +12972 -0
  301. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/CMakeLists.txt +20 -0
  302. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/NullOStream.cpp +10 -0
  303. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/NullOStream.h +20 -0
  304. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/build_fuzzers.sh +33 -0
  305. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_TestSpecParser.cpp +16 -0
  306. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_XmlWriter.cpp +16 -0
  307. package/deps/couchbase-cxx-client/third_party/catch2/fuzzing/fuzz_textflow.cpp +47 -0
  308. package/deps/couchbase-cxx-client/third_party/catch2/mdsnippets.json +9 -0
  309. package/deps/couchbase-cxx-client/third_party/catch2/meson.build +17 -0
  310. package/deps/couchbase-cxx-client/third_party/catch2/src/CMakeLists.txt +510 -0
  311. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_benchmark.hpp +147 -0
  312. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_benchmark_all.hpp +46 -0
  313. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_chronometer.cpp +17 -0
  314. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_chronometer.hpp +74 -0
  315. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_clock.hpp +39 -0
  316. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_constructor.hpp +82 -0
  317. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_environment.hpp +37 -0
  318. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_estimate.hpp +30 -0
  319. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_execution_plan.hpp +58 -0
  320. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_optimizer.hpp +78 -0
  321. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_outlier_classification.hpp +29 -0
  322. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/catch_sample_analysis.hpp +49 -0
  323. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_analyse.hpp +79 -0
  324. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_function.cpp +17 -0
  325. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_function.hpp +107 -0
  326. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_stats.hpp +64 -0
  327. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_benchmark_stats_fwd.hpp +23 -0
  328. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_complete_invoke.hpp +58 -0
  329. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_estimate_clock.hpp +121 -0
  330. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_measure.hpp +32 -0
  331. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_repeat.hpp +36 -0
  332. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_run_for_at_least.cpp +31 -0
  333. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_run_for_at_least.hpp +65 -0
  334. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_stats.cpp +257 -0
  335. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_stats.hpp +144 -0
  336. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/benchmark/detail/catch_timing.hpp +31 -0
  337. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_all.hpp +127 -0
  338. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_approx.cpp +85 -0
  339. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_approx.hpp +128 -0
  340. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_info.hpp +28 -0
  341. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_result.cpp +105 -0
  342. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_assertion_result.hpp +60 -0
  343. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_config.cpp +247 -0
  344. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_config.hpp +153 -0
  345. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_get_random_seed.cpp +18 -0
  346. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_get_random_seed.hpp +18 -0
  347. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_message.cpp +116 -0
  348. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_message.hpp +148 -0
  349. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_registry_hub.cpp +105 -0
  350. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_section_info.hpp +42 -0
  351. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_session.cpp +363 -0
  352. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_session.hpp +62 -0
  353. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias.hpp +29 -0
  354. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias_autoregistrar.cpp +24 -0
  355. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tag_alias_autoregistrar.hpp +29 -0
  356. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_template_test_macros.hpp +124 -0
  357. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_case_info.cpp +247 -0
  358. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_case_info.hpp +131 -0
  359. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_macros.hpp +226 -0
  360. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_spec.cpp +138 -0
  361. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_test_spec.hpp +119 -0
  362. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_timer.cpp +37 -0
  363. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_timer.hpp +27 -0
  364. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tostring.cpp +254 -0
  365. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_tostring.hpp +668 -0
  366. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_totals.cpp +65 -0
  367. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_totals.hpp +41 -0
  368. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_translate_exception.cpp +20 -0
  369. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_translate_exception.hpp +88 -0
  370. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_user_config.hpp.in +210 -0
  371. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version.cpp +43 -0
  372. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version.hpp +39 -0
  373. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/catch_version_macros.hpp +15 -0
  374. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generator_exception.cpp +17 -0
  375. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generator_exception.hpp +31 -0
  376. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators.cpp +42 -0
  377. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators.hpp +250 -0
  378. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_adapters.hpp +241 -0
  379. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_all.hpp +30 -0
  380. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_random.cpp +13 -0
  381. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_random.hpp +98 -0
  382. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/generators/catch_generators_range.hpp +110 -0
  383. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_all.hpp +37 -0
  384. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_capture.cpp +13 -0
  385. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_capture.hpp +109 -0
  386. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_config.cpp +13 -0
  387. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_config.hpp +100 -0
  388. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_enum_values_registry.hpp +47 -0
  389. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_exception.cpp +14 -0
  390. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_exception.hpp +36 -0
  391. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_generatortracker.cpp +32 -0
  392. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_generatortracker.hpp +90 -0
  393. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_registry_hub.cpp +14 -0
  394. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_registry_hub.hpp +66 -0
  395. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter.cpp +101 -0
  396. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter.hpp +224 -0
  397. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter_factory.cpp +14 -0
  398. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_reporter_factory.hpp +45 -0
  399. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_tag_alias_registry.hpp +29 -0
  400. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_test_invoker.hpp +21 -0
  401. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_testcase.cpp +13 -0
  402. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/interfaces/catch_interfaces_testcase.hpp +36 -0
  403. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_assertion_handler.cpp +82 -0
  404. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_assertion_handler.hpp +68 -0
  405. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_insensitive_comparisons.cpp +35 -0
  406. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_insensitive_comparisons.hpp +30 -0
  407. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_case_sensitive.hpp +17 -0
  408. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_clara.cpp +448 -0
  409. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_clara.hpp +702 -0
  410. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_commandline.cpp +313 -0
  411. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_commandline.hpp +21 -0
  412. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_compare_traits.hpp +75 -0
  413. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_compiler_capabilities.hpp +430 -0
  414. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_android_logwrite.hpp +33 -0
  415. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_counter.hpp +32 -0
  416. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_uncaught_exceptions.hpp +44 -0
  417. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_config_wchar.hpp +33 -0
  418. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_colour.cpp +282 -0
  419. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_colour.hpp +141 -0
  420. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_console_width.hpp +19 -0
  421. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_container_nonmembers.hpp +73 -0
  422. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_context.cpp +41 -0
  423. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_context.hpp +51 -0
  424. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debug_console.cpp +45 -0
  425. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debug_console.hpp +17 -0
  426. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debugger.cpp +120 -0
  427. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_debugger.hpp +67 -0
  428. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_decomposer.cpp +23 -0
  429. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_decomposer.hpp +340 -0
  430. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enforce.cpp +41 -0
  431. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enforce.hpp +54 -0
  432. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enum_values_registry.cpp +73 -0
  433. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_enum_values_registry.hpp +36 -0
  434. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_errno_guard.cpp +16 -0
  435. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_errno_guard.hpp +27 -0
  436. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_exception_translator_registry.cpp +84 -0
  437. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_exception_translator_registry.hpp +30 -0
  438. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_fatal_condition_handler.cpp +243 -0
  439. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_fatal_condition_handler.hpp +69 -0
  440. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_floating_point_helpers.cpp +32 -0
  441. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_floating_point_helpers.hpp +103 -0
  442. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_getenv.cpp +37 -0
  443. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_getenv.hpp +20 -0
  444. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_is_permutation.hpp +138 -0
  445. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_istream.cpp +159 -0
  446. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_istream.hpp +54 -0
  447. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_lazy_expr.cpp +29 -0
  448. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_lazy_expr.hpp +40 -0
  449. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_leak_detector.cpp +38 -0
  450. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_leak_detector.hpp +19 -0
  451. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_list.cpp +123 -0
  452. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_list.hpp +43 -0
  453. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_logical_traits.hpp +44 -0
  454. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_main.cpp +39 -0
  455. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_message_info.cpp +25 -0
  456. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_message_info.hpp +42 -0
  457. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_meta.hpp +47 -0
  458. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_move_and_forward.hpp +19 -0
  459. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_noncopyable.hpp +28 -0
  460. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_optional.hpp +100 -0
  461. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_output_redirect.cpp +146 -0
  462. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_output_redirect.hpp +118 -0
  463. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_parse_numbers.cpp +52 -0
  464. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_parse_numbers.hpp +26 -0
  465. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_platform.hpp +37 -0
  466. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_polyfills.cpp +34 -0
  467. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_polyfills.hpp +16 -0
  468. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_preprocessor.hpp +237 -0
  469. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_preprocessor_remove_parens.hpp +19 -0
  470. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_number_generator.cpp +70 -0
  471. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_number_generator.hpp +59 -0
  472. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_seed_generation.cpp +34 -0
  473. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_random_seed_generation.hpp +26 -0
  474. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_registry.cpp +88 -0
  475. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_registry.hpp +55 -0
  476. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_spec_parser.cpp +173 -0
  477. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reporter_spec_parser.hpp +85 -0
  478. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_result_type.cpp +26 -0
  479. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_result_type.hpp +57 -0
  480. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reusable_string_stream.cpp +62 -0
  481. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_reusable_string_stream.hpp +57 -0
  482. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_run_context.cpp +688 -0
  483. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_run_context.hpp +160 -0
  484. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_section.cpp +60 -0
  485. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_section.hpp +53 -0
  486. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_sharding.hpp +42 -0
  487. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_singletons.cpp +36 -0
  488. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_singletons.hpp +45 -0
  489. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_source_line_info.cpp +33 -0
  490. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_source_line_info.hpp +37 -0
  491. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_startup_exception_registry.cpp +29 -0
  492. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_startup_exception_registry.hpp +29 -0
  493. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stdstreams.cpp +24 -0
  494. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stdstreams.hpp +22 -0
  495. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stream_end_stop.hpp +30 -0
  496. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_string_manip.cpp +104 -0
  497. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_string_manip.hpp +61 -0
  498. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stringref.cpp +66 -0
  499. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_stringref.hpp +121 -0
  500. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_tag_alias_registry.cpp +55 -0
  501. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_tag_alias_registry.hpp +33 -0
  502. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_template_test_registry.hpp +337 -0
  503. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_info_hasher.cpp +39 -0
  504. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_info_hasher.hpp +29 -0
  505. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_registry_impl.cpp +146 -0
  506. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_registry_impl.hpp +62 -0
  507. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_tracker.cpp +239 -0
  508. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_case_tracker.hpp +244 -0
  509. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_failure_exception.cpp +31 -0
  510. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_failure_exception.hpp +34 -0
  511. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_macro_impl.hpp +159 -0
  512. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_registry.cpp +82 -0
  513. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_registry.hpp +132 -0
  514. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_run_info.hpp +22 -0
  515. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_spec_parser.cpp +239 -0
  516. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_test_spec_parser.hpp +81 -0
  517. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_textflow.cpp +255 -0
  518. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_textflow.hpp +169 -0
  519. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_to_string.hpp +29 -0
  520. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_uncaught_exceptions.cpp +26 -0
  521. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_uncaught_exceptions.hpp +15 -0
  522. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_unique_name.hpp +20 -0
  523. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_unique_ptr.hpp +118 -0
  524. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_void_type.hpp +25 -0
  525. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_wildcard_pattern.cpp +47 -0
  526. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_wildcard_pattern.hpp +38 -0
  527. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_windows_h_proxy.hpp +28 -0
  528. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_xmlwriter.cpp +348 -0
  529. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/internal/catch_xmlwriter.hpp +152 -0
  530. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers.cpp +25 -0
  531. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers.hpp +237 -0
  532. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_all.hpp +36 -0
  533. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_container_properties.cpp +34 -0
  534. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_container_properties.hpp +90 -0
  535. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_contains.hpp +102 -0
  536. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_exception.cpp +26 -0
  537. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_exception.hpp +61 -0
  538. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_floating_point.cpp +241 -0
  539. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_floating_point.hpp +94 -0
  540. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_predicate.cpp +17 -0
  541. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_predicate.hpp +59 -0
  542. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_quantifiers.cpp +24 -0
  543. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_quantifiers.hpp +165 -0
  544. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_range_equals.hpp +144 -0
  545. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_string.cpp +114 -0
  546. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_string.hpp +85 -0
  547. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_templated.cpp +41 -0
  548. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_templated.hpp +296 -0
  549. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/catch_matchers_vector.hpp +194 -0
  550. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/internal/catch_matchers_impl.cpp +25 -0
  551. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/matchers/internal/catch_matchers_impl.hpp +83 -0
  552. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/meson.build +368 -0
  553. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_automake.cpp +37 -0
  554. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_automake.hpp +38 -0
  555. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_common_base.cpp +49 -0
  556. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_common_base.hpp +79 -0
  557. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_compact.cpp +254 -0
  558. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_compact.hpp +39 -0
  559. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_console.cpp +656 -0
  560. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_console.hpp +67 -0
  561. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_cumulative_base.cpp +159 -0
  562. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_cumulative_base.hpp +151 -0
  563. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_event_listener.cpp +40 -0
  564. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_event_listener.hpp +60 -0
  565. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_helpers.cpp +343 -0
  566. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_helpers.hpp +95 -0
  567. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_junit.cpp +309 -0
  568. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_junit.hpp +58 -0
  569. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_multi.cpp +197 -0
  570. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_multi.hpp +72 -0
  571. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_registrars.cpp +36 -0
  572. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_registrars.hpp +131 -0
  573. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_sonarqube.cpp +162 -0
  574. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_sonarqube.hpp +61 -0
  575. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_streaming_base.cpp +23 -0
  576. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_streaming_base.hpp +73 -0
  577. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_tap.cpp +229 -0
  578. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_tap.hpp +43 -0
  579. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_teamcity.cpp +177 -0
  580. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_teamcity.hpp +66 -0
  581. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_xml.cpp +336 -0
  582. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporter_xml.hpp +66 -0
  583. package/deps/couchbase-cxx-client/third_party/catch2/src/catch2/reporters/catch_reporters_all.hpp +40 -0
  584. package/deps/couchbase-cxx-client/third_party/catch2/tests/CMakeLists.txt +665 -0
  585. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/CMakeLists.txt +554 -0
  586. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/ToDo.txt +10 -0
  587. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X01-PrefixedMacros.cpp +97 -0
  588. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X02-DisabledMacros.cpp +65 -0
  589. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X03-DisabledExceptions-DefaultHandler.cpp +39 -0
  590. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X04-DisabledExceptions-CustomHandler.cpp +40 -0
  591. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X05-DeferredStaticChecks.cpp +21 -0
  592. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X10-FallbackStringifier.cpp +35 -0
  593. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X11-DisableStringification.cpp +27 -0
  594. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X12-CustomDebugBreakMacro.cpp +26 -0
  595. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X21-PartialTestCaseEvents.cpp +74 -0
  596. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X22-BenchmarksInCumulativeReporter.cpp +79 -0
  597. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X23-CasingInReporterNames.cpp +41 -0
  598. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X24-ListenerStdoutCaptureInMultireporter.cpp +40 -0
  599. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X25-ListenerCanAskForCapturedStdout.cpp +47 -0
  600. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X26-ReporterPreferencesForPassingAssertionsIsRespected.cpp +52 -0
  601. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X27-CapturedStdoutInTestCaseEvents.cpp +82 -0
  602. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X28-ListenersGetEventsBeforeReporters.cpp +99 -0
  603. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X29-CustomArgumentsForReporters.cpp +59 -0
  604. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X30-BazelReporter.cpp +17 -0
  605. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X31-DuplicatedTestCases.cpp +16 -0
  606. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X32-DuplicatedTestCasesDifferentTags.cpp +17 -0
  607. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X33-DuplicatedTestCaseMethods.cpp +22 -0
  608. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X34-DuplicatedTestCaseMethodsDifferentFixtures.cpp +27 -0
  609. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X35-DuplicatedReporterNames.cpp +31 -0
  610. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X90-WindowsHeaderInclusion.cpp +21 -0
  611. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X91-AmalgamatedCatch.cpp +38 -0
  612. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X92-NoTests.cpp +11 -0
  613. package/deps/couchbase-cxx-client/third_party/catch2/tests/ExtraTests/X93-AllSkipped.cpp +16 -0
  614. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/automake.sw.approved.txt +420 -0
  615. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/automake.sw.multi.approved.txt +409 -0
  616. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/compact.sw.approved.txt +2544 -0
  617. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/compact.sw.multi.approved.txt +2533 -0
  618. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.std.approved.txt +1538 -0
  619. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.sw.approved.txt +18236 -0
  620. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.sw.multi.approved.txt +18225 -0
  621. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/console.swa4.approved.txt +956 -0
  622. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/default.sw.multi.approved.txt +11 -0
  623. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/junit.sw.approved.txt +2052 -0
  624. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/junit.sw.multi.approved.txt +2051 -0
  625. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/sonarqube.sw.approved.txt +2071 -0
  626. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/sonarqube.sw.multi.approved.txt +2070 -0
  627. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/tap.sw.approved.txt +4481 -0
  628. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/tap.sw.multi.approved.txt +4470 -0
  629. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/teamcity.sw.approved.txt +998 -0
  630. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/teamcity.sw.multi.approved.txt +997 -0
  631. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/xml.sw.approved.txt +21208 -0
  632. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/Baselines/xml.sw.multi.approved.txt +21207 -0
  633. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Algorithms.tests.cpp +94 -0
  634. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Clara.tests.cpp +73 -0
  635. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/CmdLine.tests.cpp +467 -0
  636. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/CmdLineHelpers.tests.cpp +111 -0
  637. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/ColourImpl.tests.cpp +64 -0
  638. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Details.tests.cpp +131 -0
  639. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/FloatingPoint.tests.cpp +74 -0
  640. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp +546 -0
  641. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/InternalBenchmark.tests.cpp +447 -0
  642. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Parse.tests.cpp +38 -0
  643. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/PartTracker.tests.cpp +254 -0
  644. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/RandomNumberGeneration.tests.cpp +62 -0
  645. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Reporters.tests.cpp +328 -0
  646. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Sharding.tests.cpp +45 -0
  647. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Stream.tests.cpp +32 -0
  648. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/String.tests.cpp +212 -0
  649. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/StringManip.tests.cpp +83 -0
  650. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Tag.tests.cpp +104 -0
  651. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestCaseInfoHasher.tests.cpp +72 -0
  652. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp +365 -0
  653. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TestSpecParser.tests.cpp +55 -0
  654. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/TextFlow.tests.cpp +200 -0
  655. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/ToString.tests.cpp +97 -0
  656. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Traits.tests.cpp +45 -0
  657. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/UniquePtr.tests.cpp +141 -0
  658. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/IntrospectiveTests/Xml.tests.cpp +183 -0
  659. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/TestRegistrations.cpp +181 -0
  660. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/TimingTests/Sleep.tests.cpp +24 -0
  661. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Approx.tests.cpp +218 -0
  662. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/BDD.tests.cpp +106 -0
  663. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Benchmark.tests.cpp +173 -0
  664. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Class.tests.cpp +133 -0
  665. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Compilation.tests.cpp +355 -0
  666. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Condition.tests.cpp +334 -0
  667. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Decomposition.tests.cpp +41 -0
  668. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/EnumToString.tests.cpp +108 -0
  669. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Exception.tests.cpp +204 -0
  670. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Generators.tests.cpp +313 -0
  671. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Matchers.tests.cpp +1144 -0
  672. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/MatchersRanges.tests.cpp +917 -0
  673. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Message.tests.cpp +287 -0
  674. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Misc.tests.cpp +553 -0
  675. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Skip.tests.cpp +73 -0
  676. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringByte.tests.cpp +23 -0
  677. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringChrono.tests.cpp +51 -0
  678. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringGeneral.tests.cpp +211 -0
  679. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringOptional.tests.cpp +31 -0
  680. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringPair.tests.cpp +38 -0
  681. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringTuple.tests.cpp +54 -0
  682. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringVariant.tests.cpp +99 -0
  683. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringVector.tests.cpp +94 -0
  684. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/ToStringWhich.tests.cpp +186 -0
  685. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/Tricky.tests.cpp +380 -0
  686. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/UsageTests/VariadicMacros.tests.cpp +29 -0
  687. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/parse_test_spec.cpp +22 -0
  688. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/parse_test_spec.hpp +20 -0
  689. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/range_test_helpers.hpp +210 -0
  690. package/deps/couchbase-cxx-client/third_party/catch2/tests/SelfTest/helpers/type_with_lit_0_comparisons.hpp +44 -0
  691. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/ConfigureTestsCommon.py +75 -0
  692. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testBazelReporter.py +104 -0
  693. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testBazelSharding.py +75 -0
  694. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDefaultReporter.py +41 -0
  695. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDisable.py +48 -0
  696. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureDisableStringification.py +44 -0
  697. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testConfigureExperimentalRedirect.py +49 -0
  698. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testPartialTestCaseEvent.py +79 -0
  699. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testRandomOrder.py +77 -0
  700. package/deps/couchbase-cxx-client/third_party/catch2/tests/TestScripts/testSharding.py +165 -0
  701. package/deps/couchbase-cxx-client/third_party/catch2/tests/meson.build +76 -0
  702. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorBuildConfigurationScript.bat +21 -0
  703. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorMergeCoverageScript.py +9 -0
  704. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/appveyorTestRunScript.bat +17 -0
  705. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/coverage-helper.cpp +142 -0
  706. package/deps/couchbase-cxx-client/third_party/catch2/tools/misc/installOpenCppCoverage.ps1 +19 -0
  707. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/approvalTests.py +243 -0
  708. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/approve.py +31 -0
  709. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/buildAndTest.cmd +17 -0
  710. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/buildAndTest.sh +19 -0
  711. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkConvenienceHeaders.py +151 -0
  712. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkDuplicateFilenames.py +14 -0
  713. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/checkLicense.py +45 -0
  714. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/developBuild.py +9 -0
  715. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/extractFeaturesFromReleaseNotes.py +92 -0
  716. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/fixWhitespace.py +51 -0
  717. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/generateAmalgamatedFiles.py +129 -0
  718. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/majorRelease.py +9 -0
  719. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/minorRelease.py +9 -0
  720. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/patchRelease.py +9 -0
  721. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/releaseCommon.py +143 -0
  722. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/scriptCommon.py +4 -0
  723. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/updateDocumentSnippets.py +23 -0
  724. package/deps/couchbase-cxx-client/third_party/catch2/tools/scripts/updateDocumentToC.py +447 -0
  725. package/deps/couchbase-cxx-client/third_party/snappy/.github/workflows/build.yml +135 -0
  726. package/deps/couchbase-cxx-client/third_party/snappy/.gitmodules +6 -0
  727. package/deps/couchbase-cxx-client/third_party/snappy/CMakeLists.txt +150 -27
  728. package/deps/couchbase-cxx-client/third_party/snappy/CONTRIBUTING.md +9 -4
  729. package/deps/couchbase-cxx-client/third_party/snappy/NEWS +12 -0
  730. package/deps/couchbase-cxx-client/third_party/snappy/README.md +52 -35
  731. package/deps/couchbase-cxx-client/third_party/snappy/cmake/config.h.in +28 -24
  732. package/deps/couchbase-cxx-client/third_party/snappy/snappy-internal.h +189 -25
  733. package/deps/couchbase-cxx-client/third_party/snappy/snappy-sinksource.cc +26 -9
  734. package/deps/couchbase-cxx-client/third_party/snappy/snappy-sinksource.h +11 -11
  735. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-internal.cc +1 -1
  736. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-internal.h +227 -308
  737. package/deps/couchbase-cxx-client/third_party/snappy/snappy-stubs-public.h.in +0 -11
  738. package/deps/couchbase-cxx-client/third_party/snappy/snappy-test.cc +88 -198
  739. package/deps/couchbase-cxx-client/third_party/snappy/snappy-test.h +102 -285
  740. package/deps/couchbase-cxx-client/third_party/snappy/snappy.cc +1176 -410
  741. package/deps/couchbase-cxx-client/third_party/snappy/snappy.h +19 -4
  742. package/deps/couchbase-cxx-client/third_party/snappy/snappy_benchmark.cc +378 -0
  743. package/deps/couchbase-cxx-client/third_party/snappy/snappy_compress_fuzzer.cc +3 -2
  744. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_data.cc +57 -0
  745. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_data.h +68 -0
  746. package/deps/couchbase-cxx-client/third_party/snappy/snappy_test_tool.cc +471 -0
  747. package/deps/couchbase-cxx-client/third_party/snappy/snappy_uncompress_fuzzer.cc +3 -2
  748. package/deps/couchbase-cxx-client/third_party/snappy/snappy_unittest.cc +170 -666
  749. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  750. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  751. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/build-and-test.yml +38 -0
  752. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/pylint.yml +26 -0
  753. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.github/workflows/test_bindings.yml +24 -0
  754. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.travis-libcxx-setup.sh +28 -0
  755. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.travis.yml +231 -0
  756. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/.ycm_extra_conf.py +115 -0
  757. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/AUTHORS +58 -0
  758. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/BUILD.bazel +44 -0
  759. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CMakeLists.txt +287 -0
  760. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CONTRIBUTING.md +58 -0
  761. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/CONTRIBUTORS +83 -0
  762. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/LICENSE +202 -0
  763. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/README.md +1323 -0
  764. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/WORKSPACE +51 -0
  765. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/_config.yml +1 -0
  766. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/appveyor.yml +50 -0
  767. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/BUILD +3 -0
  768. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/build_defs.bzl +25 -0
  769. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/BUILD +38 -0
  770. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/__init__.py +156 -0
  771. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/benchmark.cc +180 -0
  772. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/google_benchmark/example.py +136 -0
  773. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/pybind11.BUILD +20 -0
  774. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/python_headers.BUILD +6 -0
  775. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/bindings/python/requirements.txt +2 -0
  776. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/AddCXXCompilerFlag.cmake +74 -0
  777. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/CXXFeatureCheck.cmake +69 -0
  778. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/Config.cmake.in +1 -0
  779. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GetGitVersion.cmake +54 -0
  780. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GoogleTest.cmake +41 -0
  781. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/GoogleTest.cmake.in +58 -0
  782. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/benchmark.pc.in +12 -0
  783. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/gnu_posix_regex.cpp +12 -0
  784. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/llvm-toolchain.cmake +8 -0
  785. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/posix_regex.cpp +14 -0
  786. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/split_list.cmake +3 -0
  787. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/std_regex.cpp +10 -0
  788. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/steady_clock.cpp +7 -0
  789. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/cmake/thread_safety_attributes.cpp +4 -0
  790. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/CMakeLists.txt +7 -0
  791. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/CMakeLists.txt +10 -0
  792. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/conanfile.py +19 -0
  793. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conan/test_package/test_package.cpp +18 -0
  794. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/conanfile.py +79 -0
  795. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/dependencies.md +18 -0
  796. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/AssemblyTests.md +147 -0
  797. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/_config.yml +1 -0
  798. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/releasing.md +16 -0
  799. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/docs/tools.md +203 -0
  800. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/include/benchmark/benchmark.h +1604 -0
  801. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/requirements.txt +2 -0
  802. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/setup.py +140 -0
  803. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/CMakeLists.txt +114 -0
  804. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/arraysize.h +33 -0
  805. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark.cc +499 -0
  806. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_api_internal.cc +15 -0
  807. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_api_internal.h +53 -0
  808. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_main.cc +17 -0
  809. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_name.cc +58 -0
  810. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_register.cc +515 -0
  811. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_register.h +108 -0
  812. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_runner.cc +362 -0
  813. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/benchmark_runner.h +51 -0
  814. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/check.h +82 -0
  815. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/colorprint.cc +188 -0
  816. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/colorprint.h +33 -0
  817. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/commandlineflags.cc +228 -0
  818. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/commandlineflags.h +103 -0
  819. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/complexity.cc +238 -0
  820. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/complexity.h +55 -0
  821. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/console_reporter.cc +177 -0
  822. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/counter.cc +80 -0
  823. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/counter.h +32 -0
  824. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/csv_reporter.cc +154 -0
  825. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/cycleclock.h +211 -0
  826. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/internal_macros.h +102 -0
  827. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/json_reporter.cc +255 -0
  828. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/log.h +74 -0
  829. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/mutex.h +155 -0
  830. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/re.h +158 -0
  831. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/reporter.cc +105 -0
  832. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sleep.cc +67 -0
  833. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sleep.h +15 -0
  834. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/statistics.cc +193 -0
  835. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/statistics.h +37 -0
  836. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/string_util.cc +255 -0
  837. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/string_util.h +59 -0
  838. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/sysinfo.cc +716 -0
  839. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/thread_manager.h +64 -0
  840. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/thread_timer.h +86 -0
  841. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/timers.cc +245 -0
  842. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/src/timers.h +48 -0
  843. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/AssemblyTests.cmake +46 -0
  844. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/BUILD +73 -0
  845. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/CMakeLists.txt +263 -0
  846. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/args_product_test.cc +77 -0
  847. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/basic_test.cc +136 -0
  848. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_gtest.cc +134 -0
  849. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_name_gtest.cc +74 -0
  850. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/benchmark_test.cc +245 -0
  851. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/clobber_memory_assembly_test.cc +64 -0
  852. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/commandlineflags_gtest.cc +201 -0
  853. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/complexity_test.cc +213 -0
  854. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/cxx03_test.cc +63 -0
  855. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/diagnostics_test.cc +80 -0
  856. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/display_aggregates_only_test.cc +43 -0
  857. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/donotoptimize_assembly_test.cc +163 -0
  858. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/donotoptimize_test.cc +52 -0
  859. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/filter_test.cc +104 -0
  860. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/fixture_test.cc +51 -0
  861. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/internal_threading_test.cc +184 -0
  862. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/link_main_test.cc +8 -0
  863. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/map_test.cc +57 -0
  864. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/memory_manager_test.cc +44 -0
  865. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/multiple_ranges_test.cc +96 -0
  866. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/options_test.cc +75 -0
  867. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/output_test.h +213 -0
  868. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/output_test_helper.cc +515 -0
  869. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/register_benchmark_test.cc +184 -0
  870. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/report_aggregates_only_test.cc +39 -0
  871. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/reporter_output_test.cc +747 -0
  872. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/skip_with_error_test.cc +195 -0
  873. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/state_assembly_test.cc +68 -0
  874. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/statistics_gtest.cc +28 -0
  875. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/string_util_gtest.cc +153 -0
  876. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/templated_fixture_test.cc +28 -0
  877. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_tabular_test.cc +285 -0
  878. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_test.cc +531 -0
  879. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/test/user_counters_thousands_test.cc +173 -0
  880. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/BUILD.bazel +19 -0
  881. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/compare.py +429 -0
  882. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test1_run1.json +119 -0
  883. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test1_run2.json +119 -0
  884. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test2_run.json +81 -0
  885. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test3_run0.json +65 -0
  886. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/Inputs/test3_run1.json +65 -0
  887. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/__init__.py +8 -0
  888. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/report.py +903 -0
  889. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/gbench/util.py +163 -0
  890. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/requirements.txt +1 -0
  891. package/deps/couchbase-cxx-client/third_party/snappy/third_party/benchmark/tools/strip_asm.py +151 -0
  892. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/.travis.yml +65 -0
  893. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/BUILD.bazel +182 -0
  894. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/CMakeLists.txt +32 -0
  895. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/CONTRIBUTING.md +142 -0
  896. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/LICENSE +28 -0
  897. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/README.md +135 -0
  898. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/WORKSPACE +30 -0
  899. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/appveyor.yml +156 -0
  900. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/build-linux-bazel.sh +36 -0
  901. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/build-platformio.sh +2 -0
  902. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/env-linux.sh +41 -0
  903. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/env-osx.sh +41 -0
  904. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/get-nprocessors.sh +48 -0
  905. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-linux.sh +49 -0
  906. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-osx.sh +39 -0
  907. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/install-platformio.sh +5 -0
  908. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/log-config.sh +47 -0
  909. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/ci/travis.sh +29 -0
  910. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/CMakeLists.txt +219 -0
  911. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/CONTRIBUTORS +40 -0
  912. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/LICENSE +28 -0
  913. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/README.md +44 -0
  914. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/cmake/gmock.pc.in +10 -0
  915. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/cmake/gmock_main.pc.in +10 -0
  916. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/cheat_sheet.md +786 -0
  917. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/community_created_documentation.md +9 -0
  918. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/cook_book.md +4276 -0
  919. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/for_dummies.md +702 -0
  920. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/gmock_faq.md +398 -0
  921. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/docs/pump_manual.md +189 -0
  922. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-actions.h +1688 -0
  923. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-cardinalities.h +157 -0
  924. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-function-mocker.h +479 -0
  925. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h +577 -0
  926. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump +390 -0
  927. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-matchers.h +5394 -0
  928. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-more-matchers.h +92 -0
  929. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-nice-strict.h +230 -0
  930. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock-spec-builders.h +2030 -0
  931. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/gmock.h +98 -0
  932. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/README.md +16 -0
  933. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +10 -0
  934. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +12 -0
  935. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +36 -0
  936. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +39 -0
  937. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +459 -0
  938. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-port.h +87 -0
  939. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/include/gmock/internal/gmock-pp.h +279 -0
  940. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/README.md +5 -0
  941. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/fuse_gmock_files.py +257 -0
  942. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/LICENSE +203 -0
  943. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/README +34 -0
  944. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/README.cppclean +115 -0
  945. package/deps/couchbase-cxx-client/{core/CMakeLists.txt → third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/__init__.py} +0 -0
  946. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/ast.py +1772 -0
  947. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class.py +245 -0
  948. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py +552 -0
  949. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/keywords.py +56 -0
  950. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/tokenize.py +284 -0
  951. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/cpp/utils.py +37 -0
  952. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/generator/gmock_gen.py +30 -0
  953. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/scripts/pump.py +856 -0
  954. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-all.cc +46 -0
  955. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-cardinalities.cc +155 -0
  956. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-internal-utils.cc +200 -0
  957. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-matchers.cc +459 -0
  958. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock-spec-builders.cc +908 -0
  959. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock.cc +213 -0
  960. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/src/gmock_main.cc +72 -0
  961. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/BUILD.bazel +111 -0
  962. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-actions_test.cc +1583 -0
  963. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-cardinalities_test.cc +429 -0
  964. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_nc.cc +16 -0
  965. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_nc_test.py +43 -0
  966. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-function-mocker_test.cc +974 -0
  967. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-generated-actions_test.cc +1036 -0
  968. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-internal-utils_test.cc +720 -0
  969. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-matchers_test.cc +8562 -0
  970. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-more-actions_test.cc +725 -0
  971. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-nice-strict_test.cc +500 -0
  972. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-port_test.cc +42 -0
  973. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-pp-string_test.cc +206 -0
  974. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-pp_test.cc +83 -0
  975. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock-spec-builders_test.cc +2775 -0
  976. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_all_test.cc +47 -0
  977. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_ex_test.cc +80 -0
  978. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_leak_test.py +104 -0
  979. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_leak_test_.cc +99 -0
  980. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link2_test.cc +39 -0
  981. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link_test.cc +39 -0
  982. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_link_test.h +690 -0
  983. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test.py +183 -0
  984. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test_.cc +309 -0
  985. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_output_test_golden.txt +317 -0
  986. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_stress_test.cc +240 -0
  987. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_test.cc +181 -0
  988. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/gmock_test_utils.py +108 -0
  989. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googlemock/test/pump_test.py +182 -0
  990. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/CMakeLists.txt +320 -0
  991. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/CONTRIBUTORS +38 -0
  992. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/LICENSE +28 -0
  993. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/README.md +262 -0
  994. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/Config.cmake.in +9 -0
  995. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/gtest.pc.in +9 -0
  996. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/gtest_main.pc.in +10 -0
  997. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/internal_utils.cmake +341 -0
  998. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/cmake/libgtest.la.in +21 -0
  999. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/advanced.md +2640 -0
  1000. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/faq.md +771 -0
  1001. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/pkgconfig.md +150 -0
  1002. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/primer.md +583 -0
  1003. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/docs/samples.md +22 -0
  1004. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-death-test.h +342 -0
  1005. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-matchers.h +756 -0
  1006. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-message.h +219 -0
  1007. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-param-test.h +512 -0
  1008. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-printers.h +903 -0
  1009. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-spi.h +238 -0
  1010. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-test-part.h +184 -0
  1011. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest-typed-test.h +337 -0
  1012. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest.h +2491 -0
  1013. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest_pred_impl.h +359 -0
  1014. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/gtest_prod.h +61 -0
  1015. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/README.md +56 -0
  1016. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest-port.h +37 -0
  1017. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  1018. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/custom/gtest.h +37 -0
  1019. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +304 -0
  1020. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-filepath.h +211 -0
  1021. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h +1564 -0
  1022. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-param-util.h +947 -0
  1023. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-port-arch.h +112 -0
  1024. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-port.h +2371 -0
  1025. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-string.h +175 -0
  1026. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/include/gtest/internal/gtest-type-util.h +187 -0
  1027. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/prime_tables.h +126 -0
  1028. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1.cc +66 -0
  1029. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1.h +41 -0
  1030. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample10_unittest.cc +139 -0
  1031. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample1_unittest.cc +151 -0
  1032. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2.cc +54 -0
  1033. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2.h +81 -0
  1034. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample2_unittest.cc +107 -0
  1035. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample3-inl.h +172 -0
  1036. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample3_unittest.cc +149 -0
  1037. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4.cc +54 -0
  1038. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4.h +53 -0
  1039. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample4_unittest.cc +53 -0
  1040. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample5_unittest.cc +196 -0
  1041. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample6_unittest.cc +224 -0
  1042. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample7_unittest.cc +117 -0
  1043. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample8_unittest.cc +154 -0
  1044. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/samples/sample9_unittest.cc +156 -0
  1045. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/README.md +5 -0
  1046. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/common.py +83 -0
  1047. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/fuse_gtest_files.py +253 -0
  1048. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/gen_gtest_pred_impl.py +733 -0
  1049. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/gtest-config.in +274 -0
  1050. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/release_docs.py +158 -0
  1051. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/run_with_path.py +32 -0
  1052. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/upload.py +1402 -0
  1053. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/scripts/upload_gtest.py +78 -0
  1054. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-all.cc +48 -0
  1055. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-death-test.cc +1644 -0
  1056. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-filepath.cc +368 -0
  1057. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-internal-inl.h +1228 -0
  1058. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-matchers.cc +97 -0
  1059. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-port.cc +1404 -0
  1060. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-printers.cc +444 -0
  1061. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-test-part.cc +108 -0
  1062. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest-typed-test.cc +111 -0
  1063. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest.cc +6606 -0
  1064. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/src/gtest_main.cc +54 -0
  1065. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/BUILD.bazel +562 -0
  1066. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-break-on-failure-unittest.py +208 -0
  1067. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-break-on-failure-unittest_.cc +86 -0
  1068. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-catch-exceptions-test.py +236 -0
  1069. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-catch-exceptions-test_.cc +293 -0
  1070. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-color-test.py +127 -0
  1071. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-color-test_.cc +62 -0
  1072. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-death-test-test.cc +1542 -0
  1073. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-death-test_ex_test.cc +92 -0
  1074. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-env-var-test.py +120 -0
  1075. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-env-var-test_.cc +132 -0
  1076. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-failfast-unittest.py +410 -0
  1077. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-failfast-unittest_.cc +167 -0
  1078. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filepath-test.cc +649 -0
  1079. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filter-unittest.py +639 -0
  1080. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-filter-unittest_.cc +137 -0
  1081. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-json-outfiles-test.py +191 -0
  1082. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-json-output-unittest.py +804 -0
  1083. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-list-tests-unittest.py +205 -0
  1084. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-list-tests-unittest_.cc +156 -0
  1085. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-listener-test.cc +518 -0
  1086. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-message-test.cc +158 -0
  1087. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-options-test.cc +216 -0
  1088. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test-golden-lin.txt +1180 -0
  1089. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test.py +346 -0
  1090. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-output-test_.cc +1126 -0
  1091. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
  1092. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc +50 -0
  1093. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
  1094. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc +55 -0
  1095. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-test.cc +1119 -0
  1096. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test-test.h +51 -0
  1097. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-param-test2-test.cc +61 -0
  1098. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-port-test.cc +1280 -0
  1099. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-printers-test.cc +1847 -0
  1100. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-setuptestsuite-test.py +54 -0
  1101. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-setuptestsuite-test_.cc +49 -0
  1102. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-shuffle-test.py +323 -0
  1103. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-shuffle-test_.cc +101 -0
  1104. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-test-part-test.cc +230 -0
  1105. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-throw-on-failure-test.py +168 -0
  1106. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
  1107. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-uninitialized-test.py +67 -0
  1108. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/googletest-uninitialized-test_.cc +42 -0
  1109. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test2_test.cc +44 -0
  1110. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test_test.cc +462 -0
  1111. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-typed-test_test.h +65 -0
  1112. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest-unittest-api_test.cc +341 -0
  1113. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_all_test.cc +46 -0
  1114. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_assert_by_exception_test.cc +116 -0
  1115. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_environment_test.cc +188 -0
  1116. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_help_test.py +171 -0
  1117. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_help_test_.cc +45 -0
  1118. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_json_test_utils.py +60 -0
  1119. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_list_output_unittest.py +286 -0
  1120. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_list_output_unittest_.cc +81 -0
  1121. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_main_unittest.cc +44 -0
  1122. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_no_test_unittest.cc +54 -0
  1123. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_pred_impl_unittest.cc +2422 -0
  1124. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_premature_exit_test.cc +126 -0
  1125. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_prod_test.cc +56 -0
  1126. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_repeat_test.cc +233 -0
  1127. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_check_output_test.py +59 -0
  1128. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
  1129. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_in_environment_setup_test.cc +49 -0
  1130. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_skip_test.cc +55 -0
  1131. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_sole_header_test.cc +56 -0
  1132. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_stress_test.cc +248 -0
  1133. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
  1134. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_test_utils.py +312 -0
  1135. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_testbridge_test.py +63 -0
  1136. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_testbridge_test_.cc +43 -0
  1137. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc +90 -0
  1138. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_unittest.cc +7792 -0
  1139. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfile1_test_.cc +43 -0
  1140. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfile2_test_.cc +43 -0
  1141. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_outfiles_test.py +135 -0
  1142. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_output_unittest.py +405 -0
  1143. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_output_unittest_.cc +197 -0
  1144. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/gtest_xml_test_utils.py +197 -0
  1145. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/production.cc +35 -0
  1146. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/googletest/test/production.h +54 -0
  1147. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/library.json +62 -0
  1148. package/deps/couchbase-cxx-client/third_party/snappy/third_party/googletest/platformio.ini +47 -0
  1149. package/deps/couchbase-cxx-client/tools/CMakeLists.txt +2 -0
  1150. package/deps/couchbase-cxx-client/tools/analytics.cxx +375 -0
  1151. package/deps/couchbase-cxx-client/tools/analytics.hxx +26 -0
  1152. package/deps/couchbase-cxx-client/tools/cbc.cxx +11 -4
  1153. package/deps/couchbase-cxx-client/tools/command_registry.cxx +4 -0
  1154. package/deps/couchbase-cxx-client/tools/get.cxx +27 -31
  1155. package/deps/couchbase-cxx-client/tools/get.hxx +1 -1
  1156. package/deps/couchbase-cxx-client/tools/pillowfight.cxx +396 -0
  1157. package/deps/couchbase-cxx-client/tools/pillowfight.hxx +26 -0
  1158. package/deps/couchbase-cxx-client/tools/query.cxx +97 -101
  1159. package/deps/couchbase-cxx-client/tools/query.hxx +1 -1
  1160. package/deps/couchbase-cxx-client/tools/utils.cxx +15 -1
  1161. package/deps/couchbase-cxx-client/tools/utils.hxx +3 -0
  1162. package/deps/couchbase-cxx-client/tools/version.hxx +1 -1
  1163. package/dist/authenticators.d.ts +1 -1
  1164. package/dist/binding.d.ts +24 -9
  1165. package/dist/bindingutilities.d.ts +6 -2
  1166. package/dist/bindingutilities.js +39 -7
  1167. package/dist/cluster.d.ts +27 -0
  1168. package/dist/cluster.js +88 -56
  1169. package/dist/collection.js +6 -6
  1170. package/dist/configProfile.js +16 -10
  1171. package/dist/couchbase.d.ts +1 -0
  1172. package/dist/couchbase.js +2 -1
  1173. package/dist/errors.d.ts +2 -2
  1174. package/dist/errors.js +4 -4
  1175. package/dist/scope.js +6 -6
  1176. package/dist/sdspecs.js +11 -11
  1177. package/dist/searchquery.d.ts +1 -1
  1178. package/dist/streamablepromises.d.ts +1 -1
  1179. package/dist/transactions.js +5 -1
  1180. package/dist/usermanager.js +9 -9
  1181. package/dist/viewindexmanager.js +8 -8
  1182. package/package.json +1 -1
  1183. package/src/binding.cpp +2 -0
  1184. package/src/jstocbpp_autogen.hpp +0 -4
  1185. package/src/jstocbpp_basic.hpp +8 -2
  1186. package/src/jstocbpp_errors.hpp +35 -0
  1187. package/src/jstocbpp_transactions.hpp +61 -9
  1188. package/src/transaction.cpp +1 -1
  1189. package/deps/couchbase-cxx-client/core/config_profile.cxx +0 -25
  1190. package/deps/couchbase-cxx-client/test/test_transaction_transaction_context.cxx +0 -550
  1191. package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_async_api.cxx +0 -392
  1192. package/deps/couchbase-cxx-client/test/test_transaction_transaction_public_blocking_api.cxx +0 -643
  1193. package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple.cxx +0 -899
  1194. package/deps/couchbase-cxx-client/test/test_transaction_transaction_simple_async.cxx +0 -972
  1195. package/deps/couchbase-cxx-client/test/tools/CMakeLists.txt +0 -10
  1196. package/deps/couchbase-cxx-client/test/tools/tool_kv_loader.cxx +0 -349
  1197. package/deps/couchbase-cxx-client/test/utils/uniq_id.cxx +0 -29
  1198. package/deps/couchbase-cxx-client/test/utils/uniq_id.hxx +0 -26
  1199. package/deps/couchbase-cxx-client/third_party/catch2/.travis.yml +0 -335
  1200. package/deps/couchbase-cxx-client/third_party/catch2/CMake/MiscFunctions.cmake +0 -26
  1201. package/deps/couchbase-cxx-client/third_party/catch2/WORKSPACE +0 -0
  1202. package/deps/couchbase-cxx-client/third_party/catch2/contrib/Catch.cmake +0 -206
  1203. package/deps/couchbase-cxx-client/third_party/catch2/contrib/CatchAddTests.cmake +0 -135
  1204. package/deps/couchbase-cxx-client/third_party/catch2/docs/slow-compiles.md +0 -106
  1205. package/deps/couchbase-cxx-client/third_party/catch2/examples/000-CatchMain.cpp +0 -15
  1206. package/deps/couchbase-cxx-client/third_party/catch2/examples/200-Rpt-CatchMain.cpp +0 -27
  1207. package/deps/couchbase-cxx-client/third_party/catch2/examples/207-Rpt-TeamCityReporter.cpp +0 -171
  1208. package/deps/couchbase-cxx-client/third_party/catch2/include/catch.hpp +0 -496
  1209. package/deps/couchbase-cxx-client/third_party/catch2/include/catch_with_main.hpp +0 -14
  1210. package/deps/couchbase-cxx-client/third_party/catch2/include/external/clara.hpp +0 -1268
  1211. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_benchmark.hpp +0 -122
  1212. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_benchmarking_all.hpp +0 -29
  1213. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_chronometer.hpp +0 -71
  1214. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_clock.hpp +0 -40
  1215. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_constructor.hpp +0 -79
  1216. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_environment.hpp +0 -38
  1217. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_estimate.hpp +0 -31
  1218. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_execution_plan.hpp +0 -59
  1219. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_optimizer.hpp +0 -68
  1220. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_outlier_classification.hpp +0 -29
  1221. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/catch_sample_analysis.hpp +0 -50
  1222. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_analyse.hpp +0 -78
  1223. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_benchmark_function.hpp +0 -105
  1224. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_complete_invoke.hpp +0 -68
  1225. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_estimate_clock.hpp +0 -115
  1226. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_measure.hpp +0 -35
  1227. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_repeat.hpp +0 -37
  1228. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_run_for_at_least.hpp +0 -65
  1229. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_stats.cpp +0 -224
  1230. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_stats.hpp +0 -160
  1231. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/benchmark/detail/catch_timing.hpp +0 -33
  1232. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_approx.cpp +0 -88
  1233. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_approx.h +0 -132
  1234. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionhandler.cpp +0 -122
  1235. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionhandler.h +0 -88
  1236. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertioninfo.h +0 -31
  1237. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionresult.cpp +0 -104
  1238. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_assertionresult.h +0 -59
  1239. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture.hpp +0 -159
  1240. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture_matchers.cpp +0 -24
  1241. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_capture_matchers.h +0 -88
  1242. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_clara.h +0 -38
  1243. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_commandline.cpp +0 -230
  1244. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_commandline.h +0 -20
  1245. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_common.cpp +0 -43
  1246. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_common.h +0 -92
  1247. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_compiler_capabilities.h +0 -377
  1248. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config.cpp +0 -86
  1249. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config.hpp +0 -133
  1250. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_config_uncaught_exceptions.hpp +0 -44
  1251. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_console_colour.cpp +0 -243
  1252. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_console_colour.h +0 -69
  1253. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_context.cpp +0 -70
  1254. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_context.h +0 -64
  1255. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debug_console.cpp +0 -41
  1256. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debug_console.h +0 -17
  1257. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debugger.cpp +0 -122
  1258. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_debugger.h +0 -65
  1259. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_decomposer.cpp +0 -24
  1260. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_decomposer.h +0 -259
  1261. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_default_main.hpp +0 -47
  1262. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enforce.cpp +0 -40
  1263. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enforce.h +0 -53
  1264. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enum_values_registry.cpp +0 -75
  1265. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_enum_values_registry.h +0 -35
  1266. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_errno_guard.cpp +0 -15
  1267. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_errno_guard.h +0 -22
  1268. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_exception_translator_registry.cpp +0 -89
  1269. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_exception_translator_registry.h +0 -30
  1270. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_external_interfaces.h +0 -20
  1271. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_fatal_condition.cpp +0 -244
  1272. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_fatal_condition.h +0 -68
  1273. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators.cpp +0 -32
  1274. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators.hpp +0 -219
  1275. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators_generic.hpp +0 -237
  1276. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_generators_specific.hpp +0 -175
  1277. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_impl.hpp +0 -33
  1278. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_capture.cpp +0 -5
  1279. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_capture.h +0 -100
  1280. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_config.cpp +0 -5
  1281. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_config.h +0 -92
  1282. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_enum_values_registry.h +0 -46
  1283. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_exception.cpp +0 -6
  1284. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_exception.h +0 -88
  1285. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_generatortracker.h +0 -39
  1286. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_registry_hub.cpp +0 -6
  1287. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_registry_hub.h +0 -61
  1288. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_reporter.cpp +0 -114
  1289. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_reporter.h +0 -272
  1290. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_runner.cpp +0 -5
  1291. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_runner.h +0 -19
  1292. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_tag_alias_registry.h +0 -28
  1293. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_testcase.cpp +0 -6
  1294. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_interfaces_testcase.h +0 -38
  1295. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_leak_detector.cpp +0 -37
  1296. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_leak_detector.h +0 -18
  1297. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_list.cpp +0 -173
  1298. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_list.h +0 -38
  1299. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers.cpp +0 -28
  1300. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers.h +0 -174
  1301. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_exception.cpp +0 -30
  1302. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_exception.hpp +0 -36
  1303. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_floating.cpp +0 -237
  1304. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_floating.h +0 -70
  1305. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_generic.cpp +0 -9
  1306. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_generic.hpp +0 -58
  1307. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_string.cpp +0 -118
  1308. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_string.h +0 -80
  1309. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_matchers_vector.h +0 -180
  1310. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_message.cpp +0 -142
  1311. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_message.h +0 -99
  1312. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_meta.hpp +0 -50
  1313. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_objc.hpp +0 -215
  1314. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_objc_arc.hpp +0 -51
  1315. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_option.hpp +0 -73
  1316. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_output_redirect.cpp +0 -147
  1317. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_output_redirect.h +0 -116
  1318. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_platform.h +0 -30
  1319. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_polyfills.cpp +0 -31
  1320. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_polyfills.hpp +0 -15
  1321. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_preprocessor.hpp +0 -237
  1322. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_random_number_generator.cpp +0 -73
  1323. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_random_number_generator.h +0 -58
  1324. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reenable_warnings.h +0 -21
  1325. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_registry_hub.cpp +0 -99
  1326. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registrars.hpp +0 -78
  1327. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registry.cpp +0 -34
  1328. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_reporter_registry.h +0 -37
  1329. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_result_type.cpp +0 -27
  1330. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_result_type.h +0 -55
  1331. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_run_context.cpp +0 -595
  1332. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_run_context.h +0 -159
  1333. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section.cpp +0 -38
  1334. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section.h +0 -51
  1335. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section_info.cpp +0 -19
  1336. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_section_info.h +0 -42
  1337. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_session.cpp +0 -313
  1338. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_session.h +0 -62
  1339. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_singletons.cpp +0 -36
  1340. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_singletons.hpp +0 -44
  1341. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_startup_exception_registry.cpp +0 -28
  1342. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_startup_exception_registry.h +0 -29
  1343. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stream.cpp +0 -187
  1344. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stream.h +0 -51
  1345. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_string_manip.cpp +0 -109
  1346. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_string_manip.h +0 -45
  1347. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stringref.cpp +0 -50
  1348. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_stringref.h +0 -104
  1349. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_suppress_warnings.h +0 -27
  1350. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias.cpp +0 -5
  1351. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias.h +0 -26
  1352. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_autoregistrar.cpp +0 -16
  1353. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_autoregistrar.h +0 -26
  1354. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_registry.cpp +0 -58
  1355. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tag_alias_registry.h +0 -31
  1356. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_info.cpp +0 -186
  1357. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_info.h +0 -90
  1358. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_registry_impl.cpp +0 -176
  1359. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_registry_impl.h +0 -71
  1360. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_tracker.cpp +0 -254
  1361. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_case_tracker.h +0 -180
  1362. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_registry.cpp +0 -37
  1363. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_registry.h +0 -402
  1364. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec.cpp +0 -99
  1365. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec.h +0 -94
  1366. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec_parser.cpp +0 -240
  1367. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_test_spec_parser.h +0 -79
  1368. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_text.h +0 -17
  1369. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_timer.cpp +0 -74
  1370. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_timer.h +0 -30
  1371. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_to_string.hpp +0 -28
  1372. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tostring.cpp +0 -265
  1373. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_tostring.h +0 -675
  1374. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_totals.cpp +0 -61
  1375. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_totals.h +0 -41
  1376. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_uncaught_exceptions.cpp +0 -25
  1377. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_uncaught_exceptions.h +0 -15
  1378. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_user_interfaces.h +0 -18
  1379. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_version.cpp +0 -44
  1380. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_version.h +0 -39
  1381. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_wildcard_pattern.cpp +0 -47
  1382. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_wildcard_pattern.h +0 -38
  1383. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_windows_h_proxy.h +0 -39
  1384. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_xmlwriter.cpp +0 -334
  1385. package/deps/couchbase-cxx-client/third_party/catch2/include/internal/catch_xmlwriter.h +0 -116
  1386. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_automake.hpp +0 -62
  1387. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_bases.cpp +0 -84
  1388. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_bases.hpp +0 -285
  1389. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_compact.cpp +0 -290
  1390. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_compact.h +0 -39
  1391. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_console.cpp +0 -700
  1392. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_console.h +0 -89
  1393. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_junit.cpp +0 -300
  1394. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_junit.h +0 -62
  1395. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_listening.cpp +0 -164
  1396. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_listening.h +0 -63
  1397. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_sonarqube.hpp +0 -181
  1398. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_tap.hpp +0 -254
  1399. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_teamcity.hpp +0 -219
  1400. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_xml.cpp +0 -281
  1401. package/deps/couchbase-cxx-client/third_party/catch2/include/reporters/catch_reporter_xml.h +0 -68
  1402. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorBuildConfigurationScript.bat +0 -22
  1403. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorMergeCoverageScript.py +0 -9
  1404. package/deps/couchbase-cxx-client/third_party/catch2/misc/appveyorTestRunScript.bat +0 -15
  1405. package/deps/couchbase-cxx-client/third_party/catch2/misc/coverage-helper.cpp +0 -142
  1406. package/deps/couchbase-cxx-client/third_party/catch2/misc/installOpenCppCoverage.ps1 +0 -19
  1407. package/deps/couchbase-cxx-client/third_party/catch2/projects/CMakeLists.txt +0 -492
  1408. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/CMakeLists.txt +0 -201
  1409. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/ToDo.txt +0 -11
  1410. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X01-PrefixedMacros.cpp +0 -84
  1411. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X02-DisabledMacros.cpp +0 -31
  1412. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X03-DisabledExceptions-DefaultHandler.cpp +0 -23
  1413. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X04-DisabledExceptions-CustomHandler.cpp +0 -33
  1414. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X10-FallbackStringifier.cpp +0 -23
  1415. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X11-DisableStringification.cpp +0 -16
  1416. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X12-CustomDebugBreakMacro.cpp +0 -17
  1417. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X20-BenchmarkingMacros.cpp +0 -125
  1418. package/deps/couchbase-cxx-client/third_party/catch2/projects/ExtraTests/X90-WindowsHeaderInclusion.cpp +0 -12
  1419. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/compact.sw.approved.txt +0 -1903
  1420. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.std.approved.txt +0 -1425
  1421. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.sw.approved.txt +0 -14183
  1422. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/console.swa4.approved.txt +0 -936
  1423. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/junit.sw.approved.txt +0 -1773
  1424. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/sonarqube.sw.approved.txt +0 -1777
  1425. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/Baselines/xml.sw.approved.txt +0 -16767
  1426. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/10.tests.cpp +0 -13
  1427. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/100.tests.cpp +0 -13
  1428. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/CompileTimePerfTests/All.tests.cpp +0 -15
  1429. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/CmdLine.tests.cpp +0 -582
  1430. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Details.tests.cpp +0 -23
  1431. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp +0 -352
  1432. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/InternalBenchmark.tests.cpp +0 -405
  1433. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/PartTracker.tests.cpp +0 -253
  1434. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/RandomNumberGeneration.tests.cpp +0 -45
  1435. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/String.tests.cpp +0 -150
  1436. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/StringManip.tests.cpp +0 -67
  1437. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Tag.tests.cpp +0 -54
  1438. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/ToString.tests.cpp +0 -53
  1439. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/IntrospectiveTests/Xml.tests.cpp +0 -114
  1440. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_console_colour.cpp +0 -3
  1441. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_debugger.cpp +0 -2
  1442. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_interfaces_reporter.cpp +0 -2
  1443. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_option.cpp +0 -3
  1444. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_stream.cpp +0 -3
  1445. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_test_case_tracker.cpp +0 -2
  1446. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_test_spec.cpp +0 -3
  1447. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/SurrogateCpps/catch_xmlwriter.cpp +0 -4
  1448. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/TestMain.cpp +0 -34
  1449. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/TimingTests/Sleep.tests.cpp +0 -23
  1450. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Approx.tests.cpp +0 -215
  1451. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/BDD.tests.cpp +0 -110
  1452. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Benchmark.tests.cpp +0 -144
  1453. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Class.tests.cpp +0 -137
  1454. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Compilation.tests.cpp +0 -269
  1455. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Condition.tests.cpp +0 -347
  1456. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Decomposition.tests.cpp +0 -39
  1457. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/EnumToString.tests.cpp +0 -99
  1458. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Exception.tests.cpp +0 -210
  1459. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Generators.tests.cpp +0 -271
  1460. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Matchers.tests.cpp +0 -676
  1461. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Message.tests.cpp +0 -269
  1462. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Misc.tests.cpp +0 -493
  1463. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringByte.tests.cpp +0 -15
  1464. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringChrono.tests.cpp +0 -44
  1465. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringGeneral.tests.cpp +0 -210
  1466. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringOptional.tests.cpp +0 -23
  1467. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringPair.tests.cpp +0 -30
  1468. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringTuple.tests.cpp +0 -47
  1469. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringVariant.tests.cpp +0 -91
  1470. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringVector.tests.cpp +0 -86
  1471. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/ToStringWhich.tests.cpp +0 -193
  1472. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/Tricky.tests.cpp +0 -429
  1473. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/UsageTests/VariadicMacros.tests.cpp +0 -29
  1474. package/deps/couchbase-cxx-client/third_party/catch2/projects/SelfTest/WarnAboutNoTests.cmake +0 -19
  1475. package/deps/couchbase-cxx-client/third_party/catch2/projects/TestScripts/testRandomOrder.py +0 -59
  1476. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/CatchOCTestCase.h +0 -25
  1477. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/CatchOCTestCase.mm +0 -87
  1478. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/Main.mm +0 -2
  1479. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/OCTest.1 +0 -79
  1480. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/OCTest.mm +0 -28
  1481. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/TestObj.h +0 -28
  1482. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest/TestObj.m +0 -25
  1483. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.pbxproj +0 -294
  1484. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  1485. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/OCTest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  1486. package/deps/couchbase-cxx-client/third_party/catch2/projects/XCode/OCTest/catch_objc_impl.mm +0 -69
  1487. package/deps/couchbase-cxx-client/third_party/catch2/scripts/approvalTests.py +0 -217
  1488. package/deps/couchbase-cxx-client/third_party/catch2/scripts/approve.py +0 -33
  1489. package/deps/couchbase-cxx-client/third_party/catch2/scripts/benchmarkCompile.py +0 -148
  1490. package/deps/couchbase-cxx-client/third_party/catch2/scripts/benchmarkRunner.py +0 -56
  1491. package/deps/couchbase-cxx-client/third_party/catch2/scripts/developBuild.py +0 -10
  1492. package/deps/couchbase-cxx-client/third_party/catch2/scripts/embed.py +0 -63
  1493. package/deps/couchbase-cxx-client/third_party/catch2/scripts/embedClara.py +0 -27
  1494. package/deps/couchbase-cxx-client/third_party/catch2/scripts/extractFeaturesFromReleaseNotes.py +0 -94
  1495. package/deps/couchbase-cxx-client/third_party/catch2/scripts/fixWhitespace.py +0 -52
  1496. package/deps/couchbase-cxx-client/third_party/catch2/scripts/generateSingleHeader.py +0 -151
  1497. package/deps/couchbase-cxx-client/third_party/catch2/scripts/majorRelease.py +0 -10
  1498. package/deps/couchbase-cxx-client/third_party/catch2/scripts/minorRelease.py +0 -10
  1499. package/deps/couchbase-cxx-client/third_party/catch2/scripts/patchRelease.py +0 -10
  1500. package/deps/couchbase-cxx-client/third_party/catch2/scripts/releaseCommon.py +0 -168
  1501. package/deps/couchbase-cxx-client/third_party/catch2/scripts/releaseNotes.py +0 -65
  1502. package/deps/couchbase-cxx-client/third_party/catch2/scripts/scriptCommon.py +0 -31
  1503. package/deps/couchbase-cxx-client/third_party/catch2/scripts/updateDocumentToC.py +0 -449
  1504. package/deps/couchbase-cxx-client/third_party/catch2/scripts/updateWandbox.py +0 -53
  1505. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch.hpp +0 -17959
  1506. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_automake.hpp +0 -62
  1507. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_sonarqube.hpp +0 -181
  1508. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_tap.hpp +0 -254
  1509. package/deps/couchbase-cxx-client/third_party/catch2/single_include/catch2/catch_reporter_teamcity.hpp +0 -219
  1510. package/deps/couchbase-cxx-client/third_party/catch2/src/catch_with_main.cpp +0 -2
  1511. package/deps/couchbase-cxx-client/third_party/snappy/.appveyor.yml +0 -36
  1512. package/deps/couchbase-cxx-client/third_party/snappy/.travis.yml +0 -94
  1513. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-c-logo.png +0 -0
  1514. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-hand-logo.png +0 -0
  1515. /package/deps/couchbase-cxx-client/third_party/catch2/{artwork → data/artwork}/catch2-logo-small.png +0 -0
  1516. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/ParseAndAddCatchTests.cmake +0 -0
  1517. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/gdbinit +0 -0
  1518. /package/deps/couchbase-cxx-client/third_party/catch2/{contrib → extras}/lldbinit +0 -0
  1519. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Baselines/automake.std.approved.txt +0 -0
  1520. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/invalid-test-names.input +0 -0
  1521. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/plain-old-tests.input +0 -0
  1522. /package/deps/couchbase-cxx-client/third_party/catch2/{projects → tests}/SelfTest/Misc/special-characters-in-file.input +0 -0
  1523. /package/deps/couchbase-cxx-client/third_party/catch2/{misc → tools/misc}/CMakeLists.txt +0 -0
@@ -0,0 +1,1604 @@
1
+ // Copyright 2015 Google Inc. All rights reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ // Support for registering benchmarks for functions.
16
+
17
+ /* Example usage:
18
+ // Define a function that executes the code to be measured a
19
+ // specified number of times:
20
+ static void BM_StringCreation(benchmark::State& state) {
21
+ for (auto _ : state)
22
+ std::string empty_string;
23
+ }
24
+
25
+ // Register the function as a benchmark
26
+ BENCHMARK(BM_StringCreation);
27
+
28
+ // Define another benchmark
29
+ static void BM_StringCopy(benchmark::State& state) {
30
+ std::string x = "hello";
31
+ for (auto _ : state)
32
+ std::string copy(x);
33
+ }
34
+ BENCHMARK(BM_StringCopy);
35
+
36
+ // Augment the main() program to invoke benchmarks if specified
37
+ // via the --benchmarks command line flag. E.g.,
38
+ // my_unittest --benchmark_filter=all
39
+ // my_unittest --benchmark_filter=BM_StringCreation
40
+ // my_unittest --benchmark_filter=String
41
+ // my_unittest --benchmark_filter='Copy|Creation'
42
+ int main(int argc, char** argv) {
43
+ benchmark::Initialize(&argc, argv);
44
+ benchmark::RunSpecifiedBenchmarks();
45
+ return 0;
46
+ }
47
+
48
+ // Sometimes a family of microbenchmarks can be implemented with
49
+ // just one routine that takes an extra argument to specify which
50
+ // one of the family of benchmarks to run. For example, the following
51
+ // code defines a family of microbenchmarks for measuring the speed
52
+ // of memcpy() calls of different lengths:
53
+
54
+ static void BM_memcpy(benchmark::State& state) {
55
+ char* src = new char[state.range(0)]; char* dst = new char[state.range(0)];
56
+ memset(src, 'x', state.range(0));
57
+ for (auto _ : state)
58
+ memcpy(dst, src, state.range(0));
59
+ state.SetBytesProcessed(state.iterations() * state.range(0));
60
+ delete[] src; delete[] dst;
61
+ }
62
+ BENCHMARK(BM_memcpy)->Arg(8)->Arg(64)->Arg(512)->Arg(1<<10)->Arg(8<<10);
63
+
64
+ // The preceding code is quite repetitive, and can be replaced with the
65
+ // following short-hand. The following invocation will pick a few
66
+ // appropriate arguments in the specified range and will generate a
67
+ // microbenchmark for each such argument.
68
+ BENCHMARK(BM_memcpy)->Range(8, 8<<10);
69
+
70
+ // You might have a microbenchmark that depends on two inputs. For
71
+ // example, the following code defines a family of microbenchmarks for
72
+ // measuring the speed of set insertion.
73
+ static void BM_SetInsert(benchmark::State& state) {
74
+ set<int> data;
75
+ for (auto _ : state) {
76
+ state.PauseTiming();
77
+ data = ConstructRandomSet(state.range(0));
78
+ state.ResumeTiming();
79
+ for (int j = 0; j < state.range(1); ++j)
80
+ data.insert(RandomNumber());
81
+ }
82
+ }
83
+ BENCHMARK(BM_SetInsert)
84
+ ->Args({1<<10, 128})
85
+ ->Args({2<<10, 128})
86
+ ->Args({4<<10, 128})
87
+ ->Args({8<<10, 128})
88
+ ->Args({1<<10, 512})
89
+ ->Args({2<<10, 512})
90
+ ->Args({4<<10, 512})
91
+ ->Args({8<<10, 512});
92
+
93
+ // The preceding code is quite repetitive, and can be replaced with
94
+ // the following short-hand. The following macro will pick a few
95
+ // appropriate arguments in the product of the two specified ranges
96
+ // and will generate a microbenchmark for each such pair.
97
+ BENCHMARK(BM_SetInsert)->Ranges({{1<<10, 8<<10}, {128, 512}});
98
+
99
+ // For more complex patterns of inputs, passing a custom function
100
+ // to Apply allows programmatic specification of an
101
+ // arbitrary set of arguments to run the microbenchmark on.
102
+ // The following example enumerates a dense range on
103
+ // one parameter, and a sparse range on the second.
104
+ static void CustomArguments(benchmark::internal::Benchmark* b) {
105
+ for (int i = 0; i <= 10; ++i)
106
+ for (int j = 32; j <= 1024*1024; j *= 8)
107
+ b->Args({i, j});
108
+ }
109
+ BENCHMARK(BM_SetInsert)->Apply(CustomArguments);
110
+
111
+ // Templated microbenchmarks work the same way:
112
+ // Produce then consume 'size' messages 'iters' times
113
+ // Measures throughput in the absence of multiprogramming.
114
+ template <class Q> int BM_Sequential(benchmark::State& state) {
115
+ Q q;
116
+ typename Q::value_type v;
117
+ for (auto _ : state) {
118
+ for (int i = state.range(0); i--; )
119
+ q.push(v);
120
+ for (int e = state.range(0); e--; )
121
+ q.Wait(&v);
122
+ }
123
+ // actually messages, not bytes:
124
+ state.SetBytesProcessed(state.iterations() * state.range(0));
125
+ }
126
+ BENCHMARK_TEMPLATE(BM_Sequential, WaitQueue<int>)->Range(1<<0, 1<<10);
127
+
128
+ Use `Benchmark::MinTime(double t)` to set the minimum time used to run the
129
+ benchmark. This option overrides the `benchmark_min_time` flag.
130
+
131
+ void BM_test(benchmark::State& state) {
132
+ ... body ...
133
+ }
134
+ BENCHMARK(BM_test)->MinTime(2.0); // Run for at least 2 seconds.
135
+
136
+ In a multithreaded test, it is guaranteed that none of the threads will start
137
+ until all have reached the loop start, and all will have finished before any
138
+ thread exits the loop body. As such, any global setup or teardown you want to
139
+ do can be wrapped in a check against the thread index:
140
+
141
+ static void BM_MultiThreaded(benchmark::State& state) {
142
+ if (state.thread_index == 0) {
143
+ // Setup code here.
144
+ }
145
+ for (auto _ : state) {
146
+ // Run the test as normal.
147
+ }
148
+ if (state.thread_index == 0) {
149
+ // Teardown code here.
150
+ }
151
+ }
152
+ BENCHMARK(BM_MultiThreaded)->Threads(4);
153
+
154
+
155
+ If a benchmark runs a few milliseconds it may be hard to visually compare the
156
+ measured times, since the output data is given in nanoseconds per default. In
157
+ order to manually set the time unit, you can specify it manually:
158
+
159
+ BENCHMARK(BM_test)->Unit(benchmark::kMillisecond);
160
+ */
161
+
162
+ #ifndef BENCHMARK_BENCHMARK_H_
163
+ #define BENCHMARK_BENCHMARK_H_
164
+
165
+ // The _MSVC_LANG check should detect Visual Studio 2015 Update 3 and newer.
166
+ #if __cplusplus >= 201103L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201103L)
167
+ #define BENCHMARK_HAS_CXX11
168
+ #endif
169
+
170
+ #include <stdint.h>
171
+
172
+ #include <algorithm>
173
+ #include <cassert>
174
+ #include <cstddef>
175
+ #include <iosfwd>
176
+ #include <map>
177
+ #include <set>
178
+ #include <string>
179
+ #include <utility>
180
+ #include <vector>
181
+
182
+ #if defined(BENCHMARK_HAS_CXX11)
183
+ #include <initializer_list>
184
+ #include <type_traits>
185
+ #include <utility>
186
+ #endif
187
+
188
+ #if defined(_MSC_VER)
189
+ #include <intrin.h> // for _ReadWriteBarrier
190
+ #endif
191
+
192
+ #ifndef BENCHMARK_HAS_CXX11
193
+ #define BENCHMARK_DISALLOW_COPY_AND_ASSIGN(TypeName) \
194
+ TypeName(const TypeName&); \
195
+ TypeName& operator=(const TypeName&)
196
+ #else
197
+ #define BENCHMARK_DISALLOW_COPY_AND_ASSIGN(TypeName) \
198
+ TypeName(const TypeName&) = delete; \
199
+ TypeName& operator=(const TypeName&) = delete
200
+ #endif
201
+
202
+ #if defined(__GNUC__)
203
+ #define BENCHMARK_UNUSED __attribute__((unused))
204
+ #define BENCHMARK_ALWAYS_INLINE __attribute__((always_inline))
205
+ #define BENCHMARK_NOEXCEPT noexcept
206
+ #define BENCHMARK_NOEXCEPT_OP(x) noexcept(x)
207
+ #elif defined(_MSC_VER) && !defined(__clang__)
208
+ #define BENCHMARK_UNUSED
209
+ #define BENCHMARK_ALWAYS_INLINE __forceinline
210
+ #if _MSC_VER >= 1900
211
+ #define BENCHMARK_NOEXCEPT noexcept
212
+ #define BENCHMARK_NOEXCEPT_OP(x) noexcept(x)
213
+ #else
214
+ #define BENCHMARK_NOEXCEPT
215
+ #define BENCHMARK_NOEXCEPT_OP(x)
216
+ #endif
217
+ #define __func__ __FUNCTION__
218
+ #else
219
+ #define BENCHMARK_UNUSED
220
+ #define BENCHMARK_ALWAYS_INLINE
221
+ #define BENCHMARK_NOEXCEPT
222
+ #define BENCHMARK_NOEXCEPT_OP(x)
223
+ #endif
224
+
225
+ #define BENCHMARK_INTERNAL_TOSTRING2(x) #x
226
+ #define BENCHMARK_INTERNAL_TOSTRING(x) BENCHMARK_INTERNAL_TOSTRING2(x)
227
+
228
+ #if defined(__GNUC__) || defined(__clang__)
229
+ #define BENCHMARK_BUILTIN_EXPECT(x, y) __builtin_expect(x, y)
230
+ #define BENCHMARK_DEPRECATED_MSG(msg) __attribute__((deprecated(msg)))
231
+ #else
232
+ #define BENCHMARK_BUILTIN_EXPECT(x, y) x
233
+ #define BENCHMARK_DEPRECATED_MSG(msg)
234
+ #define BENCHMARK_WARNING_MSG(msg) \
235
+ __pragma(message(__FILE__ "(" BENCHMARK_INTERNAL_TOSTRING( \
236
+ __LINE__) ") : warning note: " msg))
237
+ #endif
238
+
239
+ #if defined(__GNUC__) && !defined(__clang__)
240
+ #define BENCHMARK_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
241
+ #endif
242
+
243
+ #ifndef __has_builtin
244
+ #define __has_builtin(x) 0
245
+ #endif
246
+
247
+ #if defined(__GNUC__) || __has_builtin(__builtin_unreachable)
248
+ #define BENCHMARK_UNREACHABLE() __builtin_unreachable()
249
+ #elif defined(_MSC_VER)
250
+ #define BENCHMARK_UNREACHABLE() __assume(false)
251
+ #else
252
+ #define BENCHMARK_UNREACHABLE() ((void)0)
253
+ #endif
254
+
255
+ namespace benchmark {
256
+ class BenchmarkReporter;
257
+ class MemoryManager;
258
+
259
+ void Initialize(int* argc, char** argv);
260
+
261
+ // Report to stdout all arguments in 'argv' as unrecognized except the first.
262
+ // Returns true there is at least on unrecognized argument (i.e. 'argc' > 1).
263
+ bool ReportUnrecognizedArguments(int argc, char** argv);
264
+
265
+ // Generate a list of benchmarks matching the specified --benchmark_filter flag
266
+ // and if --benchmark_list_tests is specified return after printing the name
267
+ // of each matching benchmark. Otherwise run each matching benchmark and
268
+ // report the results.
269
+ //
270
+ // The second and third overload use the specified 'display_reporter' and
271
+ // 'file_reporter' respectively. 'file_reporter' will write to the file
272
+ // specified
273
+ // by '--benchmark_output'. If '--benchmark_output' is not given the
274
+ // 'file_reporter' is ignored.
275
+ //
276
+ // RETURNS: The number of matching benchmarks.
277
+ size_t RunSpecifiedBenchmarks();
278
+ size_t RunSpecifiedBenchmarks(BenchmarkReporter* display_reporter);
279
+ size_t RunSpecifiedBenchmarks(BenchmarkReporter* display_reporter,
280
+ BenchmarkReporter* file_reporter);
281
+
282
+ // Register a MemoryManager instance that will be used to collect and report
283
+ // allocation measurements for benchmark runs.
284
+ void RegisterMemoryManager(MemoryManager* memory_manager);
285
+
286
+ namespace internal {
287
+ class Benchmark;
288
+ class BenchmarkImp;
289
+ class BenchmarkFamilies;
290
+
291
+ void UseCharPointer(char const volatile*);
292
+
293
+ // Take ownership of the pointer and register the benchmark. Return the
294
+ // registered benchmark.
295
+ Benchmark* RegisterBenchmarkInternal(Benchmark*);
296
+
297
+ // Ensure that the standard streams are properly initialized in every TU.
298
+ int InitializeStreams();
299
+ BENCHMARK_UNUSED static int stream_init_anchor = InitializeStreams();
300
+
301
+ } // namespace internal
302
+
303
+ #if (!defined(__GNUC__) && !defined(__clang__)) || defined(__pnacl__) || \
304
+ defined(__EMSCRIPTEN__)
305
+ #define BENCHMARK_HAS_NO_INLINE_ASSEMBLY
306
+ #endif
307
+
308
+ // The DoNotOptimize(...) function can be used to prevent a value or
309
+ // expression from being optimized away by the compiler. This function is
310
+ // intended to add little to no overhead.
311
+ // See: https://youtu.be/nXaxk27zwlk?t=2441
312
+ #ifndef BENCHMARK_HAS_NO_INLINE_ASSEMBLY
313
+ template <class Tp>
314
+ inline BENCHMARK_ALWAYS_INLINE void DoNotOptimize(Tp const& value) {
315
+ asm volatile("" : : "r,m"(value) : "memory");
316
+ }
317
+
318
+ template <class Tp>
319
+ inline BENCHMARK_ALWAYS_INLINE void DoNotOptimize(Tp& value) {
320
+ #if defined(__clang__)
321
+ asm volatile("" : "+r,m"(value) : : "memory");
322
+ #else
323
+ asm volatile("" : "+m,r"(value) : : "memory");
324
+ #endif
325
+ }
326
+
327
+ // Force the compiler to flush pending writes to global memory. Acts as an
328
+ // effective read/write barrier
329
+ inline BENCHMARK_ALWAYS_INLINE void ClobberMemory() {
330
+ asm volatile("" : : : "memory");
331
+ }
332
+ #elif defined(_MSC_VER)
333
+ template <class Tp>
334
+ inline BENCHMARK_ALWAYS_INLINE void DoNotOptimize(Tp const& value) {
335
+ internal::UseCharPointer(&reinterpret_cast<char const volatile&>(value));
336
+ _ReadWriteBarrier();
337
+ }
338
+
339
+ inline BENCHMARK_ALWAYS_INLINE void ClobberMemory() { _ReadWriteBarrier(); }
340
+ #else
341
+ template <class Tp>
342
+ inline BENCHMARK_ALWAYS_INLINE void DoNotOptimize(Tp const& value) {
343
+ internal::UseCharPointer(&reinterpret_cast<char const volatile&>(value));
344
+ }
345
+ // FIXME Add ClobberMemory() for non-gnu and non-msvc compilers
346
+ #endif
347
+
348
+ // This class is used for user-defined counters.
349
+ class Counter {
350
+ public:
351
+ enum Flags {
352
+ kDefaults = 0,
353
+ // Mark the counter as a rate. It will be presented divided
354
+ // by the duration of the benchmark.
355
+ kIsRate = 1U << 0U,
356
+ // Mark the counter as a thread-average quantity. It will be
357
+ // presented divided by the number of threads.
358
+ kAvgThreads = 1U << 1U,
359
+ // Mark the counter as a thread-average rate. See above.
360
+ kAvgThreadsRate = kIsRate | kAvgThreads,
361
+ // Mark the counter as a constant value, valid/same for *every* iteration.
362
+ // When reporting, it will be *multiplied* by the iteration count.
363
+ kIsIterationInvariant = 1U << 2U,
364
+ // Mark the counter as a constant rate.
365
+ // When reporting, it will be *multiplied* by the iteration count
366
+ // and then divided by the duration of the benchmark.
367
+ kIsIterationInvariantRate = kIsRate | kIsIterationInvariant,
368
+ // Mark the counter as a iteration-average quantity.
369
+ // It will be presented divided by the number of iterations.
370
+ kAvgIterations = 1U << 3U,
371
+ // Mark the counter as a iteration-average rate. See above.
372
+ kAvgIterationsRate = kIsRate | kAvgIterations,
373
+
374
+ // In the end, invert the result. This is always done last!
375
+ kInvert = 1U << 31U
376
+ };
377
+
378
+ enum OneK {
379
+ // 1'000 items per 1k
380
+ kIs1000 = 1000,
381
+ // 1'024 items per 1k
382
+ kIs1024 = 1024
383
+ };
384
+
385
+ double value;
386
+ Flags flags;
387
+ OneK oneK;
388
+
389
+ BENCHMARK_ALWAYS_INLINE
390
+ Counter(double v = 0., Flags f = kDefaults, OneK k = kIs1000)
391
+ : value(v), flags(f), oneK(k) {}
392
+
393
+ BENCHMARK_ALWAYS_INLINE operator double const&() const { return value; }
394
+ BENCHMARK_ALWAYS_INLINE operator double&() { return value; }
395
+ };
396
+
397
+ // A helper for user code to create unforeseen combinations of Flags, without
398
+ // having to do this cast manually each time, or providing this operator.
399
+ Counter::Flags inline operator|(const Counter::Flags& LHS,
400
+ const Counter::Flags& RHS) {
401
+ return static_cast<Counter::Flags>(static_cast<int>(LHS) |
402
+ static_cast<int>(RHS));
403
+ }
404
+
405
+ // This is the container for the user-defined counters.
406
+ typedef std::map<std::string, Counter> UserCounters;
407
+
408
+ // TimeUnit is passed to a benchmark in order to specify the order of magnitude
409
+ // for the measured time.
410
+ enum TimeUnit { kNanosecond, kMicrosecond, kMillisecond };
411
+
412
+ // BigO is passed to a benchmark in order to specify the asymptotic
413
+ // computational
414
+ // complexity for the benchmark. In case oAuto is selected, complexity will be
415
+ // calculated automatically to the best fit.
416
+ enum BigO { oNone, o1, oN, oNSquared, oNCubed, oLogN, oNLogN, oAuto, oLambda };
417
+
418
+ typedef uint64_t IterationCount;
419
+
420
+ // BigOFunc is passed to a benchmark in order to specify the asymptotic
421
+ // computational complexity for the benchmark.
422
+ typedef double(BigOFunc)(IterationCount);
423
+
424
+ // StatisticsFunc is passed to a benchmark in order to compute some descriptive
425
+ // statistics over all the measurements of some type
426
+ typedef double(StatisticsFunc)(const std::vector<double>&);
427
+
428
+ namespace internal {
429
+ struct Statistics {
430
+ std::string name_;
431
+ StatisticsFunc* compute_;
432
+
433
+ Statistics(const std::string& name, StatisticsFunc* compute)
434
+ : name_(name), compute_(compute) {}
435
+ };
436
+
437
+ struct BenchmarkInstance;
438
+ class ThreadTimer;
439
+ class ThreadManager;
440
+
441
+ enum AggregationReportMode
442
+ #if defined(BENCHMARK_HAS_CXX11)
443
+ : unsigned
444
+ #else
445
+ #endif
446
+ {
447
+ // The mode has not been manually specified
448
+ ARM_Unspecified = 0,
449
+ // The mode is user-specified.
450
+ // This may or may not be set when the following bit-flags are set.
451
+ ARM_Default = 1U << 0U,
452
+ // File reporter should only output aggregates.
453
+ ARM_FileReportAggregatesOnly = 1U << 1U,
454
+ // Display reporter should only output aggregates
455
+ ARM_DisplayReportAggregatesOnly = 1U << 2U,
456
+ // Both reporters should only display aggregates.
457
+ ARM_ReportAggregatesOnly =
458
+ ARM_FileReportAggregatesOnly | ARM_DisplayReportAggregatesOnly
459
+ };
460
+
461
+ } // namespace internal
462
+
463
+ // State is passed to a running Benchmark and contains state for the
464
+ // benchmark to use.
465
+ class State {
466
+ public:
467
+ struct StateIterator;
468
+ friend struct StateIterator;
469
+
470
+ // Returns iterators used to run each iteration of a benchmark using a
471
+ // C++11 ranged-based for loop. These functions should not be called directly.
472
+ //
473
+ // REQUIRES: The benchmark has not started running yet. Neither begin nor end
474
+ // have been called previously.
475
+ //
476
+ // NOTE: KeepRunning may not be used after calling either of these functions.
477
+ BENCHMARK_ALWAYS_INLINE StateIterator begin();
478
+ BENCHMARK_ALWAYS_INLINE StateIterator end();
479
+
480
+ // Returns true if the benchmark should continue through another iteration.
481
+ // NOTE: A benchmark may not return from the test until KeepRunning() has
482
+ // returned false.
483
+ bool KeepRunning();
484
+
485
+ // Returns true iff the benchmark should run n more iterations.
486
+ // REQUIRES: 'n' > 0.
487
+ // NOTE: A benchmark must not return from the test until KeepRunningBatch()
488
+ // has returned false.
489
+ // NOTE: KeepRunningBatch() may overshoot by up to 'n' iterations.
490
+ //
491
+ // Intended usage:
492
+ // while (state.KeepRunningBatch(1000)) {
493
+ // // process 1000 elements
494
+ // }
495
+ bool KeepRunningBatch(IterationCount n);
496
+
497
+ // REQUIRES: timer is running and 'SkipWithError(...)' has not been called
498
+ // by the current thread.
499
+ // Stop the benchmark timer. If not called, the timer will be
500
+ // automatically stopped after the last iteration of the benchmark loop.
501
+ //
502
+ // For threaded benchmarks the PauseTiming() function only pauses the timing
503
+ // for the current thread.
504
+ //
505
+ // NOTE: The "real time" measurement is per-thread. If different threads
506
+ // report different measurements the largest one is reported.
507
+ //
508
+ // NOTE: PauseTiming()/ResumeTiming() are relatively
509
+ // heavyweight, and so their use should generally be avoided
510
+ // within each benchmark iteration, if possible.
511
+ void PauseTiming();
512
+
513
+ // REQUIRES: timer is not running and 'SkipWithError(...)' has not been called
514
+ // by the current thread.
515
+ // Start the benchmark timer. The timer is NOT running on entrance to the
516
+ // benchmark function. It begins running after control flow enters the
517
+ // benchmark loop.
518
+ //
519
+ // NOTE: PauseTiming()/ResumeTiming() are relatively
520
+ // heavyweight, and so their use should generally be avoided
521
+ // within each benchmark iteration, if possible.
522
+ void ResumeTiming();
523
+
524
+ // REQUIRES: 'SkipWithError(...)' has not been called previously by the
525
+ // current thread.
526
+ // Report the benchmark as resulting in an error with the specified 'msg'.
527
+ // After this call the user may explicitly 'return' from the benchmark.
528
+ //
529
+ // If the ranged-for style of benchmark loop is used, the user must explicitly
530
+ // break from the loop, otherwise all future iterations will be run.
531
+ // If the 'KeepRunning()' loop is used the current thread will automatically
532
+ // exit the loop at the end of the current iteration.
533
+ //
534
+ // For threaded benchmarks only the current thread stops executing and future
535
+ // calls to `KeepRunning()` will block until all threads have completed
536
+ // the `KeepRunning()` loop. If multiple threads report an error only the
537
+ // first error message is used.
538
+ //
539
+ // NOTE: Calling 'SkipWithError(...)' does not cause the benchmark to exit
540
+ // the current scope immediately. If the function is called from within
541
+ // the 'KeepRunning()' loop the current iteration will finish. It is the users
542
+ // responsibility to exit the scope as needed.
543
+ void SkipWithError(const char* msg);
544
+
545
+ // Returns true if an error has been reported with 'SkipWithError(...)'.
546
+ bool error_occurred() const { return error_occurred_; }
547
+
548
+ // REQUIRES: called exactly once per iteration of the benchmarking loop.
549
+ // Set the manually measured time for this benchmark iteration, which
550
+ // is used instead of automatically measured time if UseManualTime() was
551
+ // specified.
552
+ //
553
+ // For threaded benchmarks the final value will be set to the largest
554
+ // reported values.
555
+ void SetIterationTime(double seconds);
556
+
557
+ // Set the number of bytes processed by the current benchmark
558
+ // execution. This routine is typically called once at the end of a
559
+ // throughput oriented benchmark.
560
+ //
561
+ // REQUIRES: a benchmark has exited its benchmarking loop.
562
+ BENCHMARK_ALWAYS_INLINE
563
+ void SetBytesProcessed(int64_t bytes) {
564
+ counters["bytes_per_second"] =
565
+ Counter(static_cast<double>(bytes), Counter::kIsRate, Counter::kIs1024);
566
+ }
567
+
568
+ BENCHMARK_ALWAYS_INLINE
569
+ int64_t bytes_processed() const {
570
+ if (counters.find("bytes_per_second") != counters.end())
571
+ return static_cast<int64_t>(counters.at("bytes_per_second"));
572
+ return 0;
573
+ }
574
+
575
+ // If this routine is called with complexity_n > 0 and complexity report is
576
+ // requested for the
577
+ // family benchmark, then current benchmark will be part of the computation
578
+ // and complexity_n will
579
+ // represent the length of N.
580
+ BENCHMARK_ALWAYS_INLINE
581
+ void SetComplexityN(int64_t complexity_n) { complexity_n_ = complexity_n; }
582
+
583
+ BENCHMARK_ALWAYS_INLINE
584
+ int64_t complexity_length_n() const { return complexity_n_; }
585
+
586
+ // If this routine is called with items > 0, then an items/s
587
+ // label is printed on the benchmark report line for the currently
588
+ // executing benchmark. It is typically called at the end of a processing
589
+ // benchmark where a processing items/second output is desired.
590
+ //
591
+ // REQUIRES: a benchmark has exited its benchmarking loop.
592
+ BENCHMARK_ALWAYS_INLINE
593
+ void SetItemsProcessed(int64_t items) {
594
+ counters["items_per_second"] =
595
+ Counter(static_cast<double>(items), benchmark::Counter::kIsRate);
596
+ }
597
+
598
+ BENCHMARK_ALWAYS_INLINE
599
+ int64_t items_processed() const {
600
+ if (counters.find("items_per_second") != counters.end())
601
+ return static_cast<int64_t>(counters.at("items_per_second"));
602
+ return 0;
603
+ }
604
+
605
+ // If this routine is called, the specified label is printed at the
606
+ // end of the benchmark report line for the currently executing
607
+ // benchmark. Example:
608
+ // static void BM_Compress(benchmark::State& state) {
609
+ // ...
610
+ // double compress = input_size / output_size;
611
+ // state.SetLabel(StrFormat("compress:%.1f%%", 100.0*compression));
612
+ // }
613
+ // Produces output that looks like:
614
+ // BM_Compress 50 50 14115038 compress:27.3%
615
+ //
616
+ // REQUIRES: a benchmark has exited its benchmarking loop.
617
+ void SetLabel(const char* label);
618
+
619
+ void BENCHMARK_ALWAYS_INLINE SetLabel(const std::string& str) {
620
+ this->SetLabel(str.c_str());
621
+ }
622
+
623
+ // Range arguments for this run. CHECKs if the argument has been set.
624
+ BENCHMARK_ALWAYS_INLINE
625
+ int64_t range(std::size_t pos = 0) const {
626
+ assert(range_.size() > pos);
627
+ return range_[pos];
628
+ }
629
+
630
+ BENCHMARK_DEPRECATED_MSG("use 'range(0)' instead")
631
+ int64_t range_x() const { return range(0); }
632
+
633
+ BENCHMARK_DEPRECATED_MSG("use 'range(1)' instead")
634
+ int64_t range_y() const { return range(1); }
635
+
636
+ BENCHMARK_ALWAYS_INLINE
637
+ IterationCount iterations() const {
638
+ if (BENCHMARK_BUILTIN_EXPECT(!started_, false)) {
639
+ return 0;
640
+ }
641
+ return max_iterations - total_iterations_ + batch_leftover_;
642
+ }
643
+
644
+ private
645
+ : // items we expect on the first cache line (ie 64 bytes of the struct)
646
+ // When total_iterations_ is 0, KeepRunning() and friends will return false.
647
+ // May be larger than max_iterations.
648
+ IterationCount total_iterations_;
649
+
650
+ // When using KeepRunningBatch(), batch_leftover_ holds the number of
651
+ // iterations beyond max_iters that were run. Used to track
652
+ // completed_iterations_ accurately.
653
+ IterationCount batch_leftover_;
654
+
655
+ public:
656
+ const IterationCount max_iterations;
657
+
658
+ private:
659
+ bool started_;
660
+ bool finished_;
661
+ bool error_occurred_;
662
+
663
+ private: // items we don't need on the first cache line
664
+ std::vector<int64_t> range_;
665
+
666
+ int64_t complexity_n_;
667
+
668
+ public:
669
+ // Container for user-defined counters.
670
+ UserCounters counters;
671
+ // Index of the executing thread. Values from [0, threads).
672
+ const int thread_index;
673
+ // Number of threads concurrently executing the benchmark.
674
+ const int threads;
675
+
676
+ private:
677
+ State(IterationCount max_iters, const std::vector<int64_t>& ranges,
678
+ int thread_i, int n_threads, internal::ThreadTimer* timer,
679
+ internal::ThreadManager* manager);
680
+
681
+ void StartKeepRunning();
682
+ // Implementation of KeepRunning() and KeepRunningBatch().
683
+ // is_batch must be true unless n is 1.
684
+ bool KeepRunningInternal(IterationCount n, bool is_batch);
685
+ void FinishKeepRunning();
686
+ internal::ThreadTimer* timer_;
687
+ internal::ThreadManager* manager_;
688
+
689
+ friend struct internal::BenchmarkInstance;
690
+ };
691
+
692
+ inline BENCHMARK_ALWAYS_INLINE bool State::KeepRunning() {
693
+ return KeepRunningInternal(1, /*is_batch=*/false);
694
+ }
695
+
696
+ inline BENCHMARK_ALWAYS_INLINE bool State::KeepRunningBatch(IterationCount n) {
697
+ return KeepRunningInternal(n, /*is_batch=*/true);
698
+ }
699
+
700
+ inline BENCHMARK_ALWAYS_INLINE bool State::KeepRunningInternal(IterationCount n,
701
+ bool is_batch) {
702
+ // total_iterations_ is set to 0 by the constructor, and always set to a
703
+ // nonzero value by StartKepRunning().
704
+ assert(n > 0);
705
+ // n must be 1 unless is_batch is true.
706
+ assert(is_batch || n == 1);
707
+ if (BENCHMARK_BUILTIN_EXPECT(total_iterations_ >= n, true)) {
708
+ total_iterations_ -= n;
709
+ return true;
710
+ }
711
+ if (!started_) {
712
+ StartKeepRunning();
713
+ if (!error_occurred_ && total_iterations_ >= n) {
714
+ total_iterations_ -= n;
715
+ return true;
716
+ }
717
+ }
718
+ // For non-batch runs, total_iterations_ must be 0 by now.
719
+ if (is_batch && total_iterations_ != 0) {
720
+ batch_leftover_ = n - total_iterations_;
721
+ total_iterations_ = 0;
722
+ return true;
723
+ }
724
+ FinishKeepRunning();
725
+ return false;
726
+ }
727
+
728
+ struct State::StateIterator {
729
+ struct BENCHMARK_UNUSED Value {};
730
+ typedef std::forward_iterator_tag iterator_category;
731
+ typedef Value value_type;
732
+ typedef Value reference;
733
+ typedef Value pointer;
734
+ typedef std::ptrdiff_t difference_type;
735
+
736
+ private:
737
+ friend class State;
738
+ BENCHMARK_ALWAYS_INLINE
739
+ StateIterator() : cached_(0), parent_() {}
740
+
741
+ BENCHMARK_ALWAYS_INLINE
742
+ explicit StateIterator(State* st)
743
+ : cached_(st->error_occurred_ ? 0 : st->max_iterations), parent_(st) {}
744
+
745
+ public:
746
+ BENCHMARK_ALWAYS_INLINE
747
+ Value operator*() const { return Value(); }
748
+
749
+ BENCHMARK_ALWAYS_INLINE
750
+ StateIterator& operator++() {
751
+ assert(cached_ > 0);
752
+ --cached_;
753
+ return *this;
754
+ }
755
+
756
+ BENCHMARK_ALWAYS_INLINE
757
+ bool operator!=(StateIterator const&) const {
758
+ if (BENCHMARK_BUILTIN_EXPECT(cached_ != 0, true)) return true;
759
+ parent_->FinishKeepRunning();
760
+ return false;
761
+ }
762
+
763
+ private:
764
+ IterationCount cached_;
765
+ State* const parent_;
766
+ };
767
+
768
+ inline BENCHMARK_ALWAYS_INLINE State::StateIterator State::begin() {
769
+ return StateIterator(this);
770
+ }
771
+ inline BENCHMARK_ALWAYS_INLINE State::StateIterator State::end() {
772
+ StartKeepRunning();
773
+ return StateIterator();
774
+ }
775
+
776
+ namespace internal {
777
+
778
+ typedef void(Function)(State&);
779
+
780
+ // ------------------------------------------------------
781
+ // Benchmark registration object. The BENCHMARK() macro expands
782
+ // into an internal::Benchmark* object. Various methods can
783
+ // be called on this object to change the properties of the benchmark.
784
+ // Each method returns "this" so that multiple method calls can
785
+ // chained into one expression.
786
+ class Benchmark {
787
+ public:
788
+ virtual ~Benchmark();
789
+
790
+ // Note: the following methods all return "this" so that multiple
791
+ // method calls can be chained together in one expression.
792
+
793
+ // Run this benchmark once with "x" as the extra argument passed
794
+ // to the function.
795
+ // REQUIRES: The function passed to the constructor must accept an arg1.
796
+ Benchmark* Arg(int64_t x);
797
+
798
+ // Run this benchmark with the given time unit for the generated output report
799
+ Benchmark* Unit(TimeUnit unit);
800
+
801
+ // Run this benchmark once for a number of values picked from the
802
+ // range [start..limit]. (start and limit are always picked.)
803
+ // REQUIRES: The function passed to the constructor must accept an arg1.
804
+ Benchmark* Range(int64_t start, int64_t limit);
805
+
806
+ // Run this benchmark once for all values in the range [start..limit] with
807
+ // specific step
808
+ // REQUIRES: The function passed to the constructor must accept an arg1.
809
+ Benchmark* DenseRange(int64_t start, int64_t limit, int step = 1);
810
+
811
+ // Run this benchmark once with "args" as the extra arguments passed
812
+ // to the function.
813
+ // REQUIRES: The function passed to the constructor must accept arg1, arg2 ...
814
+ Benchmark* Args(const std::vector<int64_t>& args);
815
+
816
+ // Equivalent to Args({x, y})
817
+ // NOTE: This is a legacy C++03 interface provided for compatibility only.
818
+ // New code should use 'Args'.
819
+ Benchmark* ArgPair(int64_t x, int64_t y) {
820
+ std::vector<int64_t> args;
821
+ args.push_back(x);
822
+ args.push_back(y);
823
+ return Args(args);
824
+ }
825
+
826
+ // Run this benchmark once for a number of values picked from the
827
+ // ranges [start..limit]. (starts and limits are always picked.)
828
+ // REQUIRES: The function passed to the constructor must accept arg1, arg2 ...
829
+ Benchmark* Ranges(const std::vector<std::pair<int64_t, int64_t> >& ranges);
830
+
831
+ // Run this benchmark once for each combination of values in the (cartesian)
832
+ // product of the supplied argument lists.
833
+ // REQUIRES: The function passed to the constructor must accept arg1, arg2 ...
834
+ Benchmark* ArgsProduct(const std::vector<std::vector<int64_t> >& arglists);
835
+
836
+ // Equivalent to ArgNames({name})
837
+ Benchmark* ArgName(const std::string& name);
838
+
839
+ // Set the argument names to display in the benchmark name. If not called,
840
+ // only argument values will be shown.
841
+ Benchmark* ArgNames(const std::vector<std::string>& names);
842
+
843
+ // Equivalent to Ranges({{lo1, hi1}, {lo2, hi2}}).
844
+ // NOTE: This is a legacy C++03 interface provided for compatibility only.
845
+ // New code should use 'Ranges'.
846
+ Benchmark* RangePair(int64_t lo1, int64_t hi1, int64_t lo2, int64_t hi2) {
847
+ std::vector<std::pair<int64_t, int64_t> > ranges;
848
+ ranges.push_back(std::make_pair(lo1, hi1));
849
+ ranges.push_back(std::make_pair(lo2, hi2));
850
+ return Ranges(ranges);
851
+ }
852
+
853
+ // Pass this benchmark object to *func, which can customize
854
+ // the benchmark by calling various methods like Arg, Args,
855
+ // Threads, etc.
856
+ Benchmark* Apply(void (*func)(Benchmark* benchmark));
857
+
858
+ // Set the range multiplier for non-dense range. If not called, the range
859
+ // multiplier kRangeMultiplier will be used.
860
+ Benchmark* RangeMultiplier(int multiplier);
861
+
862
+ // Set the minimum amount of time to use when running this benchmark. This
863
+ // option overrides the `benchmark_min_time` flag.
864
+ // REQUIRES: `t > 0` and `Iterations` has not been called on this benchmark.
865
+ Benchmark* MinTime(double t);
866
+
867
+ // Specify the amount of iterations that should be run by this benchmark.
868
+ // REQUIRES: 'n > 0' and `MinTime` has not been called on this benchmark.
869
+ //
870
+ // NOTE: This function should only be used when *exact* iteration control is
871
+ // needed and never to control or limit how long a benchmark runs, where
872
+ // `--benchmark_min_time=N` or `MinTime(...)` should be used instead.
873
+ Benchmark* Iterations(IterationCount n);
874
+
875
+ // Specify the amount of times to repeat this benchmark. This option overrides
876
+ // the `benchmark_repetitions` flag.
877
+ // REQUIRES: `n > 0`
878
+ Benchmark* Repetitions(int n);
879
+
880
+ // Specify if each repetition of the benchmark should be reported separately
881
+ // or if only the final statistics should be reported. If the benchmark
882
+ // is not repeated then the single result is always reported.
883
+ // Applies to *ALL* reporters (display and file).
884
+ Benchmark* ReportAggregatesOnly(bool value = true);
885
+
886
+ // Same as ReportAggregatesOnly(), but applies to display reporter only.
887
+ Benchmark* DisplayAggregatesOnly(bool value = true);
888
+
889
+ // By default, the CPU time is measured only for the main thread, which may
890
+ // be unrepresentative if the benchmark uses threads internally. If called,
891
+ // the total CPU time spent by all the threads will be measured instead.
892
+ // By default, the only the main thread CPU time will be measured.
893
+ Benchmark* MeasureProcessCPUTime();
894
+
895
+ // If a particular benchmark should use the Wall clock instead of the CPU time
896
+ // (be it either the CPU time of the main thread only (default), or the
897
+ // total CPU usage of the benchmark), call this method. If called, the elapsed
898
+ // (wall) time will be used to control how many iterations are run, and in the
899
+ // printing of items/second or MB/seconds values.
900
+ // If not called, the CPU time used by the benchmark will be used.
901
+ Benchmark* UseRealTime();
902
+
903
+ // If a benchmark must measure time manually (e.g. if GPU execution time is
904
+ // being
905
+ // measured), call this method. If called, each benchmark iteration should
906
+ // call
907
+ // SetIterationTime(seconds) to report the measured time, which will be used
908
+ // to control how many iterations are run, and in the printing of items/second
909
+ // or MB/second values.
910
+ Benchmark* UseManualTime();
911
+
912
+ // Set the asymptotic computational complexity for the benchmark. If called
913
+ // the asymptotic computational complexity will be shown on the output.
914
+ Benchmark* Complexity(BigO complexity = benchmark::oAuto);
915
+
916
+ // Set the asymptotic computational complexity for the benchmark. If called
917
+ // the asymptotic computational complexity will be shown on the output.
918
+ Benchmark* Complexity(BigOFunc* complexity);
919
+
920
+ // Add this statistics to be computed over all the values of benchmark run
921
+ Benchmark* ComputeStatistics(std::string name, StatisticsFunc* statistics);
922
+
923
+ // Support for running multiple copies of the same benchmark concurrently
924
+ // in multiple threads. This may be useful when measuring the scaling
925
+ // of some piece of code.
926
+
927
+ // Run one instance of this benchmark concurrently in t threads.
928
+ Benchmark* Threads(int t);
929
+
930
+ // Pick a set of values T from [min_threads,max_threads].
931
+ // min_threads and max_threads are always included in T. Run this
932
+ // benchmark once for each value in T. The benchmark run for a
933
+ // particular value t consists of t threads running the benchmark
934
+ // function concurrently. For example, consider:
935
+ // BENCHMARK(Foo)->ThreadRange(1,16);
936
+ // This will run the following benchmarks:
937
+ // Foo in 1 thread
938
+ // Foo in 2 threads
939
+ // Foo in 4 threads
940
+ // Foo in 8 threads
941
+ // Foo in 16 threads
942
+ Benchmark* ThreadRange(int min_threads, int max_threads);
943
+
944
+ // For each value n in the range, run this benchmark once using n threads.
945
+ // min_threads and max_threads are always included in the range.
946
+ // stride specifies the increment. E.g. DenseThreadRange(1, 8, 3) starts
947
+ // a benchmark with 1, 4, 7 and 8 threads.
948
+ Benchmark* DenseThreadRange(int min_threads, int max_threads, int stride = 1);
949
+
950
+ // Equivalent to ThreadRange(NumCPUs(), NumCPUs())
951
+ Benchmark* ThreadPerCpu();
952
+
953
+ virtual void Run(State& state) = 0;
954
+
955
+ protected:
956
+ explicit Benchmark(const char* name);
957
+ Benchmark(Benchmark const&);
958
+ void SetName(const char* name);
959
+
960
+ int ArgsCnt() const;
961
+
962
+ private:
963
+ friend class BenchmarkFamilies;
964
+
965
+ std::string name_;
966
+ AggregationReportMode aggregation_report_mode_;
967
+ std::vector<std::string> arg_names_; // Args for all benchmark runs
968
+ std::vector<std::vector<int64_t> > args_; // Args for all benchmark runs
969
+ TimeUnit time_unit_;
970
+ int range_multiplier_;
971
+ double min_time_;
972
+ IterationCount iterations_;
973
+ int repetitions_;
974
+ bool measure_process_cpu_time_;
975
+ bool use_real_time_;
976
+ bool use_manual_time_;
977
+ BigO complexity_;
978
+ BigOFunc* complexity_lambda_;
979
+ std::vector<Statistics> statistics_;
980
+ std::vector<int> thread_counts_;
981
+
982
+ Benchmark& operator=(Benchmark const&);
983
+ };
984
+
985
+ } // namespace internal
986
+
987
+ // Create and register a benchmark with the specified 'name' that invokes
988
+ // the specified functor 'fn'.
989
+ //
990
+ // RETURNS: A pointer to the registered benchmark.
991
+ internal::Benchmark* RegisterBenchmark(const char* name,
992
+ internal::Function* fn);
993
+
994
+ #if defined(BENCHMARK_HAS_CXX11)
995
+ template <class Lambda>
996
+ internal::Benchmark* RegisterBenchmark(const char* name, Lambda&& fn);
997
+ #endif
998
+
999
+ // Remove all registered benchmarks. All pointers to previously registered
1000
+ // benchmarks are invalidated.
1001
+ void ClearRegisteredBenchmarks();
1002
+
1003
+ namespace internal {
1004
+ // The class used to hold all Benchmarks created from static function.
1005
+ // (ie those created using the BENCHMARK(...) macros.
1006
+ class FunctionBenchmark : public Benchmark {
1007
+ public:
1008
+ FunctionBenchmark(const char* name, Function* func)
1009
+ : Benchmark(name), func_(func) {}
1010
+
1011
+ virtual void Run(State& st);
1012
+
1013
+ private:
1014
+ Function* func_;
1015
+ };
1016
+
1017
+ #ifdef BENCHMARK_HAS_CXX11
1018
+ template <class Lambda>
1019
+ class LambdaBenchmark : public Benchmark {
1020
+ public:
1021
+ virtual void Run(State& st) { lambda_(st); }
1022
+
1023
+ private:
1024
+ template <class OLambda>
1025
+ LambdaBenchmark(const char* name, OLambda&& lam)
1026
+ : Benchmark(name), lambda_(std::forward<OLambda>(lam)) {}
1027
+
1028
+ LambdaBenchmark(LambdaBenchmark const&) = delete;
1029
+
1030
+ private:
1031
+ template <class Lam>
1032
+ friend Benchmark* ::benchmark::RegisterBenchmark(const char*, Lam&&);
1033
+
1034
+ Lambda lambda_;
1035
+ };
1036
+ #endif
1037
+
1038
+ } // namespace internal
1039
+
1040
+ inline internal::Benchmark* RegisterBenchmark(const char* name,
1041
+ internal::Function* fn) {
1042
+ return internal::RegisterBenchmarkInternal(
1043
+ ::new internal::FunctionBenchmark(name, fn));
1044
+ }
1045
+
1046
+ #ifdef BENCHMARK_HAS_CXX11
1047
+ template <class Lambda>
1048
+ internal::Benchmark* RegisterBenchmark(const char* name, Lambda&& fn) {
1049
+ using BenchType =
1050
+ internal::LambdaBenchmark<typename std::decay<Lambda>::type>;
1051
+ return internal::RegisterBenchmarkInternal(
1052
+ ::new BenchType(name, std::forward<Lambda>(fn)));
1053
+ }
1054
+ #endif
1055
+
1056
+ #if defined(BENCHMARK_HAS_CXX11) && \
1057
+ (!defined(BENCHMARK_GCC_VERSION) || BENCHMARK_GCC_VERSION >= 409)
1058
+ template <class Lambda, class... Args>
1059
+ internal::Benchmark* RegisterBenchmark(const char* name, Lambda&& fn,
1060
+ Args&&... args) {
1061
+ return benchmark::RegisterBenchmark(
1062
+ name, [=](benchmark::State& st) { fn(st, args...); });
1063
+ }
1064
+ #else
1065
+ #define BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK
1066
+ #endif
1067
+
1068
+ // The base class for all fixture tests.
1069
+ class Fixture : public internal::Benchmark {
1070
+ public:
1071
+ Fixture() : internal::Benchmark("") {}
1072
+
1073
+ virtual void Run(State& st) {
1074
+ this->SetUp(st);
1075
+ this->BenchmarkCase(st);
1076
+ this->TearDown(st);
1077
+ }
1078
+
1079
+ // These will be deprecated ...
1080
+ virtual void SetUp(const State&) {}
1081
+ virtual void TearDown(const State&) {}
1082
+ // ... In favor of these.
1083
+ virtual void SetUp(State& st) { SetUp(const_cast<const State&>(st)); }
1084
+ virtual void TearDown(State& st) { TearDown(const_cast<const State&>(st)); }
1085
+
1086
+ protected:
1087
+ virtual void BenchmarkCase(State&) = 0;
1088
+ };
1089
+
1090
+ } // namespace benchmark
1091
+
1092
+ // ------------------------------------------------------
1093
+ // Macro to register benchmarks
1094
+
1095
+ // Check that __COUNTER__ is defined and that __COUNTER__ increases by 1
1096
+ // every time it is expanded. X + 1 == X + 0 is used in case X is defined to be
1097
+ // empty. If X is empty the expression becomes (+1 == +0).
1098
+ #if defined(__COUNTER__) && (__COUNTER__ + 1 == __COUNTER__ + 0)
1099
+ #define BENCHMARK_PRIVATE_UNIQUE_ID __COUNTER__
1100
+ #else
1101
+ #define BENCHMARK_PRIVATE_UNIQUE_ID __LINE__
1102
+ #endif
1103
+
1104
+ // Helpers for generating unique variable names
1105
+ #define BENCHMARK_PRIVATE_NAME(n) \
1106
+ BENCHMARK_PRIVATE_CONCAT(_benchmark_, BENCHMARK_PRIVATE_UNIQUE_ID, n)
1107
+ #define BENCHMARK_PRIVATE_CONCAT(a, b, c) BENCHMARK_PRIVATE_CONCAT2(a, b, c)
1108
+ #define BENCHMARK_PRIVATE_CONCAT2(a, b, c) a##b##c
1109
+ // Helper for concatenation with macro name expansion
1110
+ #define BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method) \
1111
+ BaseClass##_##Method##_Benchmark
1112
+
1113
+ #define BENCHMARK_PRIVATE_DECLARE(n) \
1114
+ static ::benchmark::internal::Benchmark* BENCHMARK_PRIVATE_NAME(n) \
1115
+ BENCHMARK_UNUSED
1116
+
1117
+ #define BENCHMARK(n) \
1118
+ BENCHMARK_PRIVATE_DECLARE(n) = \
1119
+ (::benchmark::internal::RegisterBenchmarkInternal( \
1120
+ new ::benchmark::internal::FunctionBenchmark(#n, n)))
1121
+
1122
+ // Old-style macros
1123
+ #define BENCHMARK_WITH_ARG(n, a) BENCHMARK(n)->Arg((a))
1124
+ #define BENCHMARK_WITH_ARG2(n, a1, a2) BENCHMARK(n)->Args({(a1), (a2)})
1125
+ #define BENCHMARK_WITH_UNIT(n, t) BENCHMARK(n)->Unit((t))
1126
+ #define BENCHMARK_RANGE(n, lo, hi) BENCHMARK(n)->Range((lo), (hi))
1127
+ #define BENCHMARK_RANGE2(n, l1, h1, l2, h2) \
1128
+ BENCHMARK(n)->RangePair({{(l1), (h1)}, {(l2), (h2)}})
1129
+
1130
+ #ifdef BENCHMARK_HAS_CXX11
1131
+
1132
+ // Register a benchmark which invokes the function specified by `func`
1133
+ // with the additional arguments specified by `...`.
1134
+ //
1135
+ // For example:
1136
+ //
1137
+ // template <class ...ExtraArgs>`
1138
+ // void BM_takes_args(benchmark::State& state, ExtraArgs&&... extra_args) {
1139
+ // [...]
1140
+ //}
1141
+ // /* Registers a benchmark named "BM_takes_args/int_string_test` */
1142
+ // BENCHMARK_CAPTURE(BM_takes_args, int_string_test, 42, std::string("abc"));
1143
+ #define BENCHMARK_CAPTURE(func, test_case_name, ...) \
1144
+ BENCHMARK_PRIVATE_DECLARE(func) = \
1145
+ (::benchmark::internal::RegisterBenchmarkInternal( \
1146
+ new ::benchmark::internal::FunctionBenchmark( \
1147
+ #func "/" #test_case_name, \
1148
+ [](::benchmark::State& st) { func(st, __VA_ARGS__); })))
1149
+
1150
+ #endif // BENCHMARK_HAS_CXX11
1151
+
1152
+ // This will register a benchmark for a templatized function. For example:
1153
+ //
1154
+ // template<int arg>
1155
+ // void BM_Foo(int iters);
1156
+ //
1157
+ // BENCHMARK_TEMPLATE(BM_Foo, 1);
1158
+ //
1159
+ // will register BM_Foo<1> as a benchmark.
1160
+ #define BENCHMARK_TEMPLATE1(n, a) \
1161
+ BENCHMARK_PRIVATE_DECLARE(n) = \
1162
+ (::benchmark::internal::RegisterBenchmarkInternal( \
1163
+ new ::benchmark::internal::FunctionBenchmark(#n "<" #a ">", n<a>)))
1164
+
1165
+ #define BENCHMARK_TEMPLATE2(n, a, b) \
1166
+ BENCHMARK_PRIVATE_DECLARE(n) = \
1167
+ (::benchmark::internal::RegisterBenchmarkInternal( \
1168
+ new ::benchmark::internal::FunctionBenchmark(#n "<" #a "," #b ">", \
1169
+ n<a, b>)))
1170
+
1171
+ #ifdef BENCHMARK_HAS_CXX11
1172
+ #define BENCHMARK_TEMPLATE(n, ...) \
1173
+ BENCHMARK_PRIVATE_DECLARE(n) = \
1174
+ (::benchmark::internal::RegisterBenchmarkInternal( \
1175
+ new ::benchmark::internal::FunctionBenchmark( \
1176
+ #n "<" #__VA_ARGS__ ">", n<__VA_ARGS__>)))
1177
+ #else
1178
+ #define BENCHMARK_TEMPLATE(n, a) BENCHMARK_TEMPLATE1(n, a)
1179
+ #endif
1180
+
1181
+ #define BENCHMARK_PRIVATE_DECLARE_F(BaseClass, Method) \
1182
+ class BaseClass##_##Method##_Benchmark : public BaseClass { \
1183
+ public: \
1184
+ BaseClass##_##Method##_Benchmark() : BaseClass() { \
1185
+ this->SetName(#BaseClass "/" #Method); \
1186
+ } \
1187
+ \
1188
+ protected: \
1189
+ virtual void BenchmarkCase(::benchmark::State&); \
1190
+ };
1191
+
1192
+ #define BENCHMARK_TEMPLATE1_PRIVATE_DECLARE_F(BaseClass, Method, a) \
1193
+ class BaseClass##_##Method##_Benchmark : public BaseClass<a> { \
1194
+ public: \
1195
+ BaseClass##_##Method##_Benchmark() : BaseClass<a>() { \
1196
+ this->SetName(#BaseClass "<" #a ">/" #Method); \
1197
+ } \
1198
+ \
1199
+ protected: \
1200
+ virtual void BenchmarkCase(::benchmark::State&); \
1201
+ };
1202
+
1203
+ #define BENCHMARK_TEMPLATE2_PRIVATE_DECLARE_F(BaseClass, Method, a, b) \
1204
+ class BaseClass##_##Method##_Benchmark : public BaseClass<a, b> { \
1205
+ public: \
1206
+ BaseClass##_##Method##_Benchmark() : BaseClass<a, b>() { \
1207
+ this->SetName(#BaseClass "<" #a "," #b ">/" #Method); \
1208
+ } \
1209
+ \
1210
+ protected: \
1211
+ virtual void BenchmarkCase(::benchmark::State&); \
1212
+ };
1213
+
1214
+ #ifdef BENCHMARK_HAS_CXX11
1215
+ #define BENCHMARK_TEMPLATE_PRIVATE_DECLARE_F(BaseClass, Method, ...) \
1216
+ class BaseClass##_##Method##_Benchmark : public BaseClass<__VA_ARGS__> { \
1217
+ public: \
1218
+ BaseClass##_##Method##_Benchmark() : BaseClass<__VA_ARGS__>() { \
1219
+ this->SetName(#BaseClass "<" #__VA_ARGS__ ">/" #Method); \
1220
+ } \
1221
+ \
1222
+ protected: \
1223
+ virtual void BenchmarkCase(::benchmark::State&); \
1224
+ };
1225
+ #else
1226
+ #define BENCHMARK_TEMPLATE_PRIVATE_DECLARE_F(n, a) \
1227
+ BENCHMARK_TEMPLATE1_PRIVATE_DECLARE_F(n, a)
1228
+ #endif
1229
+
1230
+ #define BENCHMARK_DEFINE_F(BaseClass, Method) \
1231
+ BENCHMARK_PRIVATE_DECLARE_F(BaseClass, Method) \
1232
+ void BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method)::BenchmarkCase
1233
+
1234
+ #define BENCHMARK_TEMPLATE1_DEFINE_F(BaseClass, Method, a) \
1235
+ BENCHMARK_TEMPLATE1_PRIVATE_DECLARE_F(BaseClass, Method, a) \
1236
+ void BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method)::BenchmarkCase
1237
+
1238
+ #define BENCHMARK_TEMPLATE2_DEFINE_F(BaseClass, Method, a, b) \
1239
+ BENCHMARK_TEMPLATE2_PRIVATE_DECLARE_F(BaseClass, Method, a, b) \
1240
+ void BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method)::BenchmarkCase
1241
+
1242
+ #ifdef BENCHMARK_HAS_CXX11
1243
+ #define BENCHMARK_TEMPLATE_DEFINE_F(BaseClass, Method, ...) \
1244
+ BENCHMARK_TEMPLATE_PRIVATE_DECLARE_F(BaseClass, Method, __VA_ARGS__) \
1245
+ void BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method)::BenchmarkCase
1246
+ #else
1247
+ #define BENCHMARK_TEMPLATE_DEFINE_F(BaseClass, Method, a) \
1248
+ BENCHMARK_TEMPLATE1_DEFINE_F(BaseClass, Method, a)
1249
+ #endif
1250
+
1251
+ #define BENCHMARK_REGISTER_F(BaseClass, Method) \
1252
+ BENCHMARK_PRIVATE_REGISTER_F(BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method))
1253
+
1254
+ #define BENCHMARK_PRIVATE_REGISTER_F(TestName) \
1255
+ BENCHMARK_PRIVATE_DECLARE(TestName) = \
1256
+ (::benchmark::internal::RegisterBenchmarkInternal(new TestName()))
1257
+
1258
+ // This macro will define and register a benchmark within a fixture class.
1259
+ #define BENCHMARK_F(BaseClass, Method) \
1260
+ BENCHMARK_PRIVATE_DECLARE_F(BaseClass, Method) \
1261
+ BENCHMARK_REGISTER_F(BaseClass, Method); \
1262
+ void BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method)::BenchmarkCase
1263
+
1264
+ #define BENCHMARK_TEMPLATE1_F(BaseClass, Method, a) \
1265
+ BENCHMARK_TEMPLATE1_PRIVATE_DECLARE_F(BaseClass, Method, a) \
1266
+ BENCHMARK_REGISTER_F(BaseClass, Method); \
1267
+ void BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method)::BenchmarkCase
1268
+
1269
+ #define BENCHMARK_TEMPLATE2_F(BaseClass, Method, a, b) \
1270
+ BENCHMARK_TEMPLATE2_PRIVATE_DECLARE_F(BaseClass, Method, a, b) \
1271
+ BENCHMARK_REGISTER_F(BaseClass, Method); \
1272
+ void BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method)::BenchmarkCase
1273
+
1274
+ #ifdef BENCHMARK_HAS_CXX11
1275
+ #define BENCHMARK_TEMPLATE_F(BaseClass, Method, ...) \
1276
+ BENCHMARK_TEMPLATE_PRIVATE_DECLARE_F(BaseClass, Method, __VA_ARGS__) \
1277
+ BENCHMARK_REGISTER_F(BaseClass, Method); \
1278
+ void BENCHMARK_PRIVATE_CONCAT_NAME(BaseClass, Method)::BenchmarkCase
1279
+ #else
1280
+ #define BENCHMARK_TEMPLATE_F(BaseClass, Method, a) \
1281
+ BENCHMARK_TEMPLATE1_F(BaseClass, Method, a)
1282
+ #endif
1283
+
1284
+ // Helper macro to create a main routine in a test that runs the benchmarks
1285
+ #define BENCHMARK_MAIN() \
1286
+ int main(int argc, char** argv) { \
1287
+ ::benchmark::Initialize(&argc, argv); \
1288
+ if (::benchmark::ReportUnrecognizedArguments(argc, argv)) return 1; \
1289
+ ::benchmark::RunSpecifiedBenchmarks(); \
1290
+ } \
1291
+ int main(int, char**)
1292
+
1293
+ // ------------------------------------------------------
1294
+ // Benchmark Reporters
1295
+
1296
+ namespace benchmark {
1297
+
1298
+ struct CPUInfo {
1299
+ struct CacheInfo {
1300
+ std::string type;
1301
+ int level;
1302
+ int size;
1303
+ int num_sharing;
1304
+ };
1305
+
1306
+ enum Scaling {
1307
+ UNKNOWN,
1308
+ ENABLED,
1309
+ DISABLED
1310
+ };
1311
+
1312
+ int num_cpus;
1313
+ double cycles_per_second;
1314
+ std::vector<CacheInfo> caches;
1315
+ Scaling scaling;
1316
+ std::vector<double> load_avg;
1317
+
1318
+ static const CPUInfo& Get();
1319
+
1320
+ private:
1321
+ CPUInfo();
1322
+ BENCHMARK_DISALLOW_COPY_AND_ASSIGN(CPUInfo);
1323
+ };
1324
+
1325
+ // Adding Struct for System Information
1326
+ struct SystemInfo {
1327
+ std::string name;
1328
+ static const SystemInfo& Get();
1329
+
1330
+ private:
1331
+ SystemInfo();
1332
+ BENCHMARK_DISALLOW_COPY_AND_ASSIGN(SystemInfo);
1333
+ };
1334
+
1335
+ // BenchmarkName contains the components of the Benchmark's name
1336
+ // which allows individual fields to be modified or cleared before
1337
+ // building the final name using 'str()'.
1338
+ struct BenchmarkName {
1339
+ std::string function_name;
1340
+ std::string args;
1341
+ std::string min_time;
1342
+ std::string iterations;
1343
+ std::string repetitions;
1344
+ std::string time_type;
1345
+ std::string threads;
1346
+
1347
+ // Return the full name of the benchmark with each non-empty
1348
+ // field separated by a '/'
1349
+ std::string str() const;
1350
+ };
1351
+
1352
+ // Interface for custom benchmark result printers.
1353
+ // By default, benchmark reports are printed to stdout. However an application
1354
+ // can control the destination of the reports by calling
1355
+ // RunSpecifiedBenchmarks and passing it a custom reporter object.
1356
+ // The reporter object must implement the following interface.
1357
+ class BenchmarkReporter {
1358
+ public:
1359
+ struct Context {
1360
+ CPUInfo const& cpu_info;
1361
+ SystemInfo const& sys_info;
1362
+ // The number of chars in the longest benchmark name.
1363
+ size_t name_field_width;
1364
+ static const char* executable_name;
1365
+ Context();
1366
+ };
1367
+
1368
+ struct Run {
1369
+ static const int64_t no_repetition_index = -1;
1370
+ enum RunType { RT_Iteration, RT_Aggregate };
1371
+
1372
+ Run()
1373
+ : run_type(RT_Iteration),
1374
+ error_occurred(false),
1375
+ iterations(1),
1376
+ threads(1),
1377
+ time_unit(kNanosecond),
1378
+ real_accumulated_time(0),
1379
+ cpu_accumulated_time(0),
1380
+ max_heapbytes_used(0),
1381
+ complexity(oNone),
1382
+ complexity_lambda(),
1383
+ complexity_n(0),
1384
+ report_big_o(false),
1385
+ report_rms(false),
1386
+ counters(),
1387
+ has_memory_result(false),
1388
+ allocs_per_iter(0.0),
1389
+ max_bytes_used(0) {}
1390
+
1391
+ std::string benchmark_name() const;
1392
+ BenchmarkName run_name;
1393
+ RunType run_type;
1394
+ std::string aggregate_name;
1395
+ std::string report_label; // Empty if not set by benchmark.
1396
+ bool error_occurred;
1397
+ std::string error_message;
1398
+
1399
+ IterationCount iterations;
1400
+ int64_t threads;
1401
+ int64_t repetition_index;
1402
+ int64_t repetitions;
1403
+ TimeUnit time_unit;
1404
+ double real_accumulated_time;
1405
+ double cpu_accumulated_time;
1406
+
1407
+ // Return a value representing the real time per iteration in the unit
1408
+ // specified by 'time_unit'.
1409
+ // NOTE: If 'iterations' is zero the returned value represents the
1410
+ // accumulated time.
1411
+ double GetAdjustedRealTime() const;
1412
+
1413
+ // Return a value representing the cpu time per iteration in the unit
1414
+ // specified by 'time_unit'.
1415
+ // NOTE: If 'iterations' is zero the returned value represents the
1416
+ // accumulated time.
1417
+ double GetAdjustedCPUTime() const;
1418
+
1419
+ // This is set to 0.0 if memory tracing is not enabled.
1420
+ double max_heapbytes_used;
1421
+
1422
+ // Keep track of arguments to compute asymptotic complexity
1423
+ BigO complexity;
1424
+ BigOFunc* complexity_lambda;
1425
+ int64_t complexity_n;
1426
+
1427
+ // what statistics to compute from the measurements
1428
+ const std::vector<internal::Statistics>* statistics;
1429
+
1430
+ // Inform print function whether the current run is a complexity report
1431
+ bool report_big_o;
1432
+ bool report_rms;
1433
+
1434
+ UserCounters counters;
1435
+
1436
+ // Memory metrics.
1437
+ bool has_memory_result;
1438
+ double allocs_per_iter;
1439
+ int64_t max_bytes_used;
1440
+ };
1441
+
1442
+ // Construct a BenchmarkReporter with the output stream set to 'std::cout'
1443
+ // and the error stream set to 'std::cerr'
1444
+ BenchmarkReporter();
1445
+
1446
+ // Called once for every suite of benchmarks run.
1447
+ // The parameter "context" contains information that the
1448
+ // reporter may wish to use when generating its report, for example the
1449
+ // platform under which the benchmarks are running. The benchmark run is
1450
+ // never started if this function returns false, allowing the reporter
1451
+ // to skip runs based on the context information.
1452
+ virtual bool ReportContext(const Context& context) = 0;
1453
+
1454
+ // Called once for each group of benchmark runs, gives information about
1455
+ // cpu-time and heap memory usage during the benchmark run. If the group
1456
+ // of runs contained more than two entries then 'report' contains additional
1457
+ // elements representing the mean and standard deviation of those runs.
1458
+ // Additionally if this group of runs was the last in a family of benchmarks
1459
+ // 'reports' contains additional entries representing the asymptotic
1460
+ // complexity and RMS of that benchmark family.
1461
+ virtual void ReportRuns(const std::vector<Run>& report) = 0;
1462
+
1463
+ // Called once and only once after ever group of benchmarks is run and
1464
+ // reported.
1465
+ virtual void Finalize() {}
1466
+
1467
+ // REQUIRES: The object referenced by 'out' is valid for the lifetime
1468
+ // of the reporter.
1469
+ void SetOutputStream(std::ostream* out) {
1470
+ assert(out);
1471
+ output_stream_ = out;
1472
+ }
1473
+
1474
+ // REQUIRES: The object referenced by 'err' is valid for the lifetime
1475
+ // of the reporter.
1476
+ void SetErrorStream(std::ostream* err) {
1477
+ assert(err);
1478
+ error_stream_ = err;
1479
+ }
1480
+
1481
+ std::ostream& GetOutputStream() const { return *output_stream_; }
1482
+
1483
+ std::ostream& GetErrorStream() const { return *error_stream_; }
1484
+
1485
+ virtual ~BenchmarkReporter();
1486
+
1487
+ // Write a human readable string to 'out' representing the specified
1488
+ // 'context'.
1489
+ // REQUIRES: 'out' is non-null.
1490
+ static void PrintBasicContext(std::ostream* out, Context const& context);
1491
+
1492
+ private:
1493
+ std::ostream* output_stream_;
1494
+ std::ostream* error_stream_;
1495
+ };
1496
+
1497
+ // Simple reporter that outputs benchmark data to the console. This is the
1498
+ // default reporter used by RunSpecifiedBenchmarks().
1499
+ class ConsoleReporter : public BenchmarkReporter {
1500
+ public:
1501
+ enum OutputOptions {
1502
+ OO_None = 0,
1503
+ OO_Color = 1,
1504
+ OO_Tabular = 2,
1505
+ OO_ColorTabular = OO_Color | OO_Tabular,
1506
+ OO_Defaults = OO_ColorTabular
1507
+ };
1508
+ explicit ConsoleReporter(OutputOptions opts_ = OO_Defaults)
1509
+ : output_options_(opts_),
1510
+ name_field_width_(0),
1511
+ prev_counters_(),
1512
+ printed_header_(false) {}
1513
+
1514
+ virtual bool ReportContext(const Context& context);
1515
+ virtual void ReportRuns(const std::vector<Run>& reports);
1516
+
1517
+ protected:
1518
+ virtual void PrintRunData(const Run& report);
1519
+ virtual void PrintHeader(const Run& report);
1520
+
1521
+ OutputOptions output_options_;
1522
+ size_t name_field_width_;
1523
+ UserCounters prev_counters_;
1524
+ bool printed_header_;
1525
+ };
1526
+
1527
+ class JSONReporter : public BenchmarkReporter {
1528
+ public:
1529
+ JSONReporter() : first_report_(true) {}
1530
+ virtual bool ReportContext(const Context& context);
1531
+ virtual void ReportRuns(const std::vector<Run>& reports);
1532
+ virtual void Finalize();
1533
+
1534
+ private:
1535
+ void PrintRunData(const Run& report);
1536
+
1537
+ bool first_report_;
1538
+ };
1539
+
1540
+ class BENCHMARK_DEPRECATED_MSG(
1541
+ "The CSV Reporter will be removed in a future release") CSVReporter
1542
+ : public BenchmarkReporter {
1543
+ public:
1544
+ CSVReporter() : printed_header_(false) {}
1545
+ virtual bool ReportContext(const Context& context);
1546
+ virtual void ReportRuns(const std::vector<Run>& reports);
1547
+
1548
+ private:
1549
+ void PrintRunData(const Run& report);
1550
+
1551
+ bool printed_header_;
1552
+ std::set<std::string> user_counter_names_;
1553
+ };
1554
+
1555
+ // If a MemoryManager is registered, it can be used to collect and report
1556
+ // allocation metrics for a run of the benchmark.
1557
+ class MemoryManager {
1558
+ public:
1559
+ struct Result {
1560
+ Result() : num_allocs(0), max_bytes_used(0) {}
1561
+
1562
+ // The number of allocations made in total between Start and Stop.
1563
+ int64_t num_allocs;
1564
+
1565
+ // The peak memory use between Start and Stop.
1566
+ int64_t max_bytes_used;
1567
+ };
1568
+
1569
+ virtual ~MemoryManager() {}
1570
+
1571
+ // Implement this to start recording allocation information.
1572
+ virtual void Start() = 0;
1573
+
1574
+ // Implement this to stop recording and fill out the given Result structure.
1575
+ virtual void Stop(Result* result) = 0;
1576
+ };
1577
+
1578
+ inline const char* GetTimeUnitString(TimeUnit unit) {
1579
+ switch (unit) {
1580
+ case kMillisecond:
1581
+ return "ms";
1582
+ case kMicrosecond:
1583
+ return "us";
1584
+ case kNanosecond:
1585
+ return "ns";
1586
+ }
1587
+ BENCHMARK_UNREACHABLE();
1588
+ }
1589
+
1590
+ inline double GetTimeUnitMultiplier(TimeUnit unit) {
1591
+ switch (unit) {
1592
+ case kMillisecond:
1593
+ return 1e3;
1594
+ case kMicrosecond:
1595
+ return 1e6;
1596
+ case kNanosecond:
1597
+ return 1e9;
1598
+ }
1599
+ BENCHMARK_UNREACHABLE();
1600
+ }
1601
+
1602
+ } // namespace benchmark
1603
+
1604
+ #endif // BENCHMARK_BENCHMARK_H_