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
@@ -75,7 +75,7 @@ class SampleRecorder {
75
75
 
76
76
  // Iterates over all the registered `StackInfo`s. Returning the number of
77
77
  // samples that have been dropped.
78
- int64_t Iterate(const std::function<void(const T& stack)>& f);
78
+ size_t Iterate(const std::function<void(const T& stack)>& f);
79
79
 
80
80
  size_t GetMaxSamples() const;
81
81
  void SetMaxSamples(size_t max);
@@ -130,7 +130,7 @@ SampleRecorder<T>::SetDisposeCallback(DisposeCallback f) {
130
130
  template <typename T>
131
131
  SampleRecorder<T>::SampleRecorder()
132
132
  : dropped_samples_(0), size_estimate_(0), all_(nullptr), dispose_(nullptr) {
133
- absl::MutexLock l(&graveyard_.init_mu);
133
+ absl::MutexLock l(graveyard_.init_mu);
134
134
  graveyard_.dead = &graveyard_;
135
135
  }
136
136
 
@@ -159,8 +159,8 @@ void SampleRecorder<T>::PushDead(T* sample) {
159
159
  dispose(*sample);
160
160
  }
161
161
 
162
- absl::MutexLock graveyard_lock(&graveyard_.init_mu);
163
- absl::MutexLock sample_lock(&sample->init_mu);
162
+ absl::MutexLock graveyard_lock(graveyard_.init_mu);
163
+ absl::MutexLock sample_lock(sample->init_mu);
164
164
  sample->dead = graveyard_.dead;
165
165
  graveyard_.dead = sample;
166
166
  }
@@ -168,7 +168,7 @@ void SampleRecorder<T>::PushDead(T* sample) {
168
168
  template <typename T>
169
169
  template <typename... Targs>
170
170
  T* SampleRecorder<T>::PopDead(Targs... args) {
171
- absl::MutexLock graveyard_lock(&graveyard_.init_mu);
171
+ absl::MutexLock graveyard_lock(graveyard_.init_mu);
172
172
 
173
173
  // The list is circular, so eventually it collapses down to
174
174
  // graveyard_.dead == &graveyard_
@@ -176,7 +176,7 @@ T* SampleRecorder<T>::PopDead(Targs... args) {
176
176
  T* sample = graveyard_.dead;
177
177
  if (sample == &graveyard_) return nullptr;
178
178
 
179
- absl::MutexLock sample_lock(&sample->init_mu);
179
+ absl::MutexLock sample_lock(sample->init_mu);
180
180
  graveyard_.dead = sample->dead;
181
181
  sample->dead = nullptr;
182
182
  sample->PrepareForSampling(std::forward<Targs>(args)...);
@@ -198,7 +198,7 @@ T* SampleRecorder<T>::Register(Targs&&... args) {
198
198
  // Resurrection failed. Hire a new warlock.
199
199
  sample = new T();
200
200
  {
201
- absl::MutexLock sample_lock(&sample->init_mu);
201
+ absl::MutexLock sample_lock(sample->init_mu);
202
202
  // If flag initialization happens to occur (perhaps in another thread)
203
203
  // while in this block, it will lock `graveyard_` which is usually always
204
204
  // locked before any sample. This will appear as a lock inversion.
@@ -222,11 +222,11 @@ void SampleRecorder<T>::Unregister(T* sample) {
222
222
  }
223
223
 
224
224
  template <typename T>
225
- int64_t SampleRecorder<T>::Iterate(
225
+ size_t SampleRecorder<T>::Iterate(
226
226
  const std::function<void(const T& stack)>& f) {
227
227
  T* s = all_.load(std::memory_order_acquire);
228
228
  while (s != nullptr) {
229
- absl::MutexLock l(&s->init_mu);
229
+ absl::MutexLock l(s->init_mu);
230
230
  if (s->dead == nullptr) {
231
231
  f(*s);
232
232
  }
@@ -15,14 +15,20 @@
15
15
  #include "absl/profiling/internal/sample_recorder.h"
16
16
 
17
17
  #include <atomic>
18
+ #include <cassert>
19
+ #include <cstddef>
20
+ #include <cstdint>
18
21
  #include <random>
19
22
  #include <vector>
20
23
 
21
24
  #include "gmock/gmock.h"
25
+ #include "gtest/gtest.h"
22
26
  #include "absl/base/thread_annotations.h"
27
+ #include "absl/random/random.h"
23
28
  #include "absl/synchronization/internal/thread_pool.h"
24
29
  #include "absl/synchronization/mutex.h"
25
30
  #include "absl/synchronization/notification.h"
31
+ #include "absl/time/clock.h"
26
32
  #include "absl/time/time.h"
27
33
 
28
34
  namespace absl {
@@ -112,9 +118,7 @@ TEST(SampleRecorderTest, MultiThreaded) {
112
118
 
113
119
  for (int i = 0; i < 10; ++i) {
114
120
  pool.Schedule([&sampler, &stop, i]() {
115
- std::random_device rd;
116
- std::mt19937 gen(rd());
117
-
121
+ absl::InsecureBitGen gen;
118
122
  std::vector<Info*> infoz;
119
123
  while (!stop.HasBeenNotified()) {
120
124
  if (infoz.empty()) {
@@ -16,6 +16,9 @@
16
16
 
17
17
  # ABSL random-number generation libraries.
18
18
 
19
+ load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
20
+ load("@rules_cc//cc:cc_library.bzl", "cc_library")
21
+ load("@rules_cc//cc:cc_test.bzl", "cc_test")
19
22
  load(
20
23
  "//absl:copts/configure_copts.bzl",
21
24
  "ABSL_DEFAULT_COPTS",
@@ -42,9 +45,9 @@ cc_library(
42
45
  deps = [
43
46
  ":distributions",
44
47
  ":seed_sequences",
48
+ "//absl/base:config",
45
49
  "//absl/random/internal:nonsecure_base",
46
50
  "//absl/random/internal:pcg_engine",
47
- "//absl/random/internal:pool_urbg",
48
51
  "//absl/random/internal:randen_engine",
49
52
  ],
50
53
  )
@@ -111,7 +114,7 @@ cc_library(
111
114
  ":seed_gen_exception",
112
115
  "//absl/base:config",
113
116
  "//absl/base:nullability",
114
- "//absl/random/internal:pool_urbg",
117
+ "//absl/random/internal:entropy_pool",
115
118
  "//absl/random/internal:salted_seed_seq",
116
119
  "//absl/random/internal:seed_material",
117
120
  "//absl/strings:string_view",
@@ -447,6 +450,7 @@ cc_test(
447
450
  deps = [
448
451
  ":bit_gen_ref",
449
452
  ":random",
453
+ "//absl/base:config",
450
454
  "//absl/base:fast_type_id",
451
455
  "//absl/random/internal:sequence_urbg",
452
456
  "@googletest//:gtest",
@@ -538,9 +542,7 @@ cc_binary(
538
542
  deps = [
539
543
  ":distributions",
540
544
  ":random",
541
- ":seed_sequences",
542
545
  "//absl/base:core_headers",
543
- "//absl/meta:type_traits",
544
546
  "//absl/random/internal:fast_uniform_bits",
545
547
  "//absl/random/internal:randen_engine",
546
548
  "@google_benchmark//:benchmark_main",
@@ -24,10 +24,10 @@ absl_cc_library(
24
24
  LINKOPTS
25
25
  ${ABSL_DEFAULT_LINKOPTS}
26
26
  DEPS
27
+ absl::config
27
28
  absl::random_distributions
28
29
  absl::random_internal_nonsecure_base
29
30
  absl::random_internal_pcg_engine
30
- absl::random_internal_pool_urbg
31
31
  absl::random_internal_randen_engine
32
32
  absl::random_seed_sequences
33
33
  )
@@ -59,6 +59,7 @@ absl_cc_test(
59
59
  LINKOPTS
60
60
  ${ABSL_DEFAULT_LINKOPTS}
61
61
  DEPS
62
+ absl::config
62
63
  absl::random_bit_gen_ref
63
64
  absl::random_random
64
65
  absl::random_internal_sequence_urbg
@@ -229,7 +230,7 @@ absl_cc_library(
229
230
  absl::config
230
231
  absl::inlined_vector
231
232
  absl::nullability
232
- absl::random_internal_pool_urbg
233
+ absl::random_internal_entropy_pool
233
234
  absl::random_internal_salted_seed_seq
234
235
  absl::random_internal_seed_material
235
236
  absl::random_seed_gen_exception
@@ -582,7 +583,7 @@ absl_cc_library(
582
583
  ${ABSL_DEFAULT_LINKOPTS}
583
584
  $<$<BOOL:${MINGW}>:-lbcrypt>
584
585
  DEPS
585
- absl::core_headers
586
+ absl::config
586
587
  absl::optional
587
588
  absl::random_internal_fast_uniform_bits
588
589
  absl::raw_logging_internal
@@ -593,11 +594,11 @@ absl_cc_library(
593
594
  # Internal-only target, do not depend on directly.
594
595
  absl_cc_library(
595
596
  NAME
596
- random_internal_pool_urbg
597
+ random_internal_entropy_pool
597
598
  SRCS
598
- "internal/pool_urbg.cc"
599
+ "internal/entropy_pool.cc"
599
600
  HDRS
600
- "internal/pool_urbg.h"
601
+ "internal/entropy_pool.h"
601
602
  COPTS
602
603
  ${ABSL_DEFAULT_COPTS}
603
604
  LINKOPTS
@@ -606,13 +607,12 @@ absl_cc_library(
606
607
  absl::base
607
608
  absl::config
608
609
  absl::core_headers
609
- absl::endian
610
+ absl::random_internal_platform
610
611
  absl::random_internal_randen
611
612
  absl::random_internal_seed_material
612
- absl::random_internal_traits
613
613
  absl::random_seed_gen_exception
614
- absl::raw_logging_internal
615
614
  absl::span
615
+ absl::synchronization
616
616
  )
617
617
 
618
618
  # Internal-only target, do not depend on directly.
@@ -738,12 +738,11 @@ absl_cc_library(
738
738
  LINKOPTS
739
739
  ${ABSL_DEFAULT_LINKOPTS}
740
740
  DEPS
741
- absl::core_headers
741
+ absl::config
742
742
  absl::inlined_vector
743
- absl::random_internal_pool_urbg
743
+ absl::random_internal_entropy_pool
744
744
  absl::random_internal_salted_seed_seq
745
745
  absl::random_internal_seed_material
746
- absl::span
747
746
  absl::type_traits
748
747
  )
749
748
 
@@ -1033,9 +1032,11 @@ absl_cc_test(
1033
1032
  LINKOPTS
1034
1033
  ${ABSL_DEFAULT_LINKOPTS}
1035
1034
  DEPS
1035
+ absl::flat_hash_map
1036
+ absl::random_distributions
1036
1037
  absl::random_internal_nonsecure_base
1037
1038
  absl::random_random
1038
- absl::random_distributions
1039
+ absl::synchronization
1039
1040
  absl::type_traits
1040
1041
  GTest::gtest_main
1041
1042
  )
@@ -1052,6 +1053,7 @@ absl_cc_test(
1052
1053
  ${ABSL_DEFAULT_LINKOPTS}
1053
1054
  DEPS
1054
1055
  absl::random_internal_seed_material
1056
+ absl::span
1055
1057
  GTest::gmock
1056
1058
  GTest::gtest_main
1057
1059
  )
@@ -1059,17 +1061,17 @@ absl_cc_test(
1059
1061
  # Internal-only target, do not depend on directly.
1060
1062
  absl_cc_test(
1061
1063
  NAME
1062
- random_internal_pool_urbg_test
1064
+ random_internal_entropy_pool_test
1063
1065
  SRCS
1064
- "internal/pool_urbg_test.cc"
1066
+ "internal/entropy_pool_test.cc"
1065
1067
  COPTS
1066
1068
  ${ABSL_TEST_COPTS}
1067
1069
  LINKOPTS
1068
1070
  ${ABSL_DEFAULT_LINKOPTS}
1069
1071
  DEPS
1070
- absl::random_internal_pool_urbg
1071
- absl::span
1072
- absl::type_traits
1072
+ absl::flat_hash_map
1073
+ absl::random_internal_entropy_pool
1074
+ absl::synchronization
1073
1075
  GTest::gtest_main
1074
1076
  )
1075
1077
 
@@ -1242,7 +1244,6 @@ absl_cc_test(
1242
1244
  ${ABSL_DEFAULT_LINKOPTS}
1243
1245
  DEPS
1244
1246
  absl::random_internal_wide_multiply
1245
- absl::bits
1246
1247
  absl::int128
1247
1248
  GTest::gmock
1248
1249
  GTest::gtest_main
@@ -26,7 +26,6 @@
26
26
  #include <vector>
27
27
 
28
28
  #include "absl/base/macros.h"
29
- #include "absl/meta/type_traits.h"
30
29
  #include "absl/random/bernoulli_distribution.h"
31
30
  #include "absl/random/beta_distribution.h"
32
31
  #include "absl/random/exponential_distribution.h"
@@ -65,10 +64,10 @@ class PrecompiledSeedSeq {
65
64
  PrecompiledSeedSeq() = default;
66
65
 
67
66
  template <typename Iterator>
68
- PrecompiledSeedSeq(Iterator begin, Iterator end) {}
67
+ PrecompiledSeedSeq(Iterator, Iterator) {}
69
68
 
70
69
  template <typename T>
71
- PrecompiledSeedSeq(std::initializer_list<T> il) {}
70
+ PrecompiledSeedSeq(std::initializer_list<T>) {}
72
71
 
73
72
  template <typename OutIterator>
74
73
  void generate(OutIterator begin, OutIterator end) {
@@ -89,30 +88,23 @@ class PrecompiledSeedSeq {
89
88
  }
90
89
  };
91
90
 
92
- // use_default_initialization<T> indicates whether the random engine
93
- // T must be default initialized, or whether we may initialize it using
94
- // a seed sequence. This is used because some engines do not accept seed
95
- // sequence-based initialization.
96
- template <typename E>
97
- using use_default_initialization = std::false_type;
91
+ // Triggers default constructor initialization.
92
+ class DefaultConstructorSeedSeq {};
98
93
 
99
94
  // make_engine<T, SSeq> returns a random_engine which is initialized,
100
95
  // either via the default constructor, when use_default_initialization<T>
101
96
  // is true, or via the indicated seed sequence, SSeq.
102
- template <typename Engine, typename SSeq = PrecompiledSeedSeq>
103
- typename absl::enable_if_t<!use_default_initialization<Engine>::value, Engine>
104
- make_engine() {
105
- // Initialize the random engine using the seed sequence SSeq, which
106
- // is constructed from the precompiled seed data.
107
- SSeq seq(std::begin(kSeedData), std::end(kSeedData));
108
- return Engine(seq);
109
- }
110
-
111
- template <typename Engine, typename SSeq = PrecompiledSeedSeq>
112
- typename absl::enable_if_t<use_default_initialization<Engine>::value, Engine>
113
- make_engine() {
114
- // Initialize the random engine using the default constructor.
115
- return Engine();
97
+ template <typename Engine, typename SSeq = DefaultConstructorSeedSeq>
98
+ Engine make_engine() {
99
+ constexpr bool use_default_initialization =
100
+ std::is_same_v<SSeq, DefaultConstructorSeedSeq>;
101
+ if constexpr (use_default_initialization) {
102
+ return Engine();
103
+ } else {
104
+ // Otherwise, use the provided seed sequence.
105
+ SSeq seq(std::begin(kSeedData), std::end(kSeedData));
106
+ return Engine(seq);
107
+ }
116
108
  }
117
109
 
118
110
  template <typename Engine, typename SSeq>
@@ -248,6 +240,7 @@ void BM_Thread(benchmark::State& state) {
248
240
 
249
241
  // Normal benchmark suite
250
242
  #define BM_BASIC(Engine) \
243
+ BENCHMARK_TEMPLATE(BM_Construct, Engine, DefaultConstructorSeedSeq); \
251
244
  BENCHMARK_TEMPLATE(BM_Construct, Engine, PrecompiledSeedSeq); \
252
245
  BENCHMARK_TEMPLATE(BM_Construct, Engine, std::seed_seq); \
253
246
  BENCHMARK_TEMPLATE(BM_Direct, Engine); \
@@ -31,7 +31,7 @@
31
31
 
32
32
  #include "absl/base/attributes.h"
33
33
  #include "absl/base/config.h"
34
- #include "absl/base/internal/fast_type_id.h"
34
+ #include "absl/base/fast_type_id.h"
35
35
  #include "absl/meta/type_traits.h"
36
36
  #include "absl/random/internal/distribution_caller.h"
37
37
  #include "absl/random/internal/fast_uniform_bits.h"
@@ -88,7 +88,7 @@ class MockHelpers;
88
88
  //
89
89
  class BitGenRef {
90
90
  // SFINAE to detect whether the URBG type includes a member matching
91
- // bool InvokeMock(base_internal::FastTypeIdType, void*, void*).
91
+ // bool InvokeMock(key_id, args_tuple*, result*).
92
92
  //
93
93
  // These live inside BitGenRef so that they have friend access
94
94
  // to MockingBitGen. (see similar methods in DistributionCaller).
@@ -100,7 +100,7 @@ class BitGenRef {
100
100
 
101
101
  template <class T>
102
102
  using invoke_mock_t = decltype(std::declval<T*>()->InvokeMock(
103
- std::declval<base_internal::FastTypeIdType>(), std::declval<void*>(),
103
+ std::declval<FastTypeIdType>(), std::declval<void*>(),
104
104
  std::declval<void*>()));
105
105
 
106
106
  template <typename T>
@@ -145,8 +145,7 @@ class BitGenRef {
145
145
 
146
146
  private:
147
147
  using impl_fn = result_type (*)(uintptr_t);
148
- using mock_call_fn = bool (*)(uintptr_t, base_internal::FastTypeIdType, void*,
149
- void*);
148
+ using mock_call_fn = bool (*)(uintptr_t, FastTypeIdType, void*, void*);
150
149
 
151
150
  template <typename URBG>
152
151
  static result_type ImplFn(uintptr_t ptr) {
@@ -158,19 +157,19 @@ class BitGenRef {
158
157
 
159
158
  // Get a type-erased InvokeMock pointer.
160
159
  template <typename URBG>
161
- static bool MockCall(uintptr_t gen_ptr, base_internal::FastTypeIdType type,
162
- void* result, void* arg_tuple) {
163
- return reinterpret_cast<URBG*>(gen_ptr)->InvokeMock(type, result,
160
+ static bool MockCall(uintptr_t gen_ptr, FastTypeIdType key_id, void* result,
161
+ void* arg_tuple) {
162
+ return reinterpret_cast<URBG*>(gen_ptr)->InvokeMock(key_id, result,
164
163
  arg_tuple);
165
164
  }
166
- static bool NotAMock(uintptr_t, base_internal::FastTypeIdType, void*, void*) {
165
+ static bool NotAMock(uintptr_t, FastTypeIdType, void*, void*) {
167
166
  return false;
168
167
  }
169
168
 
170
- inline bool InvokeMock(base_internal::FastTypeIdType type, void* args_tuple,
169
+ inline bool InvokeMock(FastTypeIdType key_id, void* args_tuple,
171
170
  void* result) {
172
171
  if (mock_call_ == NotAMock) return false; // avoids an indirect call.
173
- return mock_call_(t_erased_gen_ptr_, type, args_tuple, result);
172
+ return mock_call_(t_erased_gen_ptr_, key_id, args_tuple, result);
174
173
  }
175
174
 
176
175
  uintptr_t t_erased_gen_ptr_;
@@ -15,9 +15,14 @@
15
15
  //
16
16
  #include "absl/random/bit_gen_ref.h"
17
17
 
18
+ #include <cstdint>
19
+ #include <random>
20
+ #include <vector>
21
+
18
22
  #include "gmock/gmock.h"
19
23
  #include "gtest/gtest.h"
20
- #include "absl/base/internal/fast_type_id.h"
24
+ #include "absl/base/config.h"
25
+ #include "absl/base/fast_type_id.h"
21
26
  #include "absl/random/internal/sequence_urbg.h"
22
27
  #include "absl/random/random.h"
23
28
 
@@ -34,7 +39,7 @@ class ConstBitGen {
34
39
  result_type operator()() { return 1; }
35
40
 
36
41
  // InvokeMock method
37
- bool InvokeMock(base_internal::FastTypeIdType index, void*, void* result) {
42
+ bool InvokeMock(FastTypeIdType, void*, void* result) {
38
43
  *static_cast<int*>(result) = 42;
39
44
  return true;
40
45
  }
@@ -50,7 +50,6 @@
50
50
  #include <type_traits>
51
51
 
52
52
  #include "absl/base/config.h"
53
- #include "absl/base/internal/inline_variable.h"
54
53
  #include "absl/meta/type_traits.h"
55
54
  #include "absl/random/bernoulli_distribution.h"
56
55
  #include "absl/random/beta_distribution.h"
@@ -68,13 +67,12 @@
68
67
  namespace absl {
69
68
  ABSL_NAMESPACE_BEGIN
70
69
 
71
- ABSL_INTERNAL_INLINE_CONSTEXPR(IntervalClosedClosedTag, IntervalClosedClosed,
72
- {});
73
- ABSL_INTERNAL_INLINE_CONSTEXPR(IntervalClosedClosedTag, IntervalClosed, {});
74
- ABSL_INTERNAL_INLINE_CONSTEXPR(IntervalClosedOpenTag, IntervalClosedOpen, {});
75
- ABSL_INTERNAL_INLINE_CONSTEXPR(IntervalOpenOpenTag, IntervalOpenOpen, {});
76
- ABSL_INTERNAL_INLINE_CONSTEXPR(IntervalOpenOpenTag, IntervalOpen, {});
77
- ABSL_INTERNAL_INLINE_CONSTEXPR(IntervalOpenClosedTag, IntervalOpenClosed, {});
70
+ inline constexpr IntervalClosedClosedTag IntervalClosedClosed = {};
71
+ inline constexpr IntervalClosedClosedTag IntervalClosed = {};
72
+ inline constexpr IntervalClosedOpenTag IntervalClosedOpen = {};
73
+ inline constexpr IntervalOpenOpenTag IntervalOpenOpen = {};
74
+ inline constexpr IntervalOpenOpenTag IntervalOpen = {};
75
+ inline constexpr IntervalOpenClosedTag IntervalOpenClosed = {};
78
76
 
79
77
  // -----------------------------------------------------------------------------
80
78
  // absl::Uniform<T>(tag, bitgen, lo, hi)
@@ -244,7 +244,7 @@ inline double gaussian_distribution_base::zignor(
244
244
  bits); // U(-1, 1)
245
245
  const double x = j * zg_.x[i];
246
246
 
247
- // Retangular box. Handles >97% of all cases.
247
+ // Rectangular box. Handles >97% of all cases.
248
248
  // For any given box, this handles between 75% and 99% of values.
249
249
  // Equivalent to U(01) < (x[i+1] / x[i]), and when i == 0, ~93.5%
250
250
  if (std::abs(x) < zg_.x[i + 1]) {
@@ -15,6 +15,9 @@
15
15
  #
16
16
 
17
17
  load("@bazel_skylib//lib:selects.bzl", "selects")
18
+ load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
19
+ load("@rules_cc//cc:cc_library.bzl", "cc_library")
20
+ load("@rules_cc//cc:cc_test.bzl", "cc_test")
18
21
 
19
22
  # Internal-only implementation classes for Abseil Random
20
23
  load(
@@ -164,7 +167,7 @@ cc_library(
164
167
  }),
165
168
  deps = [
166
169
  ":fast_uniform_bits",
167
- "//absl/base:core_headers",
170
+ "//absl/base:config",
168
171
  "//absl/base:dynamic_annotations",
169
172
  "//absl/base:raw_logging_internal",
170
173
  "//absl/strings",
@@ -174,13 +177,9 @@ cc_library(
174
177
  )
175
178
 
176
179
  cc_library(
177
- name = "pool_urbg",
178
- srcs = [
179
- "pool_urbg.cc",
180
- ],
181
- hdrs = [
182
- "pool_urbg.h",
183
- ],
180
+ name = "entropy_pool",
181
+ srcs = ["entropy_pool.cc"],
182
+ hdrs = ["entropy_pool.h"],
184
183
  copts = ABSL_DEFAULT_COPTS,
185
184
  linkopts = select({
186
185
  "@rules_cc//cc/compiler:msvc-cl": [],
@@ -189,14 +188,12 @@ cc_library(
189
188
  "//conditions:default": ["-pthread"],
190
189
  }) + ABSL_DEFAULT_LINKOPTS,
191
190
  deps = [
191
+ ":platform",
192
192
  ":randen",
193
193
  ":seed_material",
194
- ":traits",
195
194
  "//absl/base",
196
195
  "//absl/base:config",
197
196
  "//absl/base:core_headers",
198
- "//absl/base:endian",
199
- "//absl/base:raw_logging_internal",
200
197
  "//absl/random:seed_gen_exception",
201
198
  "//absl/types:span",
202
199
  ],
@@ -299,13 +296,12 @@ cc_library(
299
296
  copts = ABSL_DEFAULT_COPTS,
300
297
  linkopts = ABSL_DEFAULT_LINKOPTS,
301
298
  deps = [
302
- ":pool_urbg",
299
+ ":entropy_pool",
303
300
  ":salted_seed_seq",
304
301
  ":seed_material",
305
- "//absl/base:core_headers",
302
+ "//absl/base:config",
306
303
  "//absl/container:inlined_vector",
307
304
  "//absl/meta:type_traits",
308
- "//absl/types:span",
309
305
  ],
310
306
  )
311
307
 
@@ -623,9 +619,11 @@ cc_test(
623
619
  linkopts = ABSL_DEFAULT_LINKOPTS,
624
620
  deps = [
625
621
  ":nonsecure_base",
622
+ "//absl/container:flat_hash_set",
626
623
  "//absl/meta:type_traits",
627
624
  "//absl/random",
628
625
  "//absl/random:distributions",
626
+ "//absl/synchronization",
629
627
  "@googletest//:gtest",
630
628
  "@googletest//:gtest_main",
631
629
  ],
@@ -639,23 +637,24 @@ cc_test(
639
637
  linkopts = ABSL_DEFAULT_LINKOPTS,
640
638
  deps = [
641
639
  ":seed_material",
640
+ "//absl/types:span",
642
641
  "@googletest//:gtest",
643
642
  "@googletest//:gtest_main",
644
643
  ],
645
644
  )
646
645
 
647
646
  cc_test(
648
- name = "pool_urbg_test",
647
+ name = "entropy_pool_test",
649
648
  size = "small",
650
649
  srcs = [
651
- "pool_urbg_test.cc",
650
+ "entropy_pool_test.cc",
652
651
  ],
653
652
  copts = ABSL_TEST_COPTS,
654
653
  linkopts = ABSL_DEFAULT_LINKOPTS,
655
654
  deps = [
656
- ":pool_urbg",
657
- "//absl/meta:type_traits",
658
- "//absl/types:span",
655
+ ":entropy_pool",
656
+ "//absl/container:flat_hash_set",
657
+ "//absl/synchronization",
659
658
  "@googletest//:gtest",
660
659
  "@googletest//:gtest_main",
661
660
  ],
@@ -750,7 +749,6 @@ cc_test(
750
749
  linkopts = ABSL_DEFAULT_LINKOPTS,
751
750
  deps = [
752
751
  ":wide_multiply",
753
- "//absl/numeric:bits",
754
752
  "//absl/numeric:int128",
755
753
  "@googletest//:gtest",
756
754
  "@googletest//:gtest_main",
@@ -804,6 +802,7 @@ cc_test(
804
802
  linkopts = ABSL_DEFAULT_LINKOPTS,
805
803
  tags = [
806
804
  "benchmark",
805
+ "no_test_ios_sim_arm64",
807
806
  "no_test_ios_x86_64",
808
807
  "no_test_loonix", # Crashing.
809
808
  "no_test_wasm",
@@ -22,7 +22,7 @@
22
22
  #include <utility>
23
23
 
24
24
  #include "absl/base/config.h"
25
- #include "absl/base/internal/fast_type_id.h"
25
+ #include "absl/base/fast_type_id.h"
26
26
  #include "absl/meta/type_traits.h"
27
27
  #include "absl/utility/utility.h"
28
28
 
@@ -38,7 +38,7 @@ struct DistributionCaller {
38
38
  static_assert(!std::is_pointer<URBG>::value,
39
39
  "You must pass a reference, not a pointer.");
40
40
  // SFINAE to detect whether the URBG type includes a member matching
41
- // bool InvokeMock(base_internal::FastTypeIdType, void*, void*).
41
+ // bool InvokeMock(key_id, args_tuple*, result*).
42
42
  //
43
43
  // These live inside BitGenRef so that they have friend access
44
44
  // to MockingBitGen. (see similar methods in DistributionCaller).
@@ -50,8 +50,8 @@ struct DistributionCaller {
50
50
 
51
51
  template <class T>
52
52
  using invoke_mock_t = decltype(std::declval<T*>()->InvokeMock(
53
- std::declval<::absl::base_internal::FastTypeIdType>(),
54
- std::declval<void*>(), std::declval<void*>()));
53
+ std::declval<FastTypeIdType>(), std::declval<void*>(),
54
+ std::declval<void*>()));
55
55
 
56
56
  using HasInvokeMock = typename detector<invoke_mock_t, void, URBG>::type;
57
57
 
@@ -74,8 +74,7 @@ struct DistributionCaller {
74
74
 
75
75
  ArgTupleT arg_tuple(std::forward<Args>(args)...);
76
76
  ResultT result;
77
- if (!urbg->InvokeMock(::absl::base_internal::FastTypeId<KeyT>(), &arg_tuple,
78
- &result)) {
77
+ if (!urbg->InvokeMock(FastTypeId<KeyT>(), &arg_tuple, &result)) {
79
78
  auto dist = absl::make_from_tuple<DistrT>(arg_tuple);
80
79
  result = dist(*urbg);
81
80
  }