re2 1.22.2 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. package/README.md +60 -4
  2. package/binding.gyp +5 -1
  3. package/lib/addon.cc +4 -0
  4. package/lib/new.cc +1 -246
  5. package/lib/pattern.cc +252 -0
  6. package/lib/pattern.h +10 -0
  7. package/lib/set.cc +777 -0
  8. package/lib/wrapped_re2_set.h +42 -0
  9. package/package.json +21 -9
  10. package/re2.d.ts +46 -9
  11. package/vendor/abseil-cpp/CMake/AbseilDll.cmake +14 -24
  12. package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +3 -3
  13. package/vendor/abseil-cpp/CMake/README.md +2 -2
  14. package/vendor/abseil-cpp/CMakeLists.txt +3 -3
  15. package/vendor/abseil-cpp/MODULE.bazel +6 -9
  16. package/vendor/abseil-cpp/README.md +6 -8
  17. package/vendor/abseil-cpp/absl/abseil.podspec.gen.py +6 -4
  18. package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +3 -0
  19. package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +1 -0
  20. package/vendor/abseil-cpp/absl/algorithm/container.h +2 -19
  21. package/vendor/abseil-cpp/absl/algorithm/container_test.cc +4 -11
  22. package/vendor/abseil-cpp/absl/base/BUILD.bazel +60 -45
  23. package/vendor/abseil-cpp/absl/base/CMakeLists.txt +57 -38
  24. package/vendor/abseil-cpp/absl/base/attributes.h +76 -7
  25. package/vendor/abseil-cpp/absl/base/attributes_test.cc +43 -0
  26. package/vendor/abseil-cpp/absl/base/call_once.h +11 -12
  27. package/vendor/abseil-cpp/absl/base/config.h +22 -129
  28. package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +0 -4
  29. package/vendor/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
  30. package/vendor/abseil-cpp/absl/base/{internal/fast_type_id_test.cc → fast_type_id_test.cc} +34 -30
  31. package/vendor/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
  32. package/vendor/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
  33. package/vendor/abseil-cpp/absl/base/internal/endian.h +34 -38
  34. package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
  35. package/vendor/abseil-cpp/absl/base/internal/iterator_traits_test.cc +85 -0
  36. package/vendor/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
  37. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +39 -9
  38. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.h +6 -0
  39. package/vendor/abseil-cpp/absl/base/internal/poison.cc +7 -6
  40. package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +15 -28
  41. package/vendor/abseil-cpp/absl/base/internal/spinlock.h +65 -35
  42. package/vendor/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +2 -2
  43. package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +2 -2
  44. package/vendor/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +1 -1
  45. package/vendor/abseil-cpp/absl/base/internal/thread_identity_test.cc +4 -4
  46. package/vendor/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
  47. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +4 -0
  48. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +8 -3
  49. package/vendor/abseil-cpp/absl/base/no_destructor.h +11 -32
  50. package/vendor/abseil-cpp/absl/base/no_destructor_test.cc +0 -4
  51. package/vendor/abseil-cpp/absl/base/nullability.h +83 -72
  52. package/vendor/abseil-cpp/absl/base/nullability_test.cc +25 -64
  53. package/vendor/abseil-cpp/absl/base/options.h +3 -80
  54. package/vendor/abseil-cpp/absl/base/policy_checks.h +7 -7
  55. package/vendor/abseil-cpp/absl/base/raw_logging_test.cc +15 -0
  56. package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +50 -30
  57. package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +2 -1
  58. package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +0 -1
  59. package/vendor/abseil-cpp/absl/cleanup/cleanup.h +1 -3
  60. package/vendor/abseil-cpp/absl/cleanup/cleanup_test.cc +0 -2
  61. package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
  62. package/vendor/abseil-cpp/absl/container/BUILD.bazel +74 -1
  63. package/vendor/abseil-cpp/absl/container/CMakeLists.txt +73 -0
  64. package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +51 -9
  65. package/vendor/abseil-cpp/absl/container/btree_map.h +8 -6
  66. package/vendor/abseil-cpp/absl/container/btree_set.h +8 -6
  67. package/vendor/abseil-cpp/absl/container/btree_test.cc +89 -4
  68. package/vendor/abseil-cpp/absl/container/fixed_array.h +7 -15
  69. package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +17 -0
  70. package/vendor/abseil-cpp/absl/container/flat_hash_map.h +20 -15
  71. package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +8 -14
  72. package/vendor/abseil-cpp/absl/container/flat_hash_set.h +19 -14
  73. package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +46 -0
  74. package/vendor/abseil-cpp/absl/container/inlined_vector.h +7 -6
  75. package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +28 -0
  76. package/vendor/abseil-cpp/absl/container/internal/btree.h +132 -29
  77. package/vendor/abseil-cpp/absl/container/internal/btree_container.h +175 -71
  78. package/vendor/abseil-cpp/absl/container/internal/common.h +43 -0
  79. package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -2
  80. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +28 -24
  81. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +4 -17
  82. package/vendor/abseil-cpp/absl/container/internal/container_memory.h +80 -17
  83. package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +32 -2
  84. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +13 -8
  85. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +1 -52
  86. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +9 -31
  87. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +23 -32
  88. package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +5 -1
  89. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +11 -23
  90. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +14 -9
  91. package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +516 -0
  92. package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +259 -0
  93. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +23 -6
  94. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +32 -13
  95. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +8 -8
  96. package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +2 -7
  97. package/vendor/abseil-cpp/absl/container/internal/layout.h +26 -42
  98. package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
  99. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +1506 -213
  100. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +1095 -1658
  101. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +3 -2
  102. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +31 -29
  103. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +51 -20
  104. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
  105. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +66 -0
  106. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +707 -363
  107. package/vendor/abseil-cpp/absl/container/node_hash_map.h +20 -15
  108. package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +0 -3
  109. package/vendor/abseil-cpp/absl/container/node_hash_set.h +18 -13
  110. package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +3 -8
  111. package/vendor/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +1 -1
  112. package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +9 -20
  113. package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +9 -20
  114. package/vendor/abseil-cpp/absl/copts/copts.py +24 -15
  115. package/vendor/abseil-cpp/absl/crc/BUILD.bazel +3 -0
  116. package/vendor/abseil-cpp/absl/crc/crc32c.cc +0 -4
  117. package/vendor/abseil-cpp/absl/crc/crc32c.h +7 -5
  118. package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +17 -4
  119. package/vendor/abseil-cpp/absl/crc/crc32c_test.cc +30 -0
  120. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +17 -0
  121. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.h +7 -1
  122. package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
  123. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +5 -0
  124. package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +136 -165
  125. package/vendor/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +90 -0
  126. package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +7 -0
  127. package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +4 -0
  128. package/vendor/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  129. package/vendor/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
  130. package/vendor/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
  131. package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +8 -35
  132. package/vendor/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
  133. package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +11 -10
  134. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -37
  135. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
  136. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_config.h +6 -5
  137. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
  138. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
  139. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
  140. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +13 -4
  141. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
  142. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
  143. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -14
  144. package/vendor/abseil-cpp/absl/debugging/internal/vdso_support.cc +4 -0
  145. package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +161 -27
  146. package/vendor/abseil-cpp/absl/debugging/stacktrace.h +73 -5
  147. package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +435 -1
  148. package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +55 -63
  149. package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
  150. package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
  151. package/vendor/abseil-cpp/absl/flags/BUILD.bazel +6 -0
  152. package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +3 -0
  153. package/vendor/abseil-cpp/absl/flags/commandlineflag.h +2 -2
  154. package/vendor/abseil-cpp/absl/flags/flag.h +4 -3
  155. package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
  156. package/vendor/abseil-cpp/absl/flags/internal/flag.cc +14 -13
  157. package/vendor/abseil-cpp/absl/flags/internal/flag.h +34 -34
  158. package/vendor/abseil-cpp/absl/flags/internal/program_name.cc +2 -2
  159. package/vendor/abseil-cpp/absl/flags/internal/registry.h +4 -3
  160. package/vendor/abseil-cpp/absl/flags/internal/usage.cc +2 -2
  161. package/vendor/abseil-cpp/absl/flags/parse.cc +10 -6
  162. package/vendor/abseil-cpp/absl/flags/reflection.cc +9 -7
  163. package/vendor/abseil-cpp/absl/flags/usage.cc +2 -2
  164. package/vendor/abseil-cpp/absl/flags/usage_config.cc +2 -2
  165. package/vendor/abseil-cpp/absl/functional/BUILD.bazel +7 -6
  166. package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +2 -4
  167. package/vendor/abseil-cpp/absl/functional/any_invocable.h +15 -15
  168. package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +10 -42
  169. package/vendor/abseil-cpp/absl/functional/function_ref.h +2 -9
  170. package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +10 -0
  171. package/vendor/abseil-cpp/absl/functional/function_type_benchmark.cc +1 -1
  172. package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +112 -227
  173. package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
  174. package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
  175. package/vendor/abseil-cpp/absl/functional/overload.h +0 -20
  176. package/vendor/abseil-cpp/absl/functional/overload_test.cc +1 -7
  177. package/vendor/abseil-cpp/absl/hash/BUILD.bazel +16 -9
  178. package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +6 -9
  179. package/vendor/abseil-cpp/absl/hash/hash.h +18 -0
  180. package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +3 -0
  181. package/vendor/abseil-cpp/absl/hash/hash_instantiated_test.cc +1 -1
  182. package/vendor/abseil-cpp/absl/hash/hash_test.cc +131 -30
  183. package/vendor/abseil-cpp/absl/hash/hash_testing.h +20 -20
  184. package/vendor/abseil-cpp/absl/hash/internal/hash.cc +129 -17
  185. package/vendor/abseil-cpp/absl/hash/internal/hash.h +326 -362
  186. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +54 -151
  187. package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +14 -2
  188. package/vendor/abseil-cpp/absl/{strings/cord_buffer.cc → hash/internal/weakly_mixed_integer.h} +14 -6
  189. package/vendor/abseil-cpp/absl/log/BUILD.bazel +4 -0
  190. package/vendor/abseil-cpp/absl/log/CMakeLists.txt +7 -0
  191. package/vendor/abseil-cpp/absl/log/check.h +2 -1
  192. package/vendor/abseil-cpp/absl/log/check_test_impl.inc +308 -14
  193. package/vendor/abseil-cpp/absl/log/die_if_null.h +2 -2
  194. package/vendor/abseil-cpp/absl/log/flags_test.cc +7 -0
  195. package/vendor/abseil-cpp/absl/log/globals.h +4 -5
  196. package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +13 -9
  197. package/vendor/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
  198. package/vendor/abseil-cpp/absl/log/internal/check_op.cc +24 -22
  199. package/vendor/abseil-cpp/absl/log/internal/check_op.h +149 -94
  200. package/vendor/abseil-cpp/absl/log/internal/conditions.cc +5 -3
  201. package/vendor/abseil-cpp/absl/log/internal/conditions.h +7 -2
  202. package/vendor/abseil-cpp/absl/log/internal/fnmatch_test.cc +1 -0
  203. package/vendor/abseil-cpp/absl/log/internal/log_message.cc +85 -43
  204. package/vendor/abseil-cpp/absl/log/internal/log_message.h +84 -59
  205. package/vendor/abseil-cpp/absl/log/internal/log_sink_set.cc +4 -4
  206. package/vendor/abseil-cpp/absl/log/internal/nullstream.h +1 -0
  207. package/vendor/abseil-cpp/absl/log/internal/proto.cc +3 -2
  208. package/vendor/abseil-cpp/absl/log/internal/proto.h +3 -3
  209. package/vendor/abseil-cpp/absl/log/internal/strip.h +4 -12
  210. package/vendor/abseil-cpp/absl/log/internal/structured.h +3 -7
  211. package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +9 -9
  212. package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
  213. package/vendor/abseil-cpp/absl/log/internal/voidify.h +10 -4
  214. package/vendor/abseil-cpp/absl/log/log.h +48 -35
  215. package/vendor/abseil-cpp/absl/log/log_basic_test_impl.inc +45 -0
  216. package/vendor/abseil-cpp/absl/log/log_entry.cc +241 -19
  217. package/vendor/abseil-cpp/absl/log/log_entry.h +2 -0
  218. package/vendor/abseil-cpp/absl/log/log_format_test.cc +412 -6
  219. package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +20 -0
  220. package/vendor/abseil-cpp/absl/log/log_sink_registry.h +2 -2
  221. package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +15 -2
  222. package/vendor/abseil-cpp/absl/log/scoped_mock_log.h +7 -1
  223. package/vendor/abseil-cpp/absl/log/structured_test.cc +1 -0
  224. package/vendor/abseil-cpp/absl/memory/BUILD.bazel +2 -0
  225. package/vendor/abseil-cpp/absl/meta/BUILD.bazel +2 -0
  226. package/vendor/abseil-cpp/absl/meta/type_traits.h +46 -175
  227. package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +1 -478
  228. package/vendor/abseil-cpp/absl/numeric/BUILD.bazel +7 -3
  229. package/vendor/abseil-cpp/absl/numeric/CMakeLists.txt +2 -0
  230. package/vendor/abseil-cpp/absl/numeric/bits.h +68 -2
  231. package/vendor/abseil-cpp/absl/numeric/bits_benchmark.cc +1 -1
  232. package/vendor/abseil-cpp/absl/numeric/bits_test.cc +83 -0
  233. package/vendor/abseil-cpp/absl/numeric/int128.cc +0 -52
  234. package/vendor/abseil-cpp/absl/numeric/int128_benchmark.cc +14 -15
  235. package/vendor/abseil-cpp/absl/numeric/int128_test.cc +13 -8
  236. package/vendor/abseil-cpp/absl/numeric/internal/bits.h +39 -7
  237. package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +47 -0
  238. package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +38 -0
  239. package/vendor/abseil-cpp/absl/profiling/hashtable.cc +124 -0
  240. package/vendor/abseil-cpp/absl/profiling/hashtable.h +40 -0
  241. package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
  242. package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +462 -0
  243. package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.h +138 -0
  244. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder.h +9 -9
  245. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +7 -3
  246. package/vendor/abseil-cpp/absl/random/BUILD.bazel +6 -4
  247. package/vendor/abseil-cpp/absl/random/CMakeLists.txt +20 -19
  248. package/vendor/abseil-cpp/absl/random/benchmarks.cc +16 -23
  249. package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +10 -11
  250. package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +7 -2
  251. package/vendor/abseil-cpp/absl/random/distributions.h +6 -8
  252. package/vendor/abseil-cpp/absl/random/gaussian_distribution.h +1 -1
  253. package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +19 -20
  254. package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +5 -6
  255. package/vendor/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +24 -92
  256. package/vendor/abseil-cpp/absl/{base/inline_variable_test_b.cc → random/internal/entropy_pool.h} +14 -6
  257. package/vendor/abseil-cpp/absl/random/internal/entropy_pool_test.cc +119 -0
  258. package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +6 -7
  259. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
  260. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +39 -0
  261. package/vendor/abseil-cpp/absl/random/internal/randen_benchmarks.cc +8 -6
  262. package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +1 -1
  263. package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
  264. package/vendor/abseil-cpp/absl/random/internal/seed_material.h +5 -5
  265. package/vendor/abseil-cpp/absl/random/internal/seed_material_test.cc +3 -0
  266. package/vendor/abseil-cpp/absl/random/mock_distributions_test.cc +5 -4
  267. package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +8 -10
  268. package/vendor/abseil-cpp/absl/random/random.h +88 -53
  269. package/vendor/abseil-cpp/absl/random/seed_sequences.cc +6 -2
  270. package/vendor/abseil-cpp/absl/status/BUILD.bazel +26 -0
  271. package/vendor/abseil-cpp/absl/status/internal/status_internal.cc +3 -4
  272. package/vendor/abseil-cpp/absl/status/internal/status_internal.h +3 -4
  273. package/vendor/abseil-cpp/absl/status/internal/status_matchers.cc +4 -3
  274. package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +194 -32
  275. package/vendor/abseil-cpp/absl/status/status.cc +4 -8
  276. package/vendor/abseil-cpp/absl/status/status.h +8 -8
  277. package/vendor/abseil-cpp/absl/{base/inline_variable_test_a.cc → status/status_benchmark.cc} +20 -10
  278. package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +65 -0
  279. package/vendor/abseil-cpp/absl/status/status_payload_printer.h +2 -2
  280. package/vendor/abseil-cpp/absl/status/statusor.cc +2 -2
  281. package/vendor/abseil-cpp/absl/status/statusor.h +49 -102
  282. package/vendor/abseil-cpp/absl/status/statusor_benchmark.cc +480 -0
  283. package/vendor/abseil-cpp/absl/status/statusor_test.cc +323 -1
  284. package/vendor/abseil-cpp/absl/strings/BUILD.bazel +70 -34
  285. package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +6 -3
  286. package/vendor/abseil-cpp/absl/strings/ascii.cc +9 -9
  287. package/vendor/abseil-cpp/absl/strings/ascii.h +18 -18
  288. package/vendor/abseil-cpp/absl/strings/ascii_benchmark.cc +5 -8
  289. package/vendor/abseil-cpp/absl/strings/charconv.cc +21 -22
  290. package/vendor/abseil-cpp/absl/strings/charconv.h +5 -5
  291. package/vendor/abseil-cpp/absl/strings/charconv_benchmark.cc +1 -2
  292. package/vendor/abseil-cpp/absl/strings/charset_benchmark.cc +1 -1
  293. package/vendor/abseil-cpp/absl/strings/cord.cc +54 -58
  294. package/vendor/abseil-cpp/absl/strings/cord.h +94 -84
  295. package/vendor/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
  296. package/vendor/abseil-cpp/absl/strings/cord_analysis.h +3 -3
  297. package/vendor/abseil-cpp/absl/strings/cord_test.cc +23 -0
  298. package/vendor/abseil-cpp/absl/strings/cordz_test_helpers.h +4 -5
  299. package/vendor/abseil-cpp/absl/strings/escaping.cc +130 -149
  300. package/vendor/abseil-cpp/absl/strings/escaping.h +9 -10
  301. package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +2 -3
  302. package/vendor/abseil-cpp/absl/strings/escaping_test.cc +19 -9
  303. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  304. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +1 -1
  305. package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +6 -10
  306. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
  307. package/vendor/abseil-cpp/absl/strings/internal/cordz_handle.cc +6 -6
  308. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +5 -9
  309. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +2 -4
  310. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +56 -0
  311. package/vendor/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +2 -3
  312. package/vendor/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +1 -2
  313. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
  314. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
  315. package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1 -6
  316. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
  317. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +3 -2
  318. package/vendor/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
  319. package/vendor/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  320. package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
  321. package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +7 -2
  322. package/vendor/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
  323. package/vendor/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
  324. package/vendor/abseil-cpp/absl/strings/internal/utf8.h +15 -1
  325. package/vendor/abseil-cpp/absl/strings/internal/utf8_test.cc +196 -3
  326. package/vendor/abseil-cpp/absl/strings/numbers.cc +53 -32
  327. package/vendor/abseil-cpp/absl/strings/numbers.h +87 -58
  328. package/vendor/abseil-cpp/absl/strings/numbers_benchmark.cc +1 -1
  329. package/vendor/abseil-cpp/absl/strings/numbers_test.cc +634 -120
  330. package/vendor/abseil-cpp/absl/strings/str_cat.cc +6 -7
  331. package/vendor/abseil-cpp/absl/strings/str_cat.h +32 -32
  332. package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +25 -1
  333. package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +2 -7
  334. package/vendor/abseil-cpp/absl/strings/str_format.h +18 -18
  335. package/vendor/abseil-cpp/absl/strings/str_format_test.cc +8 -14
  336. package/vendor/abseil-cpp/absl/strings/str_join_benchmark.cc +2 -3
  337. package/vendor/abseil-cpp/absl/strings/str_replace.cc +3 -3
  338. package/vendor/abseil-cpp/absl/strings/str_replace.h +6 -6
  339. package/vendor/abseil-cpp/absl/strings/str_replace_benchmark.cc +2 -3
  340. package/vendor/abseil-cpp/absl/strings/str_split.h +2 -2
  341. package/vendor/abseil-cpp/absl/strings/str_split_benchmark.cc +2 -3
  342. package/vendor/abseil-cpp/absl/strings/string_view.cc +4 -9
  343. package/vendor/abseil-cpp/absl/strings/string_view.h +38 -39
  344. package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +4 -6
  345. package/vendor/abseil-cpp/absl/strings/string_view_test.cc +2 -50
  346. package/vendor/abseil-cpp/absl/strings/strip.h +4 -4
  347. package/vendor/abseil-cpp/absl/strings/substitute.cc +5 -4
  348. package/vendor/abseil-cpp/absl/strings/substitute.h +66 -64
  349. package/vendor/abseil-cpp/absl/strings/substitute_benchmark.cc +158 -0
  350. package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +6 -1
  351. package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +2 -1
  352. package/vendor/abseil-cpp/absl/synchronization/barrier.cc +1 -1
  353. package/vendor/abseil-cpp/absl/synchronization/barrier_test.cc +3 -3
  354. package/vendor/abseil-cpp/absl/synchronization/blocking_counter.cc +2 -2
  355. package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +3 -3
  356. package/vendor/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
  357. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles.cc +30 -33
  358. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +2 -3
  359. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +6 -5
  360. package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
  361. package/vendor/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
  362. package/vendor/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
  363. package/vendor/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
  364. package/vendor/abseil-cpp/absl/synchronization/internal/thread_pool.h +3 -3
  365. package/vendor/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
  366. package/vendor/abseil-cpp/absl/synchronization/internal/waiter_test.cc +12 -3
  367. package/vendor/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
  368. package/vendor/abseil-cpp/absl/synchronization/lifetime_test.cc +4 -4
  369. package/vendor/abseil-cpp/absl/synchronization/mutex.cc +27 -29
  370. package/vendor/abseil-cpp/absl/synchronization/mutex.h +205 -126
  371. package/vendor/abseil-cpp/absl/synchronization/mutex_benchmark.cc +13 -31
  372. package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +183 -169
  373. package/vendor/abseil-cpp/absl/synchronization/notification.cc +5 -5
  374. package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
  375. package/vendor/abseil-cpp/absl/synchronization/notification_test.cc +3 -3
  376. package/vendor/abseil-cpp/absl/time/BUILD.bazel +9 -1
  377. package/vendor/abseil-cpp/absl/time/CMakeLists.txt +3 -1
  378. package/vendor/abseil-cpp/absl/time/civil_time.cc +1 -0
  379. package/vendor/abseil-cpp/absl/time/civil_time_test.cc +134 -0
  380. package/vendor/abseil-cpp/absl/time/clock.cc +11 -14
  381. package/vendor/abseil-cpp/absl/time/duration.cc +14 -9
  382. package/vendor/abseil-cpp/absl/time/duration_test.cc +6 -7
  383. package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +14 -3
  384. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +12 -0
  385. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
  386. package/vendor/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +4 -490
  387. package/vendor/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +515 -0
  388. package/vendor/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
  389. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +41 -4
  390. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +22 -23
  391. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +90 -111
  392. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +1 -488
  393. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
  394. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
  395. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  396. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  397. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +2 -1
  398. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +1 -1
  399. package/vendor/abseil-cpp/absl/time/time.h +24 -18
  400. package/vendor/abseil-cpp/absl/time/time_test.cc +26 -0
  401. package/vendor/abseil-cpp/absl/types/BUILD.bazel +11 -164
  402. package/vendor/abseil-cpp/absl/types/CMakeLists.txt +23 -167
  403. package/vendor/abseil-cpp/absl/types/any.h +9 -484
  404. package/vendor/abseil-cpp/absl/types/optional.h +7 -747
  405. package/vendor/abseil-cpp/absl/types/span.h +46 -19
  406. package/vendor/abseil-cpp/absl/types/span_test.cc +27 -0
  407. package/vendor/abseil-cpp/absl/types/variant.h +5 -784
  408. package/vendor/abseil-cpp/absl/types/variant_test.cc +43 -2597
  409. package/vendor/abseil-cpp/absl/utility/BUILD.bazel +1 -41
  410. package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +0 -40
  411. package/vendor/abseil-cpp/absl/utility/utility.h +10 -185
  412. package/vendor/abseil-cpp/ci/absl_alternate_options.h +2 -3
  413. package/vendor/abseil-cpp/ci/cmake_common.sh +2 -2
  414. package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +12 -13
  415. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +24 -21
  416. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +12 -12
  417. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +23 -22
  418. package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +20 -19
  419. package/vendor/abseil-cpp/ci/linux_docker_containers.sh +4 -4
  420. package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +17 -17
  421. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +10 -10
  422. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +1 -1
  423. package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +1 -1
  424. package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +9 -10
  425. package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +9 -1
  426. package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +14 -6
  427. package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +14 -6
  428. package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +1 -1
  429. package/vendor/re2/.bazelrc +4 -4
  430. package/vendor/re2/.bcr/metadata.template.json +16 -0
  431. package/vendor/re2/.bcr/presubmit.yml +57 -0
  432. package/vendor/re2/.bcr/source.template.json +5 -0
  433. package/vendor/re2/.github/bazel.sh +1 -7
  434. package/vendor/re2/.github/workflows/ci-bazel.yml +5 -5
  435. package/vendor/re2/.github/workflows/ci-cmake.yml +4 -4
  436. package/vendor/re2/.github/workflows/ci.yml +5 -6
  437. package/vendor/re2/.github/workflows/pages.yml +3 -3
  438. package/vendor/re2/.github/workflows/python.yml +29 -24
  439. package/vendor/re2/.github/workflows/release-bazel.yml +42 -0
  440. package/vendor/re2/.github/workflows/release.yml +15 -4
  441. package/vendor/re2/BUILD.bazel +25 -0
  442. package/vendor/re2/CMakeLists.txt +100 -85
  443. package/vendor/re2/CONTRIBUTING.md +0 -1
  444. package/vendor/re2/MODULE.bazel +10 -10
  445. package/vendor/re2/Makefile +1 -1
  446. package/vendor/re2/README.md +259 -0
  447. package/vendor/re2/python/BUILD.bazel +8 -0
  448. package/vendor/re2/python/re2.py +1 -1
  449. package/vendor/re2/python/re2_test.py +6 -0
  450. package/vendor/re2/python/setup.py +3 -3
  451. package/vendor/re2/re2/bitmap256.cc +3 -4
  452. package/vendor/re2/re2/bitstate.cc +15 -10
  453. package/vendor/re2/re2/dfa.cc +1 -2
  454. package/vendor/re2/re2/parse.cc +3 -4
  455. package/vendor/re2/re2/prog.cc +1 -2
  456. package/vendor/re2/re2/prog.h +1 -0
  457. package/vendor/re2/re2/re2.cc +5 -0
  458. package/vendor/re2/re2/re2.h +9 -9
  459. package/vendor/re2/re2/set.cc +6 -0
  460. package/vendor/re2/re2/set.h +5 -0
  461. package/vendor/re2/re2/testing/re2_arg_test.cc +3 -3
  462. package/vendor/re2/re2/testing/re2_test.cc +8 -0
  463. package/vendor/re2/re2/testing/set_test.cc +5 -0
  464. package/vendor/re2/re2/walker-inl.h +1 -1
  465. package/vendor/abseil-cpp/WORKSPACE +0 -76
  466. package/vendor/abseil-cpp/WORKSPACE.bzlmod +0 -19
  467. package/vendor/abseil-cpp/absl/base/inline_variable_test.cc +0 -64
  468. package/vendor/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
  469. package/vendor/abseil-cpp/absl/base/internal/inline_variable_testing.h +0 -46
  470. package/vendor/abseil-cpp/absl/base/internal/invoke.h +0 -241
  471. package/vendor/abseil-cpp/absl/base/internal/nullability_impl.h +0 -69
  472. package/vendor/abseil-cpp/absl/base/invoke_test.cc +0 -331
  473. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.cc +0 -148
  474. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.h +0 -54
  475. package/vendor/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  476. package/vendor/abseil-cpp/absl/random/internal/pool_urbg_test.cc +0 -182
  477. package/vendor/abseil-cpp/absl/types/any_exception_safety_test.cc +0 -173
  478. package/vendor/abseil-cpp/absl/types/any_test.cc +0 -778
  479. package/vendor/abseil-cpp/absl/types/bad_any_cast.cc +0 -64
  480. package/vendor/abseil-cpp/absl/types/bad_any_cast.h +0 -75
  481. package/vendor/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
  482. package/vendor/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  483. package/vendor/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
  484. package/vendor/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  485. package/vendor/abseil-cpp/absl/types/internal/optional.h +0 -352
  486. package/vendor/abseil-cpp/absl/types/internal/variant.h +0 -1622
  487. package/vendor/abseil-cpp/absl/types/optional_exception_safety_test.cc +0 -292
  488. package/vendor/abseil-cpp/absl/types/optional_test.cc +0 -1615
  489. package/vendor/abseil-cpp/absl/types/variant_benchmark.cc +0 -222
  490. package/vendor/abseil-cpp/absl/types/variant_exception_safety_test.cc +0 -532
  491. package/vendor/abseil-cpp/absl/utility/internal/if_constexpr.h +0 -70
  492. package/vendor/abseil-cpp/absl/utility/internal/if_constexpr_test.cc +0 -79
  493. package/vendor/abseil-cpp/absl/utility/utility_test.cc +0 -239
  494. package/vendor/re2/.github/workflows/pr.yml +0 -34
  495. package/vendor/re2/README +0 -47
@@ -18,6 +18,7 @@
18
18
 
19
19
  #include <cstdint>
20
20
  #include <limits>
21
+ #include <mutex> // NOLINT(build/c++11)
21
22
  #include <random>
22
23
  #include <thread> // NOLINT(build/c++11)
23
24
  #include <type_traits>
@@ -60,30 +61,47 @@ namespace {
60
61
  static constexpr size_t kArrayLength = 10;
61
62
  static uint32_t values[kArrayLength];
62
63
 
63
- ABSL_CONST_INIT static SpinLock static_cooperative_spinlock(
64
- absl::kConstInit, base_internal::SCHEDULE_COOPERATIVE_AND_KERNEL);
64
+ ABSL_CONST_INIT static SpinLock static_cooperative_spinlock;
65
65
  ABSL_CONST_INIT static SpinLock static_noncooperative_spinlock(
66
- absl::kConstInit, base_internal::SCHEDULE_KERNEL_ONLY);
66
+ base_internal::SCHEDULE_KERNEL_ONLY);
67
67
 
68
68
  // Simple integer hash function based on the public domain lookup2 hash.
69
69
  // http://burtleburtle.net/bob/c/lookup2.c
70
70
  static uint32_t Hash32(uint32_t a, uint32_t c) {
71
71
  uint32_t b = 0x9e3779b9UL; // The golden ratio; an arbitrary value.
72
- a -= b; a -= c; a ^= (c >> 13);
73
- b -= c; b -= a; b ^= (a << 8);
74
- c -= a; c -= b; c ^= (b >> 13);
75
- a -= b; a -= c; a ^= (c >> 12);
76
- b -= c; b -= a; b ^= (a << 16);
77
- c -= a; c -= b; c ^= (b >> 5);
78
- a -= b; a -= c; a ^= (c >> 3);
79
- b -= c; b -= a; b ^= (a << 10);
80
- c -= a; c -= b; c ^= (b >> 15);
72
+ a -= b;
73
+ a -= c;
74
+ a ^= (c >> 13);
75
+ b -= c;
76
+ b -= a;
77
+ b ^= (a << 8);
78
+ c -= a;
79
+ c -= b;
80
+ c ^= (b >> 13);
81
+ a -= b;
82
+ a -= c;
83
+ a ^= (c >> 12);
84
+ b -= c;
85
+ b -= a;
86
+ b ^= (a << 16);
87
+ c -= a;
88
+ c -= b;
89
+ c ^= (b >> 5);
90
+ a -= b;
91
+ a -= c;
92
+ a ^= (c >> 3);
93
+ b -= c;
94
+ b -= a;
95
+ b ^= (a << 10);
96
+ c -= a;
97
+ c -= b;
98
+ c ^= (b >> 15);
81
99
  return c;
82
100
  }
83
101
 
84
102
  static void TestFunction(uint32_t thread_salt, SpinLock* spinlock) {
85
103
  for (int i = 0; i < kIters; i++) {
86
- SpinLockHolder h(spinlock);
104
+ SpinLockHolder h(*spinlock);
87
105
  for (size_t j = 0; j < kArrayLength; j++) {
88
106
  const size_t index = (j + thread_salt) % kArrayLength;
89
107
  values[index] = Hash32(values[index], thread_salt);
@@ -102,7 +120,7 @@ static void ThreadedTest(SpinLock* spinlock) {
102
120
  thread.join();
103
121
  }
104
122
 
105
- SpinLockHolder h(spinlock);
123
+ SpinLockHolder h(*spinlock);
106
124
  for (size_t i = 1; i < kArrayLength; i++) {
107
125
  EXPECT_EQ(values[0], values[i]);
108
126
  }
@@ -114,15 +132,13 @@ static_assert(std::is_trivially_destructible<SpinLock>(), "");
114
132
 
115
133
  TEST(SpinLock, StackNonCooperativeDisablesScheduling) {
116
134
  SpinLock spinlock(base_internal::SCHEDULE_KERNEL_ONLY);
117
- spinlock.Lock();
135
+ SpinLockHolder l(spinlock);
118
136
  EXPECT_FALSE(base_internal::SchedulingGuard::ReschedulingIsAllowed());
119
- spinlock.Unlock();
120
137
  }
121
138
 
122
139
  TEST(SpinLock, StaticNonCooperativeDisablesScheduling) {
123
- static_noncooperative_spinlock.Lock();
140
+ SpinLockHolder l(static_noncooperative_spinlock);
124
141
  EXPECT_FALSE(base_internal::SchedulingGuard::ReschedulingIsAllowed());
125
- static_noncooperative_spinlock.Unlock();
126
142
  }
127
143
 
128
144
  TEST(SpinLock, WaitCyclesEncoding) {
@@ -134,7 +150,7 @@ TEST(SpinLock, WaitCyclesEncoding) {
134
150
  // We should be able to encode up to (1^kMaxCycleBits - 1) without clamping
135
151
  // but the lower kProfileTimestampShift will be dropped.
136
152
  const int kMaxCyclesShift =
137
- 32 - kLockwordReservedShift + kProfileTimestampShift;
153
+ 32 - kLockwordReservedShift + kProfileTimestampShift;
138
154
  const int64_t kMaxCycles = (int64_t{1} << kMaxCyclesShift) - 1;
139
155
 
140
156
  // These bits should be zero after encoding.
@@ -171,22 +187,22 @@ TEST(SpinLock, WaitCyclesEncoding) {
171
187
  SpinLockTest::DecodeWaitCycles(~kLockwordReservedMask));
172
188
 
173
189
  // Check that we cannot produce kSpinLockSleeper during encoding.
174
- int64_t sleeper_cycles =
175
- kSpinLockSleeper << (kProfileTimestampShift - kLockwordReservedShift);
190
+ int64_t sleeper_cycles = kSpinLockSleeper
191
+ << (kProfileTimestampShift - kLockwordReservedShift);
176
192
  uint32_t sleeper_value =
177
193
  SpinLockTest::EncodeWaitCycles(start_time, start_time + sleeper_cycles);
178
194
  EXPECT_NE(sleeper_value, kSpinLockSleeper);
179
195
 
180
196
  // Test clamping
181
197
  uint32_t max_value =
182
- SpinLockTest::EncodeWaitCycles(start_time, start_time + kMaxCycles);
198
+ SpinLockTest::EncodeWaitCycles(start_time, start_time + kMaxCycles);
183
199
  int64_t max_value_decoded = SpinLockTest::DecodeWaitCycles(max_value);
184
200
  int64_t expected_max_value_decoded = kMaxCycles & ~kProfileTimestampMask;
185
201
  EXPECT_EQ(expected_max_value_decoded, max_value_decoded);
186
202
 
187
203
  const int64_t step = (1 << kProfileTimestampShift);
188
- uint32_t after_max_value =
189
- SpinLockTest::EncodeWaitCycles(start_time, start_time + kMaxCycles + step);
204
+ uint32_t after_max_value = SpinLockTest::EncodeWaitCycles(
205
+ start_time, start_time + kMaxCycles + step);
190
206
  int64_t after_max_value_decoded =
191
207
  SpinLockTest::DecodeWaitCycles(after_max_value);
192
208
  EXPECT_EQ(expected_max_value_decoded, after_max_value_decoded);
@@ -204,7 +220,7 @@ TEST(SpinLockWithThreads, StackSpinLock) {
204
220
  }
205
221
 
206
222
  TEST(SpinLockWithThreads, StackCooperativeSpinLock) {
207
- SpinLock spinlock(base_internal::SCHEDULE_COOPERATIVE_AND_KERNEL);
223
+ SpinLock spinlock;
208
224
  ThreadedTest(&spinlock);
209
225
  }
210
226
 
@@ -227,12 +243,12 @@ TEST(SpinLockWithThreads, DoesNotDeadlock) {
227
243
  BlockingCounter* b) {
228
244
  locked->WaitForNotification(); // Wait for LockThenWait() to hold "s".
229
245
  b->DecrementCount();
230
- SpinLockHolder l(spinlock);
246
+ SpinLockHolder l(*spinlock);
231
247
  }
232
248
 
233
249
  static void LockThenWait(Notification* locked, SpinLock* spinlock,
234
250
  BlockingCounter* b) {
235
- SpinLockHolder l(spinlock);
251
+ SpinLockHolder l(*spinlock);
236
252
  locked->Notify();
237
253
  b->Wait();
238
254
  }
@@ -255,8 +271,7 @@ TEST(SpinLockWithThreads, DoesNotDeadlock) {
255
271
  }
256
272
  };
257
273
 
258
- SpinLock stack_cooperative_spinlock(
259
- base_internal::SCHEDULE_COOPERATIVE_AND_KERNEL);
274
+ SpinLock stack_cooperative_spinlock;
260
275
  SpinLock stack_noncooperative_spinlock(base_internal::SCHEDULE_KERNEL_ONLY);
261
276
  Helper::DeadlockTest(&stack_cooperative_spinlock,
262
277
  base_internal::NumCPUs() * 2);
@@ -272,13 +287,18 @@ TEST(SpinLockTest, IsCooperative) {
272
287
  SpinLock default_constructor;
273
288
  EXPECT_TRUE(SpinLockTest::IsCooperative(default_constructor));
274
289
 
275
- SpinLock cooperative(base_internal::SCHEDULE_COOPERATIVE_AND_KERNEL);
290
+ SpinLock cooperative;
276
291
  EXPECT_TRUE(SpinLockTest::IsCooperative(cooperative));
277
292
 
278
293
  SpinLock kernel_only(base_internal::SCHEDULE_KERNEL_ONLY);
279
294
  EXPECT_FALSE(SpinLockTest::IsCooperative(kernel_only));
280
295
  }
281
296
 
297
+ TEST(SpinLockTest, ScopedLock) {
298
+ SpinLock s;
299
+ std::scoped_lock l(s);
300
+ }
301
+
282
302
  } // namespace
283
303
  } // namespace base_internal
284
304
  ABSL_NAMESPACE_END
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ load("@rules_cc//cc:cc_library.bzl", "cc_library")
16
+ load("@rules_cc//cc:cc_test.bzl", "cc_test")
15
17
  load(
16
18
  "//absl:copts/configure_copts.bzl",
17
19
  "ABSL_DEFAULT_COPTS",
@@ -36,7 +38,6 @@ cc_library(
36
38
  copts = ABSL_DEFAULT_COPTS,
37
39
  linkopts = ABSL_DEFAULT_LINKOPTS,
38
40
  deps = [
39
- "//absl/base:base_internal",
40
41
  "//absl/base:core_headers",
41
42
  "//absl/utility",
42
43
  ],
@@ -21,7 +21,6 @@ absl_cc_library(
21
21
  COPTS
22
22
  ${ABSL_DEFAULT_COPTS}
23
23
  DEPS
24
- absl::base_internal
25
24
  absl::core_headers
26
25
  absl::utility
27
26
  PUBLIC
@@ -78,7 +78,7 @@ namespace absl {
78
78
  ABSL_NAMESPACE_BEGIN
79
79
 
80
80
  template <typename Arg, typename Callback = void()>
81
- class ABSL_MUST_USE_RESULT Cleanup final {
81
+ class [[nodiscard]] Cleanup final {
82
82
  static_assert(cleanup_internal::WasDeduced<Arg>(),
83
83
  "Explicit template parameters are not supported.");
84
84
 
@@ -115,10 +115,8 @@ class ABSL_MUST_USE_RESULT Cleanup final {
115
115
  // `absl::Cleanup c = /* callback */;`
116
116
  //
117
117
  // C++17 type deduction API for creating an instance of `absl::Cleanup`
118
- #if defined(ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION)
119
118
  template <typename Callback>
120
119
  Cleanup(Callback callback) -> Cleanup<cleanup_internal::Tag, Callback>;
121
- #endif // defined(ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION)
122
120
 
123
121
  // `auto c = absl::MakeCleanup(/* callback */);`
124
122
  //
@@ -116,7 +116,6 @@ TYPED_TEST(CleanupTest, FactoryProducesCorrectType) {
116
116
  }
117
117
  }
118
118
 
119
- #if defined(ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION)
120
119
  TYPED_TEST(CleanupTest, CTADProducesCorrectType) {
121
120
  {
122
121
  auto callback = TypeParam::AsCallback([] {});
@@ -186,7 +185,6 @@ TYPED_TEST(CleanupTest, FactoryAndCTADProduceSameType) {
186
185
  IsSame<decltype(factory_cleanup), decltype(deduction_cleanup)>(), "");
187
186
  }
188
187
  }
189
- #endif // defined(ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION)
190
188
 
191
189
  TYPED_TEST(CleanupTest, BasicUsage) {
192
190
  bool called = false;
@@ -19,7 +19,6 @@
19
19
  #include <type_traits>
20
20
  #include <utility>
21
21
 
22
- #include "absl/base/internal/invoke.h"
23
22
  #include "absl/base/macros.h"
24
23
  #include "absl/base/thread_annotations.h"
25
24
  #include "absl/utility/utility.h"
@@ -39,7 +38,7 @@ constexpr bool WasDeduced() {
39
38
 
40
39
  template <typename Callback>
41
40
  constexpr bool ReturnsVoid() {
42
- return (std::is_same<base_internal::invoke_result_t<Callback>, void>::value);
41
+ return (std::is_same<std::invoke_result_t<Callback>, void>::value);
43
42
  }
44
43
 
45
44
  template <typename Callback>
@@ -70,7 +69,7 @@ class Storage {
70
69
 
71
70
  Storage& operator=(const Storage& other) = delete;
72
71
 
73
- void* GetCallbackBuffer() { return static_cast<void*>(+callback_buffer_); }
72
+ void* GetCallbackBuffer() { return static_cast<void*>(callback_buffer_); }
74
73
 
75
74
  Callback& GetCallback() {
76
75
  return *reinterpret_cast<Callback*>(GetCallbackBuffer());
@@ -89,7 +88,7 @@ class Storage {
89
88
 
90
89
  private:
91
90
  bool is_callback_engaged_;
92
- alignas(Callback) char callback_buffer_[sizeof(Callback)];
91
+ alignas(Callback) unsigned char callback_buffer_[sizeof(Callback)];
93
92
  };
94
93
 
95
94
  } // namespace cleanup_internal
@@ -14,6 +14,9 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
+ load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
18
+ load("@rules_cc//cc:cc_library.bzl", "cc_library")
19
+ load("@rules_cc//cc:cc_test.bzl", "cc_test")
17
20
  load(
18
21
  "//absl:copts/configure_copts.bzl",
19
22
  "ABSL_DEFAULT_COPTS",
@@ -70,7 +73,9 @@ cc_library(
70
73
  "//absl/base:config",
71
74
  "//absl/base:core_headers",
72
75
  "//absl/base:dynamic_annotations",
76
+ "//absl/base:iterator_traits_internal",
73
77
  "//absl/base:throw_delegate",
78
+ "//absl/hash:weakly_mixed_integer",
74
79
  "//absl/memory",
75
80
  ],
76
81
  )
@@ -85,6 +90,7 @@ cc_test(
85
90
  ":test_allocator",
86
91
  "//absl/base:config",
87
92
  "//absl/base:exception_testing",
93
+ "//absl/base:iterator_traits_test_helper",
88
94
  "//absl/hash:hash_testing",
89
95
  "//absl/memory",
90
96
  "@googletest//:gtest",
@@ -144,7 +150,9 @@ cc_library(
144
150
  ":inlined_vector_internal",
145
151
  "//absl/algorithm",
146
152
  "//absl/base:core_headers",
153
+ "//absl/base:iterator_traits_internal",
147
154
  "//absl/base:throw_delegate",
155
+ "//absl/hash:weakly_mixed_integer",
148
156
  "//absl/memory",
149
157
  "//absl/meta:type_traits",
150
158
  ],
@@ -171,6 +179,7 @@ cc_test(
171
179
  "//absl/base:config",
172
180
  "//absl/base:core_headers",
173
181
  "//absl/base:exception_testing",
182
+ "//absl/base:iterator_traits_test_helper",
174
183
  "//absl/hash:hash_testing",
175
184
  "//absl/log:check",
176
185
  "//absl/memory",
@@ -404,6 +413,7 @@ cc_library(
404
413
  linkopts = ABSL_DEFAULT_LINKOPTS,
405
414
  deps = [
406
415
  "//absl/base:config",
416
+ "//absl/hash",
407
417
  "//absl/memory",
408
418
  "//absl/meta:type_traits",
409
419
  "//absl/utility",
@@ -488,6 +498,7 @@ cc_library(
488
498
  "//absl/base:no_destructor",
489
499
  "//absl/memory",
490
500
  "//absl/meta:type_traits",
501
+ "//absl/random",
491
502
  "//absl/strings",
492
503
  ],
493
504
  )
@@ -523,6 +534,7 @@ cc_library(
523
534
  linkopts = ABSL_DEFAULT_LINKOPTS,
524
535
  deps = [
525
536
  ":common_policy_traits",
537
+ ":container_memory",
526
538
  "//absl/meta:type_traits",
527
539
  ],
528
540
  )
@@ -619,6 +631,7 @@ cc_test(
619
631
  "//absl/base:config",
620
632
  "//absl/base:core_headers",
621
633
  "//absl/profiling:sample_recorder",
634
+ "//absl/random",
622
635
  "//absl/synchronization",
623
636
  "//absl/synchronization:thread_pool",
624
637
  "//absl/time",
@@ -655,11 +668,13 @@ cc_library(
655
668
  copts = ABSL_DEFAULT_COPTS,
656
669
  linkopts = ABSL_DEFAULT_LINKOPTS,
657
670
  deps = [
671
+ ":common_policy_traits",
658
672
  ":container_memory",
659
673
  ":raw_hash_set",
660
674
  "//absl/base:config",
661
675
  "//absl/base:core_headers",
662
676
  "//absl/base:throw_delegate",
677
+ "//absl/meta:type_traits",
663
678
  ],
664
679
  )
665
680
 
@@ -674,6 +689,53 @@ cc_library(
674
689
  ],
675
690
  )
676
691
 
692
+ cc_library(
693
+ name = "hashtable_control_bytes",
694
+ hdrs = ["internal/hashtable_control_bytes.h"],
695
+ copts = ABSL_DEFAULT_COPTS,
696
+ linkopts = ABSL_DEFAULT_LINKOPTS,
697
+ deps = [
698
+ "//absl/base:config",
699
+ "//absl/base:core_headers",
700
+ "//absl/base:endian",
701
+ "//absl/numeric:bits",
702
+ ],
703
+ )
704
+
705
+ cc_test(
706
+ name = "hashtable_control_bytes_test",
707
+ srcs = ["internal/hashtable_control_bytes_test.cc"],
708
+ copts = ABSL_TEST_COPTS,
709
+ linkopts = ABSL_DEFAULT_LINKOPTS,
710
+ deps = [
711
+ ":hashtable_control_bytes",
712
+ "//absl/base:config",
713
+ "@googletest//:gtest",
714
+ "@googletest//:gtest_main",
715
+ ],
716
+ )
717
+
718
+ cc_library(
719
+ name = "raw_hash_set_resize_impl",
720
+ hdrs = ["internal/raw_hash_set_resize_impl.h"],
721
+ copts = ABSL_DEFAULT_COPTS,
722
+ linkopts = ABSL_DEFAULT_LINKOPTS,
723
+ deps = ["//absl/base:config"],
724
+ )
725
+
726
+ cc_test(
727
+ name = "raw_hash_set_resize_impl_test",
728
+ srcs = ["internal/raw_hash_set_resize_impl_test.cc"],
729
+ copts = ABSL_TEST_COPTS,
730
+ linkopts = ABSL_DEFAULT_LINKOPTS,
731
+ deps = [
732
+ ":raw_hash_set_resize_impl",
733
+ "//absl/base:config",
734
+ "@googletest//:gtest",
735
+ "@googletest//:gtest_main",
736
+ ],
737
+ )
738
+
677
739
  cc_library(
678
740
  name = "raw_hash_set",
679
741
  srcs = ["internal/raw_hash_set.cc"],
@@ -687,15 +749,21 @@ cc_library(
687
749
  ":container_memory",
688
750
  ":hash_function_defaults",
689
751
  ":hash_policy_traits",
752
+ ":hashtable_control_bytes",
690
753
  ":hashtable_debug_hooks",
691
754
  ":hashtablez_sampler",
755
+ ":raw_hash_set_resize_impl",
756
+ "//absl/base",
692
757
  "//absl/base:config",
693
758
  "//absl/base:core_headers",
694
759
  "//absl/base:dynamic_annotations",
695
760
  "//absl/base:endian",
761
+ "//absl/base:iterator_traits_internal",
696
762
  "//absl/base:prefetch",
697
763
  "//absl/base:raw_logging_internal",
764
+ "//absl/functional:function_ref",
698
765
  "//absl/hash",
766
+ "//absl/hash:weakly_mixed_integer",
699
767
  "//absl/memory",
700
768
  "//absl/meta:type_traits",
701
769
  "//absl/numeric:bits",
@@ -719,10 +787,12 @@ cc_test(
719
787
  ":flat_hash_set",
720
788
  ":hash_function_defaults",
721
789
  ":hash_policy_testing",
790
+ ":hashtable_control_bytes",
722
791
  ":hashtable_debug",
723
792
  ":hashtablez_sampler",
724
793
  ":node_hash_set",
725
794
  ":raw_hash_set",
795
+ ":raw_hash_set_resize_impl",
726
796
  ":test_allocator",
727
797
  ":test_instance_tracker",
728
798
  "//absl/base",
@@ -735,6 +805,8 @@ cc_test(
735
805
  "//absl/log:check",
736
806
  "//absl/memory",
737
807
  "//absl/meta:type_traits",
808
+ "//absl/numeric:int128",
809
+ "//absl/random",
738
810
  "//absl/strings",
739
811
  "//absl/types:optional",
740
812
  "@googletest//:gtest",
@@ -1008,6 +1080,7 @@ cc_test(
1008
1080
  deps = [
1009
1081
  ":flat_hash_map",
1010
1082
  ":flat_hash_set",
1083
+ ":hashtablez_sampler",
1011
1084
  ":node_hash_map",
1012
1085
  ":node_hash_set",
1013
1086
  "@googletest//:gtest",
@@ -1038,6 +1111,7 @@ cc_library(
1038
1111
  "//absl/base:core_headers",
1039
1112
  "//absl/base:raw_logging_internal",
1040
1113
  "//absl/base:throw_delegate",
1114
+ "//absl/hash:weakly_mixed_integer",
1041
1115
  "//absl/memory",
1042
1116
  "//absl/meta:type_traits",
1043
1117
  "//absl/strings",
@@ -1123,6 +1197,5 @@ cc_binary(
1123
1197
  "//absl/strings:str_format",
1124
1198
  "//absl/time",
1125
1199
  "@google_benchmark//:benchmark_main",
1126
- "@googletest//:gtest",
1127
1200
  ],
1128
1201
  )
@@ -41,6 +41,7 @@ absl_cc_library(
41
41
  absl::strings
42
42
  absl::throw_delegate
43
43
  absl::type_traits
44
+ absl::weakly_mixed_integer
44
45
  )
45
46
 
46
47
  # Internal-only target, do not depend on directly.
@@ -131,8 +132,10 @@ absl_cc_library(
131
132
  absl::config
132
133
  absl::core_headers
133
134
  absl::dynamic_annotations
135
+ absl::iterator_traits_internal
134
136
  absl::throw_delegate
135
137
  absl::memory
138
+ absl::weakly_mixed_integer
136
139
  PUBLIC
137
140
  )
138
141
 
@@ -148,6 +151,7 @@ absl_cc_test(
148
151
  absl::config
149
152
  absl::exception_testing
150
153
  absl::hash_testing
154
+ absl::iterator_traits_test_helper_internal
151
155
  absl::memory
152
156
  absl::test_allocator
153
157
  GTest::gmock_main
@@ -200,6 +204,7 @@ absl_cc_library(
200
204
  absl::throw_delegate
201
205
  absl::memory
202
206
  absl::type_traits
207
+ absl::weakly_mixed_integer
203
208
  PUBLIC
204
209
  )
205
210
 
@@ -464,6 +469,7 @@ absl_cc_library(
464
469
  ${ABSL_DEFAULT_COPTS}
465
470
  DEPS
466
471
  absl::config
472
+ absl::hash
467
473
  absl::memory
468
474
  absl::type_traits
469
475
  absl::utility
@@ -538,6 +544,7 @@ absl_cc_library(
538
544
  absl::memory
539
545
  absl::meta
540
546
  absl::no_destructor
547
+ absl::random_random
541
548
  absl::strings
542
549
  TESTONLY
543
550
  )
@@ -577,6 +584,7 @@ absl_cc_library(
577
584
  COPTS
578
585
  ${ABSL_DEFAULT_COPTS}
579
586
  DEPS
587
+ absl::container_memory
580
588
  absl::common_policy_traits
581
589
  absl::meta
582
590
  PUBLIC
@@ -653,6 +661,7 @@ absl_cc_test(
653
661
  DEPS
654
662
  absl::config
655
663
  absl::hashtablez_sampler
664
+ absl::random_random
656
665
  GTest::gmock_main
657
666
  )
658
667
 
@@ -718,9 +727,11 @@ absl_cc_library(
718
727
  ${ABSL_DEFAULT_COPTS}
719
728
  DEPS
720
729
  absl::config
730
+ absl::common_policy_traits
721
731
  absl::container_memory
722
732
  absl::core_headers
723
733
  absl::raw_hash_set
734
+ absl::type_traits
724
735
  absl::throw_delegate
725
736
  PUBLIC
726
737
  )
@@ -737,6 +748,34 @@ absl_cc_library(
737
748
  absl::type_traits
738
749
  )
739
750
 
751
+ # Internal-only target, do not depend on directly.
752
+ absl_cc_library(
753
+ NAME
754
+ hashtable_control_bytes
755
+ HDRS
756
+ "internal/hashtable_control_bytes.h"
757
+ COPTS
758
+ ${ABSL_DEFAULT_COPTS}
759
+ DEPS
760
+ absl::bits
761
+ absl::config
762
+ absl::core_headers
763
+ absl::endian
764
+ )
765
+
766
+ absl_cc_test(
767
+ NAME
768
+ hashtable_control_bytes_test
769
+ SRCS
770
+ "internal/hashtable_control_bytes_test.cc"
771
+ COPTS
772
+ ${ABSL_TEST_COPTS}
773
+ DEPS
774
+ absl::config
775
+ absl::hashtable_control_bytes
776
+ GTest::gmock_main
777
+ )
778
+
740
779
  # Internal-only target, do not depend on directly.
741
780
  absl_cc_library(
742
781
  NAME
@@ -748,6 +787,7 @@ absl_cc_library(
748
787
  COPTS
749
788
  ${ABSL_DEFAULT_COPTS}
750
789
  DEPS
790
+ absl::base
751
791
  absl::bits
752
792
  absl::common_policy_traits
753
793
  absl::compressed_tuple
@@ -757,17 +797,21 @@ absl_cc_library(
757
797
  absl::core_headers
758
798
  absl::dynamic_annotations
759
799
  absl::endian
800
+ absl::function_ref
760
801
  absl::hash
761
802
  absl::hash_function_defaults
762
803
  absl::hash_policy_traits
804
+ absl::hashtable_control_bytes
763
805
  absl::hashtable_debug_hooks
764
806
  absl::hashtablez_sampler
807
+ absl::iterator_traits_internal
765
808
  absl::memory
766
809
  absl::meta
767
810
  absl::optional
768
811
  absl::prefetch
769
812
  absl::raw_logging_internal
770
813
  absl::utility
814
+ absl::weakly_mixed_integer
771
815
  PUBLIC
772
816
  )
773
817
 
@@ -792,11 +836,13 @@ absl_cc_test(
792
836
  absl::hash_policy_testing
793
837
  absl::hashtable_debug
794
838
  absl::hashtablez_sampler
839
+ absl::int128
795
840
  absl::log
796
841
  absl::memory
797
842
  absl::node_hash_set
798
843
  absl::optional
799
844
  absl::prefetch
845
+ absl::random_random
800
846
  absl::raw_hash_set
801
847
  absl::strings
802
848
  absl::test_allocator
@@ -805,6 +851,32 @@ absl_cc_test(
805
851
  GTest::gmock_main
806
852
  )
807
853
 
854
+ # Internal-only target, do not depend on directly.
855
+ absl_cc_library(
856
+ NAME
857
+ raw_hash_set_resize_impl
858
+ HDRS
859
+ "internal/raw_hash_set_resize_impl.h"
860
+ COPTS
861
+ ${ABSL_DEFAULT_COPTS}
862
+ DEPS
863
+ absl::config
864
+ PUBLIC
865
+ )
866
+
867
+ absl_cc_test(
868
+ NAME
869
+ raw_hash_set_resize_impl_test
870
+ SRCS
871
+ "internal/raw_hash_set_resize_impl_test.cc"
872
+ COPTS
873
+ ${ABSL_TEST_COPTS}
874
+ DEPS
875
+ absl::config
876
+ absl::raw_hash_set_resize_impl
877
+ GTest::gmock_main
878
+ )
879
+
808
880
  absl_cc_test(
809
881
  NAME
810
882
  raw_hash_set_allocator_test
@@ -1028,5 +1100,6 @@ absl_cc_test(
1028
1100
  absl::flat_hash_set
1029
1101
  absl::node_hash_map
1030
1102
  absl::node_hash_set
1103
+ absl::hashtablez_sampler
1031
1104
  GTest::gmock_main
1032
1105
  )