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,1323 @@
1
+ # Benchmark
2
+
3
+ [![build-and-test](https://github.com/google/benchmark/workflows/build-and-test/badge.svg)](https://github.com/google/benchmark/actions?query=workflow%3Abuild-and-test)
4
+ [![pylint](https://github.com/google/benchmark/workflows/pylint/badge.svg)](https://github.com/google/benchmark/actions?query=workflow%3Apylint)
5
+ [![test-bindings](https://github.com/google/benchmark/workflows/test-bindings/badge.svg)](https://github.com/google/benchmark/actions?query=workflow%3Atest-bindings)
6
+
7
+ [![Build Status](https://travis-ci.org/google/benchmark.svg?branch=master)](https://travis-ci.org/google/benchmark)
8
+ [![Build status](https://ci.appveyor.com/api/projects/status/u0qsyp7t1tk7cpxs/branch/master?svg=true)](https://ci.appveyor.com/project/google/benchmark/branch/master)
9
+ [![Coverage Status](https://coveralls.io/repos/google/benchmark/badge.svg)](https://coveralls.io/r/google/benchmark)
10
+
11
+
12
+ A library to benchmark code snippets, similar to unit tests. Example:
13
+
14
+ ```c++
15
+ #include <benchmark/benchmark.h>
16
+
17
+ static void BM_SomeFunction(benchmark::State& state) {
18
+ // Perform setup here
19
+ for (auto _ : state) {
20
+ // This code gets timed
21
+ SomeFunction();
22
+ }
23
+ }
24
+ // Register the function as a benchmark
25
+ BENCHMARK(BM_SomeFunction);
26
+ // Run the benchmark
27
+ BENCHMARK_MAIN();
28
+ ```
29
+
30
+ To get started, see [Requirements](#requirements) and
31
+ [Installation](#installation). See [Usage](#usage) for a full example and the
32
+ [User Guide](#user-guide) for a more comprehensive feature overview.
33
+
34
+ It may also help to read the [Google Test documentation](https://github.com/google/googletest/blob/master/googletest/docs/primer.md)
35
+ as some of the structural aspects of the APIs are similar.
36
+
37
+ ### Resources
38
+
39
+ [Discussion group](https://groups.google.com/d/forum/benchmark-discuss)
40
+
41
+ IRC channel: [freenode](https://freenode.net) #googlebenchmark
42
+
43
+ [Additional Tooling Documentation](docs/tools.md)
44
+
45
+ [Assembly Testing Documentation](docs/AssemblyTests.md)
46
+
47
+ ## Requirements
48
+
49
+ The library can be used with C++03. However, it requires C++11 to build,
50
+ including compiler and standard library support.
51
+
52
+ The following minimum versions are required to build the library:
53
+
54
+ * GCC 4.8
55
+ * Clang 3.4
56
+ * Visual Studio 14 2015
57
+ * Intel 2015 Update 1
58
+
59
+ See [Platform-Specific Build Instructions](#platform-specific-build-instructions).
60
+
61
+ ## Installation
62
+
63
+ This describes the installation process using cmake. As pre-requisites, you'll
64
+ need git and cmake installed.
65
+
66
+ _See [dependencies.md](dependencies.md) for more details regarding supported
67
+ versions of build tools._
68
+
69
+ ```bash
70
+ # Check out the library.
71
+ $ git clone https://github.com/google/benchmark.git
72
+ # Benchmark requires Google Test as a dependency. Add the source tree as a subdirectory.
73
+ $ git clone https://github.com/google/googletest.git benchmark/googletest
74
+ # Go to the library root directory
75
+ $ cd benchmark
76
+ # Make a build directory to place the build output.
77
+ $ cmake -E make_directory "build"
78
+ # Generate build system files with cmake.
79
+ $ cmake -E chdir "build" cmake -DCMAKE_BUILD_TYPE=Release ../
80
+ # or, starting with CMake 3.13, use a simpler form:
81
+ # cmake -DCMAKE_BUILD_TYPE=Release -S . -B "build"
82
+ # Build the library.
83
+ $ cmake --build "build" --config Release
84
+ ```
85
+ This builds the `benchmark` and `benchmark_main` libraries and tests.
86
+ On a unix system, the build directory should now look something like this:
87
+
88
+ ```
89
+ /benchmark
90
+ /build
91
+ /src
92
+ /libbenchmark.a
93
+ /libbenchmark_main.a
94
+ /test
95
+ ...
96
+ ```
97
+
98
+ Next, you can run the tests to check the build.
99
+
100
+ ```bash
101
+ $ cmake -E chdir "build" ctest --build-config Release
102
+ ```
103
+
104
+ If you want to install the library globally, also run:
105
+
106
+ ```
107
+ sudo cmake --build "build" --config Release --target install
108
+ ```
109
+
110
+ Note that Google Benchmark requires Google Test to build and run the tests. This
111
+ dependency can be provided two ways:
112
+
113
+ * Checkout the Google Test sources into `benchmark/googletest` as above.
114
+ * Otherwise, if `-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON` is specified during
115
+ configuration, the library will automatically download and build any required
116
+ dependencies.
117
+
118
+ If you do not wish to build and run the tests, add `-DBENCHMARK_ENABLE_GTEST_TESTS=OFF`
119
+ to `CMAKE_ARGS`.
120
+
121
+ ### Debug vs Release
122
+
123
+ By default, benchmark builds as a debug library. You will see a warning in the
124
+ output when this is the case. To build it as a release library instead, add
125
+ `-DCMAKE_BUILD_TYPE=Release` when generating the build system files, as shown
126
+ above. The use of `--config Release` in build commands is needed to properly
127
+ support multi-configuration tools (like Visual Studio for example) and can be
128
+ skipped for other build systems (like Makefile).
129
+
130
+ To enable link-time optimisation, also add `-DBENCHMARK_ENABLE_LTO=true` when
131
+ generating the build system files.
132
+
133
+ If you are using gcc, you might need to set `GCC_AR` and `GCC_RANLIB` cmake
134
+ cache variables, if autodetection fails.
135
+
136
+ If you are using clang, you may need to set `LLVMAR_EXECUTABLE`,
137
+ `LLVMNM_EXECUTABLE` and `LLVMRANLIB_EXECUTABLE` cmake cache variables.
138
+
139
+ ### Stable and Experimental Library Versions
140
+
141
+ The main branch contains the latest stable version of the benchmarking library;
142
+ the API of which can be considered largely stable, with source breaking changes
143
+ being made only upon the release of a new major version.
144
+
145
+ Newer, experimental, features are implemented and tested on the
146
+ [`v2` branch](https://github.com/google/benchmark/tree/v2). Users who wish
147
+ to use, test, and provide feedback on the new features are encouraged to try
148
+ this branch. However, this branch provides no stability guarantees and reserves
149
+ the right to change and break the API at any time.
150
+
151
+ ## Usage
152
+
153
+ ### Basic usage
154
+
155
+ Define a function that executes the code to measure, register it as a benchmark
156
+ function using the `BENCHMARK` macro, and ensure an appropriate `main` function
157
+ is available:
158
+
159
+ ```c++
160
+ #include <benchmark/benchmark.h>
161
+
162
+ static void BM_StringCreation(benchmark::State& state) {
163
+ for (auto _ : state)
164
+ std::string empty_string;
165
+ }
166
+ // Register the function as a benchmark
167
+ BENCHMARK(BM_StringCreation);
168
+
169
+ // Define another benchmark
170
+ static void BM_StringCopy(benchmark::State& state) {
171
+ std::string x = "hello";
172
+ for (auto _ : state)
173
+ std::string copy(x);
174
+ }
175
+ BENCHMARK(BM_StringCopy);
176
+
177
+ BENCHMARK_MAIN();
178
+ ```
179
+
180
+ To run the benchmark, compile and link against the `benchmark` library
181
+ (libbenchmark.a/.so). If you followed the build steps above, this library will
182
+ be under the build directory you created.
183
+
184
+ ```bash
185
+ # Example on linux after running the build steps above. Assumes the
186
+ # `benchmark` and `build` directories are under the current directory.
187
+ $ g++ mybenchmark.cc -std=c++11 -isystem benchmark/include \
188
+ -Lbenchmark/build/src -lbenchmark -lpthread -o mybenchmark
189
+ ```
190
+
191
+ Alternatively, link against the `benchmark_main` library and remove
192
+ `BENCHMARK_MAIN();` above to get the same behavior.
193
+
194
+ The compiled executable will run all benchmarks by default. Pass the `--help`
195
+ flag for option information or see the guide below.
196
+
197
+ ### Usage with CMake
198
+
199
+ If using CMake, it is recommended to link against the project-provided
200
+ `benchmark::benchmark` and `benchmark::benchmark_main` targets using
201
+ `target_link_libraries`.
202
+ It is possible to use ```find_package``` to import an installed version of the
203
+ library.
204
+ ```cmake
205
+ find_package(benchmark REQUIRED)
206
+ ```
207
+ Alternatively, ```add_subdirectory``` will incorporate the library directly in
208
+ to one's CMake project.
209
+ ```cmake
210
+ add_subdirectory(benchmark)
211
+ ```
212
+ Either way, link to the library as follows.
213
+ ```cmake
214
+ target_link_libraries(MyTarget benchmark::benchmark)
215
+ ```
216
+
217
+ ## Platform Specific Build Instructions
218
+
219
+ ### Building with GCC
220
+
221
+ When the library is built using GCC it is necessary to link with the pthread
222
+ library due to how GCC implements `std::thread`. Failing to link to pthread will
223
+ lead to runtime exceptions (unless you're using libc++), not linker errors. See
224
+ [issue #67](https://github.com/google/benchmark/issues/67) for more details. You
225
+ can link to pthread by adding `-pthread` to your linker command. Note, you can
226
+ also use `-lpthread`, but there are potential issues with ordering of command
227
+ line parameters if you use that.
228
+
229
+ ### Building with Visual Studio 2015 or 2017
230
+
231
+ The `shlwapi` library (`-lshlwapi`) is required to support a call to `CPUInfo` which reads the registry. Either add `shlwapi.lib` under `[ Configuration Properties > Linker > Input ]`, or use the following:
232
+
233
+ ```
234
+ // Alternatively, can add libraries using linker options.
235
+ #ifdef _WIN32
236
+ #pragma comment ( lib, "Shlwapi.lib" )
237
+ #ifdef _DEBUG
238
+ #pragma comment ( lib, "benchmarkd.lib" )
239
+ #else
240
+ #pragma comment ( lib, "benchmark.lib" )
241
+ #endif
242
+ #endif
243
+ ```
244
+
245
+ Can also use the graphical version of CMake:
246
+ * Open `CMake GUI`.
247
+ * Under `Where to build the binaries`, same path as source plus `build`.
248
+ * Under `CMAKE_INSTALL_PREFIX`, same path as source plus `install`.
249
+ * Click `Configure`, `Generate`, `Open Project`.
250
+ * If build fails, try deleting entire directory and starting again, or unticking options to build less.
251
+
252
+ ### Building with Intel 2015 Update 1 or Intel System Studio Update 4
253
+
254
+ See instructions for building with Visual Studio. Once built, right click on the solution and change the build to Intel.
255
+
256
+ ### Building on Solaris
257
+
258
+ If you're running benchmarks on solaris, you'll want the kstat library linked in
259
+ too (`-lkstat`).
260
+
261
+ ## User Guide
262
+
263
+ ### Command Line
264
+
265
+ [Output Formats](#output-formats)
266
+
267
+ [Output Files](#output-files)
268
+
269
+ [Running Benchmarks](#running-benchmarks)
270
+
271
+ [Running a Subset of Benchmarks](#running-a-subset-of-benchmarks)
272
+
273
+ [Result Comparison](#result-comparison)
274
+
275
+ ### Library
276
+
277
+ [Runtime and Reporting Considerations](#runtime-and-reporting-considerations)
278
+
279
+ [Passing Arguments](#passing-arguments)
280
+
281
+ [Calculating Asymptotic Complexity](#asymptotic-complexity)
282
+
283
+ [Templated Benchmarks](#templated-benchmarks)
284
+
285
+ [Fixtures](#fixtures)
286
+
287
+ [Custom Counters](#custom-counters)
288
+
289
+ [Multithreaded Benchmarks](#multithreaded-benchmarks)
290
+
291
+ [CPU Timers](#cpu-timers)
292
+
293
+ [Manual Timing](#manual-timing)
294
+
295
+ [Setting the Time Unit](#setting-the-time-unit)
296
+
297
+ [Preventing Optimization](#preventing-optimization)
298
+
299
+ [Reporting Statistics](#reporting-statistics)
300
+
301
+ [Custom Statistics](#custom-statistics)
302
+
303
+ [Using RegisterBenchmark](#using-register-benchmark)
304
+
305
+ [Exiting with an Error](#exiting-with-an-error)
306
+
307
+ [A Faster KeepRunning Loop](#a-faster-keep-running-loop)
308
+
309
+ [Disabling CPU Frequency Scaling](#disabling-cpu-frequency-scaling)
310
+
311
+
312
+ <a name="output-formats" />
313
+
314
+ ### Output Formats
315
+
316
+ The library supports multiple output formats. Use the
317
+ `--benchmark_format=<console|json|csv>` flag (or set the
318
+ `BENCHMARK_FORMAT=<console|json|csv>` environment variable) to set
319
+ the format type. `console` is the default format.
320
+
321
+ The Console format is intended to be a human readable format. By default
322
+ the format generates color output. Context is output on stderr and the
323
+ tabular data on stdout. Example tabular output looks like:
324
+
325
+ ```
326
+ Benchmark Time(ns) CPU(ns) Iterations
327
+ ----------------------------------------------------------------------
328
+ BM_SetInsert/1024/1 28928 29349 23853 133.097kB/s 33.2742k items/s
329
+ BM_SetInsert/1024/8 32065 32913 21375 949.487kB/s 237.372k items/s
330
+ BM_SetInsert/1024/10 33157 33648 21431 1.13369MB/s 290.225k items/s
331
+ ```
332
+
333
+ The JSON format outputs human readable json split into two top level attributes.
334
+ The `context` attribute contains information about the run in general, including
335
+ information about the CPU and the date.
336
+ The `benchmarks` attribute contains a list of every benchmark run. Example json
337
+ output looks like:
338
+
339
+ ```json
340
+ {
341
+ "context": {
342
+ "date": "2015/03/17-18:40:25",
343
+ "num_cpus": 40,
344
+ "mhz_per_cpu": 2801,
345
+ "cpu_scaling_enabled": false,
346
+ "build_type": "debug"
347
+ },
348
+ "benchmarks": [
349
+ {
350
+ "name": "BM_SetInsert/1024/1",
351
+ "iterations": 94877,
352
+ "real_time": 29275,
353
+ "cpu_time": 29836,
354
+ "bytes_per_second": 134066,
355
+ "items_per_second": 33516
356
+ },
357
+ {
358
+ "name": "BM_SetInsert/1024/8",
359
+ "iterations": 21609,
360
+ "real_time": 32317,
361
+ "cpu_time": 32429,
362
+ "bytes_per_second": 986770,
363
+ "items_per_second": 246693
364
+ },
365
+ {
366
+ "name": "BM_SetInsert/1024/10",
367
+ "iterations": 21393,
368
+ "real_time": 32724,
369
+ "cpu_time": 33355,
370
+ "bytes_per_second": 1199226,
371
+ "items_per_second": 299807
372
+ }
373
+ ]
374
+ }
375
+ ```
376
+
377
+ The CSV format outputs comma-separated values. The `context` is output on stderr
378
+ and the CSV itself on stdout. Example CSV output looks like:
379
+
380
+ ```
381
+ name,iterations,real_time,cpu_time,bytes_per_second,items_per_second,label
382
+ "BM_SetInsert/1024/1",65465,17890.7,8407.45,475768,118942,
383
+ "BM_SetInsert/1024/8",116606,18810.1,9766.64,3.27646e+06,819115,
384
+ "BM_SetInsert/1024/10",106365,17238.4,8421.53,4.74973e+06,1.18743e+06,
385
+ ```
386
+
387
+ <a name="output-files" />
388
+
389
+ ### Output Files
390
+
391
+ Write benchmark results to a file with the `--benchmark_out=<filename>` option
392
+ (or set `BENCHMARK_OUT`). Specify the output format with
393
+ `--benchmark_out_format={json|console|csv}` (or set
394
+ `BENCHMARK_OUT_FORMAT={json|console|csv}`). Note that specifying
395
+ `--benchmark_out` does not suppress the console output.
396
+
397
+ <a name="running-benchmarks" />
398
+
399
+ ### Running Benchmarks
400
+
401
+ Benchmarks are executed by running the produced binaries. Benchmarks binaries,
402
+ by default, accept options that may be specified either through their command
403
+ line interface or by setting environment variables before execution. For every
404
+ `--option_flag=<value>` CLI switch, a corresponding environment variable
405
+ `OPTION_FLAG=<value>` exist and is used as default if set (CLI switches always
406
+ prevails). A complete list of CLI options is available running benchmarks
407
+ with the `--help` switch.
408
+
409
+ <a name="running-a-subset-of-benchmarks" />
410
+
411
+ ### Running a Subset of Benchmarks
412
+
413
+ The `--benchmark_filter=<regex>` option (or `BENCHMARK_FILTER=<regex>`
414
+ environment variable) can be used to only run the benchmarks that match
415
+ the specified `<regex>`. For example:
416
+
417
+ ```bash
418
+ $ ./run_benchmarks.x --benchmark_filter=BM_memcpy/32
419
+ Run on (1 X 2300 MHz CPU )
420
+ 2016-06-25 19:34:24
421
+ Benchmark Time CPU Iterations
422
+ ----------------------------------------------------
423
+ BM_memcpy/32 11 ns 11 ns 79545455
424
+ BM_memcpy/32k 2181 ns 2185 ns 324074
425
+ BM_memcpy/32 12 ns 12 ns 54687500
426
+ BM_memcpy/32k 1834 ns 1837 ns 357143
427
+ ```
428
+
429
+ <a name="result-comparison" />
430
+
431
+ ### Result comparison
432
+
433
+ It is possible to compare the benchmarking results.
434
+ See [Additional Tooling Documentation](docs/tools.md)
435
+
436
+ <a name="runtime-and-reporting-considerations" />
437
+
438
+ ### Runtime and Reporting Considerations
439
+
440
+ When the benchmark binary is executed, each benchmark function is run serially.
441
+ The number of iterations to run is determined dynamically by running the
442
+ benchmark a few times and measuring the time taken and ensuring that the
443
+ ultimate result will be statistically stable. As such, faster benchmark
444
+ functions will be run for more iterations than slower benchmark functions, and
445
+ the number of iterations is thus reported.
446
+
447
+ In all cases, the number of iterations for which the benchmark is run is
448
+ governed by the amount of time the benchmark takes. Concretely, the number of
449
+ iterations is at least one, not more than 1e9, until CPU time is greater than
450
+ the minimum time, or the wallclock time is 5x minimum time. The minimum time is
451
+ set per benchmark by calling `MinTime` on the registered benchmark object.
452
+
453
+ Average timings are then reported over the iterations run. If multiple
454
+ repetitions are requested using the `--benchmark_repetitions` command-line
455
+ option, or at registration time, the benchmark function will be run several
456
+ times and statistical results across these repetitions will also be reported.
457
+
458
+ As well as the per-benchmark entries, a preamble in the report will include
459
+ information about the machine on which the benchmarks are run.
460
+
461
+ <a name="passing-arguments" />
462
+
463
+ ### Passing Arguments
464
+
465
+ Sometimes a family of benchmarks can be implemented with just one routine that
466
+ takes an extra argument to specify which one of the family of benchmarks to
467
+ run. For example, the following code defines a family of benchmarks for
468
+ measuring the speed of `memcpy()` calls of different lengths:
469
+
470
+ ```c++
471
+ static void BM_memcpy(benchmark::State& state) {
472
+ char* src = new char[state.range(0)];
473
+ char* dst = new char[state.range(0)];
474
+ memset(src, 'x', state.range(0));
475
+ for (auto _ : state)
476
+ memcpy(dst, src, state.range(0));
477
+ state.SetBytesProcessed(int64_t(state.iterations()) *
478
+ int64_t(state.range(0)));
479
+ delete[] src;
480
+ delete[] dst;
481
+ }
482
+ BENCHMARK(BM_memcpy)->Arg(8)->Arg(64)->Arg(512)->Arg(1<<10)->Arg(8<<10);
483
+ ```
484
+
485
+ The preceding code is quite repetitive, and can be replaced with the following
486
+ short-hand. The following invocation will pick a few appropriate arguments in
487
+ the specified range and will generate a benchmark for each such argument.
488
+
489
+ ```c++
490
+ BENCHMARK(BM_memcpy)->Range(8, 8<<10);
491
+ ```
492
+
493
+ By default the arguments in the range are generated in multiples of eight and
494
+ the command above selects [ 8, 64, 512, 4k, 8k ]. In the following code the
495
+ range multiplier is changed to multiples of two.
496
+
497
+ ```c++
498
+ BENCHMARK(BM_memcpy)->RangeMultiplier(2)->Range(8, 8<<10);
499
+ ```
500
+
501
+ Now arguments generated are [ 8, 16, 32, 64, 128, 256, 512, 1024, 2k, 4k, 8k ].
502
+
503
+ The preceding code shows a method of defining a sparse range. The following
504
+ example shows a method of defining a dense range. It is then used to benchmark
505
+ the performance of `std::vector` initialization for uniformly increasing sizes.
506
+
507
+ ```c++
508
+ static void BM_DenseRange(benchmark::State& state) {
509
+ for(auto _ : state) {
510
+ std::vector<int> v(state.range(0), state.range(0));
511
+ benchmark::DoNotOptimize(v.data());
512
+ benchmark::ClobberMemory();
513
+ }
514
+ }
515
+ BENCHMARK(BM_DenseRange)->DenseRange(0, 1024, 128);
516
+ ```
517
+
518
+ Now arguments generated are [ 0, 128, 256, 384, 512, 640, 768, 896, 1024 ].
519
+
520
+ You might have a benchmark that depends on two or more inputs. For example, the
521
+ following code defines a family of benchmarks for measuring the speed of set
522
+ insertion.
523
+
524
+ ```c++
525
+ static void BM_SetInsert(benchmark::State& state) {
526
+ std::set<int> data;
527
+ for (auto _ : state) {
528
+ state.PauseTiming();
529
+ data = ConstructRandomSet(state.range(0));
530
+ state.ResumeTiming();
531
+ for (int j = 0; j < state.range(1); ++j)
532
+ data.insert(RandomNumber());
533
+ }
534
+ }
535
+ BENCHMARK(BM_SetInsert)
536
+ ->Args({1<<10, 128})
537
+ ->Args({2<<10, 128})
538
+ ->Args({4<<10, 128})
539
+ ->Args({8<<10, 128})
540
+ ->Args({1<<10, 512})
541
+ ->Args({2<<10, 512})
542
+ ->Args({4<<10, 512})
543
+ ->Args({8<<10, 512});
544
+ ```
545
+
546
+ The preceding code is quite repetitive, and can be replaced with the following
547
+ short-hand. The following macro will pick a few appropriate arguments in the
548
+ product of the two specified ranges and will generate a benchmark for each such
549
+ pair.
550
+
551
+ ```c++
552
+ BENCHMARK(BM_SetInsert)->Ranges({{1<<10, 8<<10}, {128, 512}});
553
+ ```
554
+
555
+ Some benchmarks may require specific argument values that cannot be expressed
556
+ with `Ranges`. In this case, `ArgsProduct` offers the ability to generate a
557
+ benchmark input for each combination in the product of the supplied vectors.
558
+
559
+ ```c++
560
+ BENCHMARK(BM_SetInsert)
561
+ ->ArgsProduct({{1<<10, 3<<10, 8<<10}, {20, 40, 60, 80}})
562
+ // would generate the same benchmark arguments as
563
+ BENCHMARK(BM_SetInsert)
564
+ ->Args({1<<10, 20})
565
+ ->Args({3<<10, 20})
566
+ ->Args({8<<10, 20})
567
+ ->Args({3<<10, 40})
568
+ ->Args({8<<10, 40})
569
+ ->Args({1<<10, 40})
570
+ ->Args({1<<10, 60})
571
+ ->Args({3<<10, 60})
572
+ ->Args({8<<10, 60})
573
+ ->Args({1<<10, 80})
574
+ ->Args({3<<10, 80})
575
+ ->Args({8<<10, 80});
576
+ ```
577
+
578
+ For more complex patterns of inputs, passing a custom function to `Apply` allows
579
+ programmatic specification of an arbitrary set of arguments on which to run the
580
+ benchmark. The following example enumerates a dense range on one parameter,
581
+ and a sparse range on the second.
582
+
583
+ ```c++
584
+ static void CustomArguments(benchmark::internal::Benchmark* b) {
585
+ for (int i = 0; i <= 10; ++i)
586
+ for (int j = 32; j <= 1024*1024; j *= 8)
587
+ b->Args({i, j});
588
+ }
589
+ BENCHMARK(BM_SetInsert)->Apply(CustomArguments);
590
+ ```
591
+
592
+ #### Passing Arbitrary Arguments to a Benchmark
593
+
594
+ In C++11 it is possible to define a benchmark that takes an arbitrary number
595
+ of extra arguments. The `BENCHMARK_CAPTURE(func, test_case_name, ...args)`
596
+ macro creates a benchmark that invokes `func` with the `benchmark::State` as
597
+ the first argument followed by the specified `args...`.
598
+ The `test_case_name` is appended to the name of the benchmark and
599
+ should describe the values passed.
600
+
601
+ ```c++
602
+ template <class ...ExtraArgs>
603
+ void BM_takes_args(benchmark::State& state, ExtraArgs&&... extra_args) {
604
+ [...]
605
+ }
606
+ // Registers a benchmark named "BM_takes_args/int_string_test" that passes
607
+ // the specified values to `extra_args`.
608
+ BENCHMARK_CAPTURE(BM_takes_args, int_string_test, 42, std::string("abc"));
609
+ ```
610
+
611
+ Note that elements of `...args` may refer to global variables. Users should
612
+ avoid modifying global state inside of a benchmark.
613
+
614
+ <a name="asymptotic-complexity" />
615
+
616
+ ### Calculating Asymptotic Complexity (Big O)
617
+
618
+ Asymptotic complexity might be calculated for a family of benchmarks. The
619
+ following code will calculate the coefficient for the high-order term in the
620
+ running time and the normalized root-mean square error of string comparison.
621
+
622
+ ```c++
623
+ static void BM_StringCompare(benchmark::State& state) {
624
+ std::string s1(state.range(0), '-');
625
+ std::string s2(state.range(0), '-');
626
+ for (auto _ : state) {
627
+ benchmark::DoNotOptimize(s1.compare(s2));
628
+ }
629
+ state.SetComplexityN(state.range(0));
630
+ }
631
+ BENCHMARK(BM_StringCompare)
632
+ ->RangeMultiplier(2)->Range(1<<10, 1<<18)->Complexity(benchmark::oN);
633
+ ```
634
+
635
+ As shown in the following invocation, asymptotic complexity might also be
636
+ calculated automatically.
637
+
638
+ ```c++
639
+ BENCHMARK(BM_StringCompare)
640
+ ->RangeMultiplier(2)->Range(1<<10, 1<<18)->Complexity();
641
+ ```
642
+
643
+ The following code will specify asymptotic complexity with a lambda function,
644
+ that might be used to customize high-order term calculation.
645
+
646
+ ```c++
647
+ BENCHMARK(BM_StringCompare)->RangeMultiplier(2)
648
+ ->Range(1<<10, 1<<18)->Complexity([](benchmark::IterationCount n)->double{return n; });
649
+ ```
650
+
651
+ <a name="templated-benchmarks" />
652
+
653
+ ### Templated Benchmarks
654
+
655
+ This example produces and consumes messages of size `sizeof(v)` `range_x`
656
+ times. It also outputs throughput in the absence of multiprogramming.
657
+
658
+ ```c++
659
+ template <class Q> void BM_Sequential(benchmark::State& state) {
660
+ Q q;
661
+ typename Q::value_type v;
662
+ for (auto _ : state) {
663
+ for (int i = state.range(0); i--; )
664
+ q.push(v);
665
+ for (int e = state.range(0); e--; )
666
+ q.Wait(&v);
667
+ }
668
+ // actually messages, not bytes:
669
+ state.SetBytesProcessed(
670
+ static_cast<int64_t>(state.iterations())*state.range(0));
671
+ }
672
+ BENCHMARK_TEMPLATE(BM_Sequential, WaitQueue<int>)->Range(1<<0, 1<<10);
673
+ ```
674
+
675
+ Three macros are provided for adding benchmark templates.
676
+
677
+ ```c++
678
+ #ifdef BENCHMARK_HAS_CXX11
679
+ #define BENCHMARK_TEMPLATE(func, ...) // Takes any number of parameters.
680
+ #else // C++ < C++11
681
+ #define BENCHMARK_TEMPLATE(func, arg1)
682
+ #endif
683
+ #define BENCHMARK_TEMPLATE1(func, arg1)
684
+ #define BENCHMARK_TEMPLATE2(func, arg1, arg2)
685
+ ```
686
+
687
+ <a name="fixtures" />
688
+
689
+ ### Fixtures
690
+
691
+ Fixture tests are created by first defining a type that derives from
692
+ `::benchmark::Fixture` and then creating/registering the tests using the
693
+ following macros:
694
+
695
+ * `BENCHMARK_F(ClassName, Method)`
696
+ * `BENCHMARK_DEFINE_F(ClassName, Method)`
697
+ * `BENCHMARK_REGISTER_F(ClassName, Method)`
698
+
699
+ For Example:
700
+
701
+ ```c++
702
+ class MyFixture : public benchmark::Fixture {
703
+ public:
704
+ void SetUp(const ::benchmark::State& state) {
705
+ }
706
+
707
+ void TearDown(const ::benchmark::State& state) {
708
+ }
709
+ };
710
+
711
+ BENCHMARK_F(MyFixture, FooTest)(benchmark::State& st) {
712
+ for (auto _ : st) {
713
+ ...
714
+ }
715
+ }
716
+
717
+ BENCHMARK_DEFINE_F(MyFixture, BarTest)(benchmark::State& st) {
718
+ for (auto _ : st) {
719
+ ...
720
+ }
721
+ }
722
+ /* BarTest is NOT registered */
723
+ BENCHMARK_REGISTER_F(MyFixture, BarTest)->Threads(2);
724
+ /* BarTest is now registered */
725
+ ```
726
+
727
+ #### Templated Fixtures
728
+
729
+ Also you can create templated fixture by using the following macros:
730
+
731
+ * `BENCHMARK_TEMPLATE_F(ClassName, Method, ...)`
732
+ * `BENCHMARK_TEMPLATE_DEFINE_F(ClassName, Method, ...)`
733
+
734
+ For example:
735
+
736
+ ```c++
737
+ template<typename T>
738
+ class MyFixture : public benchmark::Fixture {};
739
+
740
+ BENCHMARK_TEMPLATE_F(MyFixture, IntTest, int)(benchmark::State& st) {
741
+ for (auto _ : st) {
742
+ ...
743
+ }
744
+ }
745
+
746
+ BENCHMARK_TEMPLATE_DEFINE_F(MyFixture, DoubleTest, double)(benchmark::State& st) {
747
+ for (auto _ : st) {
748
+ ...
749
+ }
750
+ }
751
+
752
+ BENCHMARK_REGISTER_F(MyFixture, DoubleTest)->Threads(2);
753
+ ```
754
+
755
+ <a name="custom-counters" />
756
+
757
+ ### Custom Counters
758
+
759
+ You can add your own counters with user-defined names. The example below
760
+ will add columns "Foo", "Bar" and "Baz" in its output:
761
+
762
+ ```c++
763
+ static void UserCountersExample1(benchmark::State& state) {
764
+ double numFoos = 0, numBars = 0, numBazs = 0;
765
+ for (auto _ : state) {
766
+ // ... count Foo,Bar,Baz events
767
+ }
768
+ state.counters["Foo"] = numFoos;
769
+ state.counters["Bar"] = numBars;
770
+ state.counters["Baz"] = numBazs;
771
+ }
772
+ ```
773
+
774
+ The `state.counters` object is a `std::map` with `std::string` keys
775
+ and `Counter` values. The latter is a `double`-like class, via an implicit
776
+ conversion to `double&`. Thus you can use all of the standard arithmetic
777
+ assignment operators (`=,+=,-=,*=,/=`) to change the value of each counter.
778
+
779
+ In multithreaded benchmarks, each counter is set on the calling thread only.
780
+ When the benchmark finishes, the counters from each thread will be summed;
781
+ the resulting sum is the value which will be shown for the benchmark.
782
+
783
+ The `Counter` constructor accepts three parameters: the value as a `double`
784
+ ; a bit flag which allows you to show counters as rates, and/or as per-thread
785
+ iteration, and/or as per-thread averages, and/or iteration invariants,
786
+ and/or finally inverting the result; and a flag specifying the 'unit' - i.e.
787
+ is 1k a 1000 (default, `benchmark::Counter::OneK::kIs1000`), or 1024
788
+ (`benchmark::Counter::OneK::kIs1024`)?
789
+
790
+ ```c++
791
+ // sets a simple counter
792
+ state.counters["Foo"] = numFoos;
793
+
794
+ // Set the counter as a rate. It will be presented divided
795
+ // by the duration of the benchmark.
796
+ // Meaning: per one second, how many 'foo's are processed?
797
+ state.counters["FooRate"] = Counter(numFoos, benchmark::Counter::kIsRate);
798
+
799
+ // Set the counter as a rate. It will be presented divided
800
+ // by the duration of the benchmark, and the result inverted.
801
+ // Meaning: how many seconds it takes to process one 'foo'?
802
+ state.counters["FooInvRate"] = Counter(numFoos, benchmark::Counter::kIsRate | benchmark::Counter::kInvert);
803
+
804
+ // Set the counter as a thread-average quantity. It will
805
+ // be presented divided by the number of threads.
806
+ state.counters["FooAvg"] = Counter(numFoos, benchmark::Counter::kAvgThreads);
807
+
808
+ // There's also a combined flag:
809
+ state.counters["FooAvgRate"] = Counter(numFoos,benchmark::Counter::kAvgThreadsRate);
810
+
811
+ // This says that we process with the rate of state.range(0) bytes every iteration:
812
+ state.counters["BytesProcessed"] = Counter(state.range(0), benchmark::Counter::kIsIterationInvariantRate, benchmark::Counter::OneK::kIs1024);
813
+ ```
814
+
815
+ When you're compiling in C++11 mode or later you can use `insert()` with
816
+ `std::initializer_list`:
817
+
818
+ ```c++
819
+ // With C++11, this can be done:
820
+ state.counters.insert({{"Foo", numFoos}, {"Bar", numBars}, {"Baz", numBazs}});
821
+ // ... instead of:
822
+ state.counters["Foo"] = numFoos;
823
+ state.counters["Bar"] = numBars;
824
+ state.counters["Baz"] = numBazs;
825
+ ```
826
+
827
+ #### Counter Reporting
828
+
829
+ When using the console reporter, by default, user counters are printed at
830
+ the end after the table, the same way as ``bytes_processed`` and
831
+ ``items_processed``. This is best for cases in which there are few counters,
832
+ or where there are only a couple of lines per benchmark. Here's an example of
833
+ the default output:
834
+
835
+ ```
836
+ ------------------------------------------------------------------------------
837
+ Benchmark Time CPU Iterations UserCounters...
838
+ ------------------------------------------------------------------------------
839
+ BM_UserCounter/threads:8 2248 ns 10277 ns 68808 Bar=16 Bat=40 Baz=24 Foo=8
840
+ BM_UserCounter/threads:1 9797 ns 9788 ns 71523 Bar=2 Bat=5 Baz=3 Foo=1024m
841
+ BM_UserCounter/threads:2 4924 ns 9842 ns 71036 Bar=4 Bat=10 Baz=6 Foo=2
842
+ BM_UserCounter/threads:4 2589 ns 10284 ns 68012 Bar=8 Bat=20 Baz=12 Foo=4
843
+ BM_UserCounter/threads:8 2212 ns 10287 ns 68040 Bar=16 Bat=40 Baz=24 Foo=8
844
+ BM_UserCounter/threads:16 1782 ns 10278 ns 68144 Bar=32 Bat=80 Baz=48 Foo=16
845
+ BM_UserCounter/threads:32 1291 ns 10296 ns 68256 Bar=64 Bat=160 Baz=96 Foo=32
846
+ BM_UserCounter/threads:4 2615 ns 10307 ns 68040 Bar=8 Bat=20 Baz=12 Foo=4
847
+ BM_Factorial 26 ns 26 ns 26608979 40320
848
+ BM_Factorial/real_time 26 ns 26 ns 26587936 40320
849
+ BM_CalculatePiRange/1 16 ns 16 ns 45704255 0
850
+ BM_CalculatePiRange/8 73 ns 73 ns 9520927 3.28374
851
+ BM_CalculatePiRange/64 609 ns 609 ns 1140647 3.15746
852
+ BM_CalculatePiRange/512 4900 ns 4901 ns 142696 3.14355
853
+ ```
854
+
855
+ If this doesn't suit you, you can print each counter as a table column by
856
+ passing the flag `--benchmark_counters_tabular=true` to the benchmark
857
+ application. This is best for cases in which there are a lot of counters, or
858
+ a lot of lines per individual benchmark. Note that this will trigger a
859
+ reprinting of the table header any time the counter set changes between
860
+ individual benchmarks. Here's an example of corresponding output when
861
+ `--benchmark_counters_tabular=true` is passed:
862
+
863
+ ```
864
+ ---------------------------------------------------------------------------------------
865
+ Benchmark Time CPU Iterations Bar Bat Baz Foo
866
+ ---------------------------------------------------------------------------------------
867
+ BM_UserCounter/threads:8 2198 ns 9953 ns 70688 16 40 24 8
868
+ BM_UserCounter/threads:1 9504 ns 9504 ns 73787 2 5 3 1
869
+ BM_UserCounter/threads:2 4775 ns 9550 ns 72606 4 10 6 2
870
+ BM_UserCounter/threads:4 2508 ns 9951 ns 70332 8 20 12 4
871
+ BM_UserCounter/threads:8 2055 ns 9933 ns 70344 16 40 24 8
872
+ BM_UserCounter/threads:16 1610 ns 9946 ns 70720 32 80 48 16
873
+ BM_UserCounter/threads:32 1192 ns 9948 ns 70496 64 160 96 32
874
+ BM_UserCounter/threads:4 2506 ns 9949 ns 70332 8 20 12 4
875
+ --------------------------------------------------------------
876
+ Benchmark Time CPU Iterations
877
+ --------------------------------------------------------------
878
+ BM_Factorial 26 ns 26 ns 26392245 40320
879
+ BM_Factorial/real_time 26 ns 26 ns 26494107 40320
880
+ BM_CalculatePiRange/1 15 ns 15 ns 45571597 0
881
+ BM_CalculatePiRange/8 74 ns 74 ns 9450212 3.28374
882
+ BM_CalculatePiRange/64 595 ns 595 ns 1173901 3.15746
883
+ BM_CalculatePiRange/512 4752 ns 4752 ns 147380 3.14355
884
+ BM_CalculatePiRange/4k 37970 ns 37972 ns 18453 3.14184
885
+ BM_CalculatePiRange/32k 303733 ns 303744 ns 2305 3.14162
886
+ BM_CalculatePiRange/256k 2434095 ns 2434186 ns 288 3.1416
887
+ BM_CalculatePiRange/1024k 9721140 ns 9721413 ns 71 3.14159
888
+ BM_CalculatePi/threads:8 2255 ns 9943 ns 70936
889
+ ```
890
+
891
+ Note above the additional header printed when the benchmark changes from
892
+ ``BM_UserCounter`` to ``BM_Factorial``. This is because ``BM_Factorial`` does
893
+ not have the same counter set as ``BM_UserCounter``.
894
+
895
+ <a name="multithreaded-benchmarks"/>
896
+
897
+ ### Multithreaded Benchmarks
898
+
899
+ In a multithreaded test (benchmark invoked by multiple threads simultaneously),
900
+ it is guaranteed that none of the threads will start until all have reached
901
+ the start of the benchmark loop, and all will have finished before any thread
902
+ exits the benchmark loop. (This behavior is also provided by the `KeepRunning()`
903
+ API) As such, any global setup or teardown can be wrapped in a check against the thread
904
+ index:
905
+
906
+ ```c++
907
+ static void BM_MultiThreaded(benchmark::State& state) {
908
+ if (state.thread_index == 0) {
909
+ // Setup code here.
910
+ }
911
+ for (auto _ : state) {
912
+ // Run the test as normal.
913
+ }
914
+ if (state.thread_index == 0) {
915
+ // Teardown code here.
916
+ }
917
+ }
918
+ BENCHMARK(BM_MultiThreaded)->Threads(2);
919
+ ```
920
+
921
+ If the benchmarked code itself uses threads and you want to compare it to
922
+ single-threaded code, you may want to use real-time ("wallclock") measurements
923
+ for latency comparisons:
924
+
925
+ ```c++
926
+ BENCHMARK(BM_test)->Range(8, 8<<10)->UseRealTime();
927
+ ```
928
+
929
+ Without `UseRealTime`, CPU time is used by default.
930
+
931
+ <a name="cpu-timers" />
932
+
933
+ ### CPU Timers
934
+
935
+ By default, the CPU timer only measures the time spent by the main thread.
936
+ If the benchmark itself uses threads internally, this measurement may not
937
+ be what you are looking for. Instead, there is a way to measure the total
938
+ CPU usage of the process, by all the threads.
939
+
940
+ ```c++
941
+ void callee(int i);
942
+
943
+ static void MyMain(int size) {
944
+ #pragma omp parallel for
945
+ for(int i = 0; i < size; i++)
946
+ callee(i);
947
+ }
948
+
949
+ static void BM_OpenMP(benchmark::State& state) {
950
+ for (auto _ : state)
951
+ MyMain(state.range(0));
952
+ }
953
+
954
+ // Measure the time spent by the main thread, use it to decide for how long to
955
+ // run the benchmark loop. Depending on the internal implementation detail may
956
+ // measure to anywhere from near-zero (the overhead spent before/after work
957
+ // handoff to worker thread[s]) to the whole single-thread time.
958
+ BENCHMARK(BM_OpenMP)->Range(8, 8<<10);
959
+
960
+ // Measure the user-visible time, the wall clock (literally, the time that
961
+ // has passed on the clock on the wall), use it to decide for how long to
962
+ // run the benchmark loop. This will always be meaningful, an will match the
963
+ // time spent by the main thread in single-threaded case, in general decreasing
964
+ // with the number of internal threads doing the work.
965
+ BENCHMARK(BM_OpenMP)->Range(8, 8<<10)->UseRealTime();
966
+
967
+ // Measure the total CPU consumption, use it to decide for how long to
968
+ // run the benchmark loop. This will always measure to no less than the
969
+ // time spent by the main thread in single-threaded case.
970
+ BENCHMARK(BM_OpenMP)->Range(8, 8<<10)->MeasureProcessCPUTime();
971
+
972
+ // A mixture of the last two. Measure the total CPU consumption, but use the
973
+ // wall clock to decide for how long to run the benchmark loop.
974
+ BENCHMARK(BM_OpenMP)->Range(8, 8<<10)->MeasureProcessCPUTime()->UseRealTime();
975
+ ```
976
+
977
+ #### Controlling Timers
978
+
979
+ Normally, the entire duration of the work loop (`for (auto _ : state) {}`)
980
+ is measured. But sometimes, it is necessary to do some work inside of
981
+ that loop, every iteration, but without counting that time to the benchmark time.
982
+ That is possible, although it is not recommended, since it has high overhead.
983
+
984
+ ```c++
985
+ static void BM_SetInsert_With_Timer_Control(benchmark::State& state) {
986
+ std::set<int> data;
987
+ for (auto _ : state) {
988
+ state.PauseTiming(); // Stop timers. They will not count until they are resumed.
989
+ data = ConstructRandomSet(state.range(0)); // Do something that should not be measured
990
+ state.ResumeTiming(); // And resume timers. They are now counting again.
991
+ // The rest will be measured.
992
+ for (int j = 0; j < state.range(1); ++j)
993
+ data.insert(RandomNumber());
994
+ }
995
+ }
996
+ BENCHMARK(BM_SetInsert_With_Timer_Control)->Ranges({{1<<10, 8<<10}, {128, 512}});
997
+ ```
998
+
999
+ <a name="manual-timing" />
1000
+
1001
+ ### Manual Timing
1002
+
1003
+ For benchmarking something for which neither CPU time nor real-time are
1004
+ correct or accurate enough, completely manual timing is supported using
1005
+ the `UseManualTime` function.
1006
+
1007
+ When `UseManualTime` is used, the benchmarked code must call
1008
+ `SetIterationTime` once per iteration of the benchmark loop to
1009
+ report the manually measured time.
1010
+
1011
+ An example use case for this is benchmarking GPU execution (e.g. OpenCL
1012
+ or CUDA kernels, OpenGL or Vulkan or Direct3D draw calls), which cannot
1013
+ be accurately measured using CPU time or real-time. Instead, they can be
1014
+ measured accurately using a dedicated API, and these measurement results
1015
+ can be reported back with `SetIterationTime`.
1016
+
1017
+ ```c++
1018
+ static void BM_ManualTiming(benchmark::State& state) {
1019
+ int microseconds = state.range(0);
1020
+ std::chrono::duration<double, std::micro> sleep_duration {
1021
+ static_cast<double>(microseconds)
1022
+ };
1023
+
1024
+ for (auto _ : state) {
1025
+ auto start = std::chrono::high_resolution_clock::now();
1026
+ // Simulate some useful workload with a sleep
1027
+ std::this_thread::sleep_for(sleep_duration);
1028
+ auto end = std::chrono::high_resolution_clock::now();
1029
+
1030
+ auto elapsed_seconds =
1031
+ std::chrono::duration_cast<std::chrono::duration<double>>(
1032
+ end - start);
1033
+
1034
+ state.SetIterationTime(elapsed_seconds.count());
1035
+ }
1036
+ }
1037
+ BENCHMARK(BM_ManualTiming)->Range(1, 1<<17)->UseManualTime();
1038
+ ```
1039
+
1040
+ <a name="setting-the-time-unit" />
1041
+
1042
+ ### Setting the Time Unit
1043
+
1044
+ If a benchmark runs a few milliseconds it may be hard to visually compare the
1045
+ measured times, since the output data is given in nanoseconds per default. In
1046
+ order to manually set the time unit, you can specify it manually:
1047
+
1048
+ ```c++
1049
+ BENCHMARK(BM_test)->Unit(benchmark::kMillisecond);
1050
+ ```
1051
+
1052
+ <a name="preventing-optimization" />
1053
+
1054
+ ### Preventing Optimization
1055
+
1056
+ To prevent a value or expression from being optimized away by the compiler
1057
+ the `benchmark::DoNotOptimize(...)` and `benchmark::ClobberMemory()`
1058
+ functions can be used.
1059
+
1060
+ ```c++
1061
+ static void BM_test(benchmark::State& state) {
1062
+ for (auto _ : state) {
1063
+ int x = 0;
1064
+ for (int i=0; i < 64; ++i) {
1065
+ benchmark::DoNotOptimize(x += i);
1066
+ }
1067
+ }
1068
+ }
1069
+ ```
1070
+
1071
+ `DoNotOptimize(<expr>)` forces the *result* of `<expr>` to be stored in either
1072
+ memory or a register. For GNU based compilers it acts as read/write barrier
1073
+ for global memory. More specifically it forces the compiler to flush pending
1074
+ writes to memory and reload any other values as necessary.
1075
+
1076
+ Note that `DoNotOptimize(<expr>)` does not prevent optimizations on `<expr>`
1077
+ in any way. `<expr>` may even be removed entirely when the result is already
1078
+ known. For example:
1079
+
1080
+ ```c++
1081
+ /* Example 1: `<expr>` is removed entirely. */
1082
+ int foo(int x) { return x + 42; }
1083
+ while (...) DoNotOptimize(foo(0)); // Optimized to DoNotOptimize(42);
1084
+
1085
+ /* Example 2: Result of '<expr>' is only reused */
1086
+ int bar(int) __attribute__((const));
1087
+ while (...) DoNotOptimize(bar(0)); // Optimized to:
1088
+ // int __result__ = bar(0);
1089
+ // while (...) DoNotOptimize(__result__);
1090
+ ```
1091
+
1092
+ The second tool for preventing optimizations is `ClobberMemory()`. In essence
1093
+ `ClobberMemory()` forces the compiler to perform all pending writes to global
1094
+ memory. Memory managed by block scope objects must be "escaped" using
1095
+ `DoNotOptimize(...)` before it can be clobbered. In the below example
1096
+ `ClobberMemory()` prevents the call to `v.push_back(42)` from being optimized
1097
+ away.
1098
+
1099
+ ```c++
1100
+ static void BM_vector_push_back(benchmark::State& state) {
1101
+ for (auto _ : state) {
1102
+ std::vector<int> v;
1103
+ v.reserve(1);
1104
+ benchmark::DoNotOptimize(v.data()); // Allow v.data() to be clobbered.
1105
+ v.push_back(42);
1106
+ benchmark::ClobberMemory(); // Force 42 to be written to memory.
1107
+ }
1108
+ }
1109
+ ```
1110
+
1111
+ Note that `ClobberMemory()` is only available for GNU or MSVC based compilers.
1112
+
1113
+ <a name="reporting-statistics" />
1114
+
1115
+ ### Statistics: Reporting the Mean, Median and Standard Deviation of Repeated Benchmarks
1116
+
1117
+ By default each benchmark is run once and that single result is reported.
1118
+ However benchmarks are often noisy and a single result may not be representative
1119
+ of the overall behavior. For this reason it's possible to repeatedly rerun the
1120
+ benchmark.
1121
+
1122
+ The number of runs of each benchmark is specified globally by the
1123
+ `--benchmark_repetitions` flag or on a per benchmark basis by calling
1124
+ `Repetitions` on the registered benchmark object. When a benchmark is run more
1125
+ than once the mean, median and standard deviation of the runs will be reported.
1126
+
1127
+ Additionally the `--benchmark_report_aggregates_only={true|false}`,
1128
+ `--benchmark_display_aggregates_only={true|false}` flags or
1129
+ `ReportAggregatesOnly(bool)`, `DisplayAggregatesOnly(bool)` functions can be
1130
+ used to change how repeated tests are reported. By default the result of each
1131
+ repeated run is reported. When `report aggregates only` option is `true`,
1132
+ only the aggregates (i.e. mean, median and standard deviation, maybe complexity
1133
+ measurements if they were requested) of the runs is reported, to both the
1134
+ reporters - standard output (console), and the file.
1135
+ However when only the `display aggregates only` option is `true`,
1136
+ only the aggregates are displayed in the standard output, while the file
1137
+ output still contains everything.
1138
+ Calling `ReportAggregatesOnly(bool)` / `DisplayAggregatesOnly(bool)` on a
1139
+ registered benchmark object overrides the value of the appropriate flag for that
1140
+ benchmark.
1141
+
1142
+ <a name="custom-statistics" />
1143
+
1144
+ ### Custom Statistics
1145
+
1146
+ While having mean, median and standard deviation is nice, this may not be
1147
+ enough for everyone. For example you may want to know what the largest
1148
+ observation is, e.g. because you have some real-time constraints. This is easy.
1149
+ The following code will specify a custom statistic to be calculated, defined
1150
+ by a lambda function.
1151
+
1152
+ ```c++
1153
+ void BM_spin_empty(benchmark::State& state) {
1154
+ for (auto _ : state) {
1155
+ for (int x = 0; x < state.range(0); ++x) {
1156
+ benchmark::DoNotOptimize(x);
1157
+ }
1158
+ }
1159
+ }
1160
+
1161
+ BENCHMARK(BM_spin_empty)
1162
+ ->ComputeStatistics("max", [](const std::vector<double>& v) -> double {
1163
+ return *(std::max_element(std::begin(v), std::end(v)));
1164
+ })
1165
+ ->Arg(512);
1166
+ ```
1167
+
1168
+ <a name="using-register-benchmark" />
1169
+
1170
+ ### Using RegisterBenchmark(name, fn, args...)
1171
+
1172
+ The `RegisterBenchmark(name, func, args...)` function provides an alternative
1173
+ way to create and register benchmarks.
1174
+ `RegisterBenchmark(name, func, args...)` creates, registers, and returns a
1175
+ pointer to a new benchmark with the specified `name` that invokes
1176
+ `func(st, args...)` where `st` is a `benchmark::State` object.
1177
+
1178
+ Unlike the `BENCHMARK` registration macros, which can only be used at the global
1179
+ scope, the `RegisterBenchmark` can be called anywhere. This allows for
1180
+ benchmark tests to be registered programmatically.
1181
+
1182
+ Additionally `RegisterBenchmark` allows any callable object to be registered
1183
+ as a benchmark. Including capturing lambdas and function objects.
1184
+
1185
+ For Example:
1186
+ ```c++
1187
+ auto BM_test = [](benchmark::State& st, auto Inputs) { /* ... */ };
1188
+
1189
+ int main(int argc, char** argv) {
1190
+ for (auto& test_input : { /* ... */ })
1191
+ benchmark::RegisterBenchmark(test_input.name(), BM_test, test_input);
1192
+ benchmark::Initialize(&argc, argv);
1193
+ benchmark::RunSpecifiedBenchmarks();
1194
+ }
1195
+ ```
1196
+
1197
+ <a name="exiting-with-an-error" />
1198
+
1199
+ ### Exiting with an Error
1200
+
1201
+ When errors caused by external influences, such as file I/O and network
1202
+ communication, occur within a benchmark the
1203
+ `State::SkipWithError(const char* msg)` function can be used to skip that run
1204
+ of benchmark and report the error. Note that only future iterations of the
1205
+ `KeepRunning()` are skipped. For the ranged-for version of the benchmark loop
1206
+ Users must explicitly exit the loop, otherwise all iterations will be performed.
1207
+ Users may explicitly return to exit the benchmark immediately.
1208
+
1209
+ The `SkipWithError(...)` function may be used at any point within the benchmark,
1210
+ including before and after the benchmark loop. Moreover, if `SkipWithError(...)`
1211
+ has been used, it is not required to reach the benchmark loop and one may return
1212
+ from the benchmark function early.
1213
+
1214
+ For example:
1215
+
1216
+ ```c++
1217
+ static void BM_test(benchmark::State& state) {
1218
+ auto resource = GetResource();
1219
+ if (!resource.good()) {
1220
+ state.SkipWithError("Resource is not good!");
1221
+ // KeepRunning() loop will not be entered.
1222
+ }
1223
+ while (state.KeepRunning()) {
1224
+ auto data = resource.read_data();
1225
+ if (!resource.good()) {
1226
+ state.SkipWithError("Failed to read data!");
1227
+ break; // Needed to skip the rest of the iteration.
1228
+ }
1229
+ do_stuff(data);
1230
+ }
1231
+ }
1232
+
1233
+ static void BM_test_ranged_fo(benchmark::State & state) {
1234
+ auto resource = GetResource();
1235
+ if (!resource.good()) {
1236
+ state.SkipWithError("Resource is not good!");
1237
+ return; // Early return is allowed when SkipWithError() has been used.
1238
+ }
1239
+ for (auto _ : state) {
1240
+ auto data = resource.read_data();
1241
+ if (!resource.good()) {
1242
+ state.SkipWithError("Failed to read data!");
1243
+ break; // REQUIRED to prevent all further iterations.
1244
+ }
1245
+ do_stuff(data);
1246
+ }
1247
+ }
1248
+ ```
1249
+ <a name="a-faster-keep-running-loop" />
1250
+
1251
+ ### A Faster KeepRunning Loop
1252
+
1253
+ In C++11 mode, a ranged-based for loop should be used in preference to
1254
+ the `KeepRunning` loop for running the benchmarks. For example:
1255
+
1256
+ ```c++
1257
+ static void BM_Fast(benchmark::State &state) {
1258
+ for (auto _ : state) {
1259
+ FastOperation();
1260
+ }
1261
+ }
1262
+ BENCHMARK(BM_Fast);
1263
+ ```
1264
+
1265
+ The reason the ranged-for loop is faster than using `KeepRunning`, is
1266
+ because `KeepRunning` requires a memory load and store of the iteration count
1267
+ ever iteration, whereas the ranged-for variant is able to keep the iteration count
1268
+ in a register.
1269
+
1270
+ For example, an empty inner loop of using the ranged-based for method looks like:
1271
+
1272
+ ```asm
1273
+ # Loop Init
1274
+ mov rbx, qword ptr [r14 + 104]
1275
+ call benchmark::State::StartKeepRunning()
1276
+ test rbx, rbx
1277
+ je .LoopEnd
1278
+ .LoopHeader: # =>This Inner Loop Header: Depth=1
1279
+ add rbx, -1
1280
+ jne .LoopHeader
1281
+ .LoopEnd:
1282
+ ```
1283
+
1284
+ Compared to an empty `KeepRunning` loop, which looks like:
1285
+
1286
+ ```asm
1287
+ .LoopHeader: # in Loop: Header=BB0_3 Depth=1
1288
+ cmp byte ptr [rbx], 1
1289
+ jne .LoopInit
1290
+ .LoopBody: # =>This Inner Loop Header: Depth=1
1291
+ mov rax, qword ptr [rbx + 8]
1292
+ lea rcx, [rax + 1]
1293
+ mov qword ptr [rbx + 8], rcx
1294
+ cmp rax, qword ptr [rbx + 104]
1295
+ jb .LoopHeader
1296
+ jmp .LoopEnd
1297
+ .LoopInit:
1298
+ mov rdi, rbx
1299
+ call benchmark::State::StartKeepRunning()
1300
+ jmp .LoopBody
1301
+ .LoopEnd:
1302
+ ```
1303
+
1304
+ Unless C++03 compatibility is required, the ranged-for variant of writing
1305
+ the benchmark loop should be preferred.
1306
+
1307
+ <a name="disabling-cpu-frequency-scaling" />
1308
+
1309
+ ### Disabling CPU Frequency Scaling
1310
+
1311
+ If you see this error:
1312
+
1313
+ ```
1314
+ ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
1315
+ ```
1316
+
1317
+ you might want to disable the CPU frequency scaling while running the benchmark:
1318
+
1319
+ ```bash
1320
+ sudo cpupower frequency-set --governor performance
1321
+ ./mybench
1322
+ sudo cpupower frequency-set --governor powersave
1323
+ ```