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
@@ -84,6 +84,7 @@ absl_cc_library(
84
84
  absl::core_headers
85
85
  absl::endian
86
86
  absl::int128
87
+ absl::iterator_traits_internal
87
88
  absl::memory
88
89
  absl::nullability
89
90
  absl::raw_logging_internal
@@ -242,6 +243,7 @@ absl_cc_test(
242
243
  COPTS
243
244
  ${ABSL_TEST_COPTS}
244
245
  DEPS
246
+ absl::string_view
245
247
  absl::strings_internal
246
248
  absl::base
247
249
  absl::core_headers
@@ -517,6 +519,7 @@ absl_cc_library(
517
519
  absl::utility
518
520
  absl::int128
519
521
  absl::span
522
+ absl::strings_internal
520
523
  )
521
524
 
522
525
  absl_cc_test(
@@ -544,6 +547,7 @@ absl_cc_test(
544
547
  COPTS
545
548
  ${ABSL_TEST_COPTS}
546
549
  DEPS
550
+ absl::random_random
547
551
  absl::str_format
548
552
  absl::str_format_internal
549
553
  absl::strings
@@ -659,7 +663,7 @@ absl_cc_library(
659
663
  SRCS
660
664
  "internal/pow10_helper.cc"
661
665
  COPTS
662
- ${ABSL_TEST_COPTS}
666
+ ${ABSL_DEFAULT_COPTS}
663
667
  DEPS
664
668
  absl::config
665
669
  TESTONLY
@@ -701,7 +705,6 @@ absl_cc_library(
701
705
  COPTS
702
706
  ${ABSL_DEFAULT_COPTS}
703
707
  DEPS
704
- absl::base_internal
705
708
  absl::compressed_tuple
706
709
  absl::config
707
710
  absl::container_memory
@@ -976,7 +979,6 @@ absl_cc_library(
976
979
  "cord.cc"
977
980
  "cord_analysis.cc"
978
981
  "cord_analysis.h"
979
- "cord_buffer.cc"
980
982
  COPTS
981
983
  ${ABSL_DEFAULT_COPTS}
982
984
  DEPS
@@ -999,6 +1001,7 @@ absl_cc_library(
999
1001
  absl::span
1000
1002
  absl::strings
1001
1003
  absl::type_traits
1004
+ absl::weakly_mixed_integer
1002
1005
  PUBLIC
1003
1006
  )
1004
1007
 
@@ -183,8 +183,8 @@ constexpr bool AsciiInAZRangeNaive(unsigned char c) {
183
183
  }
184
184
 
185
185
  template <bool ToUpper, bool Naive>
186
- constexpr void AsciiStrCaseFoldImpl(absl::Nonnull<char*> dst,
187
- absl::Nullable<const char*> src,
186
+ constexpr void AsciiStrCaseFoldImpl(char* absl_nonnull dst,
187
+ const char* absl_nullable src,
188
188
  size_t size) {
189
189
  // The upper- and lowercase versions of ASCII characters differ by only 1 bit.
190
190
  // When we need to flip the case, we can xor with this bit to achieve the
@@ -211,18 +211,18 @@ constexpr void AsciiStrCaseFoldImpl(absl::Nonnull<char*> dst,
211
211
  // strings it's not important).
212
212
  // `src` may be null iff `size` is zero.
213
213
  template <bool ToUpper>
214
- constexpr void AsciiStrCaseFold(absl::Nonnull<char*> dst,
215
- absl::Nullable<const char*> src, size_t size) {
214
+ constexpr void AsciiStrCaseFold(char* absl_nonnull dst,
215
+ const char* absl_nullable src, size_t size) {
216
216
  size < 16 ? AsciiStrCaseFoldImpl<ToUpper, /*Naive=*/true>(dst, src, size)
217
217
  : AsciiStrCaseFoldImpl<ToUpper, /*Naive=*/false>(dst, src, size);
218
218
  }
219
219
 
220
- void AsciiStrToLower(absl::Nonnull<char*> dst, absl::Nullable<const char*> src,
220
+ void AsciiStrToLower(char* absl_nonnull dst, const char* absl_nullable src,
221
221
  size_t n) {
222
222
  return AsciiStrCaseFold<false>(dst, src, n);
223
223
  }
224
224
 
225
- void AsciiStrToUpper(absl::Nonnull<char*> dst, absl::Nullable<const char*> src,
225
+ void AsciiStrToUpper(char* absl_nonnull dst, const char* absl_nullable src,
226
226
  size_t n) {
227
227
  return AsciiStrCaseFold<true>(dst, src, n);
228
228
  }
@@ -253,17 +253,17 @@ static_assert(ValidateAsciiCasefold() == 0, "error in case conversion");
253
253
 
254
254
  } // namespace ascii_internal
255
255
 
256
- void AsciiStrToLower(absl::Nonnull<std::string*> s) {
256
+ void AsciiStrToLower(std::string* absl_nonnull s) {
257
257
  char* p = &(*s)[0];
258
258
  return ascii_internal::AsciiStrCaseFold<false>(p, p, s->size());
259
259
  }
260
260
 
261
- void AsciiStrToUpper(absl::Nonnull<std::string*> s) {
261
+ void AsciiStrToUpper(std::string* absl_nonnull s) {
262
262
  char* p = &(*s)[0];
263
263
  return ascii_internal::AsciiStrCaseFold<true>(p, p, s->size());
264
264
  }
265
265
 
266
- void RemoveExtraAsciiWhitespace(absl::Nonnull<std::string*> str) {
266
+ void RemoveExtraAsciiWhitespace(std::string* absl_nonnull str) {
267
267
  auto stripped = StripAsciiWhitespace(*str);
268
268
 
269
269
  if (stripped.empty()) {
@@ -76,10 +76,10 @@ ABSL_DLL extern const char kToUpper[256];
76
76
  // Declaration for the array of characters to lower-case characters.
77
77
  ABSL_DLL extern const char kToLower[256];
78
78
 
79
- void AsciiStrToLower(absl::Nonnull<char*> dst, absl::Nullable<const char*> src,
79
+ void AsciiStrToLower(char* absl_nonnull dst, const char* absl_nullable src,
80
80
  size_t n);
81
81
 
82
- void AsciiStrToUpper(absl::Nonnull<char*> dst, absl::Nullable<const char*> src,
82
+ void AsciiStrToUpper(char* absl_nonnull dst, const char* absl_nullable src,
83
83
  size_t n);
84
84
 
85
85
  } // namespace ascii_internal
@@ -185,10 +185,10 @@ inline char ascii_tolower(unsigned char c) {
185
185
  }
186
186
 
187
187
  // Converts the characters in `s` to lowercase, changing the contents of `s`.
188
- void AsciiStrToLower(absl::Nonnull<std::string*> s);
188
+ void AsciiStrToLower(std::string* absl_nonnull s);
189
189
 
190
190
  // Creates a lowercase string from a given absl::string_view.
191
- ABSL_MUST_USE_RESULT inline std::string AsciiStrToLower(absl::string_view s) {
191
+ [[nodiscard]] inline std::string AsciiStrToLower(absl::string_view s) {
192
192
  std::string result;
193
193
  strings_internal::STLStringResizeUninitialized(&result, s.size());
194
194
  ascii_internal::AsciiStrToLower(&result[0], s.data(), s.size());
@@ -199,7 +199,7 @@ ABSL_MUST_USE_RESULT inline std::string AsciiStrToLower(absl::string_view s) {
199
199
  //
200
200
  // (Template is used to lower priority of this overload.)
201
201
  template <int&... DoNotSpecify>
202
- ABSL_MUST_USE_RESULT inline std::string AsciiStrToLower(std::string&& s) {
202
+ [[nodiscard]] inline std::string AsciiStrToLower(std::string&& s) {
203
203
  std::string result = std::move(s);
204
204
  absl::AsciiStrToLower(&result);
205
205
  return result;
@@ -214,10 +214,10 @@ inline char ascii_toupper(unsigned char c) {
214
214
  }
215
215
 
216
216
  // Converts the characters in `s` to uppercase, changing the contents of `s`.
217
- void AsciiStrToUpper(absl::Nonnull<std::string*> s);
217
+ void AsciiStrToUpper(std::string* absl_nonnull s);
218
218
 
219
219
  // Creates an uppercase string from a given absl::string_view.
220
- ABSL_MUST_USE_RESULT inline std::string AsciiStrToUpper(absl::string_view s) {
220
+ [[nodiscard]] inline std::string AsciiStrToUpper(absl::string_view s) {
221
221
  std::string result;
222
222
  strings_internal::STLStringResizeUninitialized(&result, s.size());
223
223
  ascii_internal::AsciiStrToUpper(&result[0], s.data(), s.size());
@@ -228,7 +228,7 @@ ABSL_MUST_USE_RESULT inline std::string AsciiStrToUpper(absl::string_view s) {
228
228
  //
229
229
  // (Template is used to lower priority of this overload.)
230
230
  template <int&... DoNotSpecify>
231
- ABSL_MUST_USE_RESULT inline std::string AsciiStrToUpper(std::string&& s) {
231
+ [[nodiscard]] inline std::string AsciiStrToUpper(std::string&& s) {
232
232
  std::string result = std::move(s);
233
233
  absl::AsciiStrToUpper(&result);
234
234
  return result;
@@ -236,47 +236,47 @@ ABSL_MUST_USE_RESULT inline std::string AsciiStrToUpper(std::string&& s) {
236
236
 
237
237
  // Returns absl::string_view with whitespace stripped from the beginning of the
238
238
  // given string_view.
239
- ABSL_MUST_USE_RESULT inline absl::string_view StripLeadingAsciiWhitespace(
240
- absl::string_view str) {
239
+ [[nodiscard]] inline absl::string_view StripLeadingAsciiWhitespace(
240
+ absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND) {
241
241
  auto it = std::find_if_not(str.begin(), str.end(), absl::ascii_isspace);
242
242
  return str.substr(static_cast<size_t>(it - str.begin()));
243
243
  }
244
244
 
245
245
  // Strips in place whitespace from the beginning of the given string.
246
- inline void StripLeadingAsciiWhitespace(absl::Nonnull<std::string*> str) {
246
+ inline void StripLeadingAsciiWhitespace(std::string* absl_nonnull str) {
247
247
  auto it = std::find_if_not(str->begin(), str->end(), absl::ascii_isspace);
248
248
  str->erase(str->begin(), it);
249
249
  }
250
250
 
251
251
  // Returns absl::string_view with whitespace stripped from the end of the given
252
252
  // string_view.
253
- ABSL_MUST_USE_RESULT inline absl::string_view StripTrailingAsciiWhitespace(
254
- absl::string_view str) {
253
+ [[nodiscard]] inline absl::string_view StripTrailingAsciiWhitespace(
254
+ absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND) {
255
255
  auto it = std::find_if_not(str.rbegin(), str.rend(), absl::ascii_isspace);
256
256
  return str.substr(0, static_cast<size_t>(str.rend() - it));
257
257
  }
258
258
 
259
259
  // Strips in place whitespace from the end of the given string
260
- inline void StripTrailingAsciiWhitespace(absl::Nonnull<std::string*> str) {
260
+ inline void StripTrailingAsciiWhitespace(std::string* absl_nonnull str) {
261
261
  auto it = std::find_if_not(str->rbegin(), str->rend(), absl::ascii_isspace);
262
262
  str->erase(static_cast<size_t>(str->rend() - it));
263
263
  }
264
264
 
265
265
  // Returns absl::string_view with whitespace stripped from both ends of the
266
266
  // given string_view.
267
- ABSL_MUST_USE_RESULT inline absl::string_view StripAsciiWhitespace(
268
- absl::string_view str) {
267
+ [[nodiscard]] inline absl::string_view StripAsciiWhitespace(
268
+ absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND) {
269
269
  return StripTrailingAsciiWhitespace(StripLeadingAsciiWhitespace(str));
270
270
  }
271
271
 
272
272
  // Strips in place whitespace from both ends of the given string
273
- inline void StripAsciiWhitespace(absl::Nonnull<std::string*> str) {
273
+ inline void StripAsciiWhitespace(std::string* absl_nonnull str) {
274
274
  StripTrailingAsciiWhitespace(str);
275
275
  StripLeadingAsciiWhitespace(str);
276
276
  }
277
277
 
278
278
  // Removes leading, trailing, and consecutive internal whitespace.
279
- void RemoveExtraAsciiWhitespace(absl::Nonnull<std::string*> str);
279
+ void RemoveExtraAsciiWhitespace(std::string* absl_nonnull str);
280
280
 
281
281
  ABSL_NAMESPACE_END
282
282
  } // namespace absl
@@ -12,15 +12,14 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "absl/strings/ascii.h"
16
-
17
15
  #include <algorithm>
16
+ #include <array>
18
17
  #include <cctype>
19
18
  #include <cstddef>
20
19
  #include <string>
21
- #include <array>
22
- #include <random>
23
20
 
21
+ #include "absl/random/random.h"
22
+ #include "absl/strings/ascii.h"
24
23
  #include "benchmark/benchmark.h"
25
24
 
26
25
  namespace {
@@ -28,10 +27,8 @@ namespace {
28
27
  std::array<unsigned char, 256> MakeShuffledBytes() {
29
28
  std::array<unsigned char, 256> bytes;
30
29
  for (size_t i = 0; i < 256; ++i) bytes[i] = static_cast<unsigned char>(i);
31
- std::random_device rd;
32
- std::seed_seq seed({rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd()});
33
- std::mt19937 g(seed);
34
- std::shuffle(bytes.begin(), bytes.end(), g);
30
+ absl::InsecureBitGen gen;
31
+ std::shuffle(bytes.begin(), bytes.end(), gen);
35
32
  return bytes;
36
33
  }
37
34
 
@@ -120,7 +120,7 @@ struct FloatTraits<double> {
120
120
  // Parsing a smaller N will produce something finite.
121
121
  static constexpr int kEiselLemireMaxExclusiveExp10 = 309;
122
122
 
123
- static double MakeNan(absl::Nonnull<const char*> tagp) {
123
+ static double MakeNan(const char* absl_nonnull tagp) {
124
124
  #if ABSL_HAVE_BUILTIN(__builtin_nan)
125
125
  // Use __builtin_nan() if available since it has a fix for
126
126
  // https://bugs.llvm.org/show_bug.cgi?id=37778
@@ -193,7 +193,7 @@ struct FloatTraits<float> {
193
193
  static constexpr int kEiselLemireMinInclusiveExp10 = -46 - 18;
194
194
  static constexpr int kEiselLemireMaxExclusiveExp10 = 39;
195
195
 
196
- static float MakeNan(absl::Nonnull<const char*> tagp) {
196
+ static float MakeNan(const char* absl_nonnull tagp) {
197
197
  #if ABSL_HAVE_BUILTIN(__builtin_nanf)
198
198
  // Use __builtin_nanf() if available since it has a fix for
199
199
  // https://bugs.llvm.org/show_bug.cgi?id=37778
@@ -345,7 +345,7 @@ int NormalizedShiftSize(int mantissa_width, int binary_exponent) {
345
345
  // `value` must be wider than the requested bit width.
346
346
  //
347
347
  // Returns the number of bits shifted.
348
- int TruncateToBitWidth(int bit_width, absl::Nonnull<uint128*> value) {
348
+ int TruncateToBitWidth(int bit_width, uint128* absl_nonnull value) {
349
349
  const int current_bit_width = BitWidth(*value);
350
350
  const int shift = current_bit_width - bit_width;
351
351
  *value >>= shift;
@@ -357,7 +357,7 @@ int TruncateToBitWidth(int bit_width, absl::Nonnull<uint128*> value) {
357
357
  // the appropriate double, and returns true.
358
358
  template <typename FloatType>
359
359
  bool HandleEdgeCase(const strings_internal::ParsedFloat& input, bool negative,
360
- absl::Nonnull<FloatType*> value) {
360
+ FloatType* absl_nonnull value) {
361
361
  if (input.type == strings_internal::FloatType::kNan) {
362
362
  // A bug in gcc would cause the compiler to optimize away the buffer we are
363
363
  // building below. Declaring the buffer volatile avoids the issue, and has
@@ -389,7 +389,7 @@ bool HandleEdgeCase(const strings_internal::ParsedFloat& input, bool negative,
389
389
  return true;
390
390
  }
391
391
  if (input.mantissa == 0) {
392
- *value = negative ? -0.0 : 0.0;
392
+ *value = negative ? -0.0f : 0.0f;
393
393
  return true;
394
394
  }
395
395
  return false;
@@ -403,8 +403,8 @@ bool HandleEdgeCase(const strings_internal::ParsedFloat& input, bool negative,
403
403
  // number is stored in *value.
404
404
  template <typename FloatType>
405
405
  void EncodeResult(const CalculatedFloat& calculated, bool negative,
406
- absl::Nonnull<absl::from_chars_result*> result,
407
- absl::Nonnull<FloatType*> value) {
406
+ absl::from_chars_result* absl_nonnull result,
407
+ FloatType* absl_nonnull value) {
408
408
  if (calculated.exponent == kOverflow) {
409
409
  result->ec = std::errc::result_out_of_range;
410
410
  *value = negative ? -std::numeric_limits<FloatType>::max()
@@ -412,7 +412,7 @@ void EncodeResult(const CalculatedFloat& calculated, bool negative,
412
412
  return;
413
413
  } else if (calculated.mantissa == 0 || calculated.exponent == kUnderflow) {
414
414
  result->ec = std::errc::result_out_of_range;
415
- *value = negative ? -0.0 : 0.0;
415
+ *value = negative ? -0.0f : 0.0f;
416
416
  return;
417
417
  }
418
418
  *value = FloatTraits<FloatType>::Make(
@@ -450,7 +450,7 @@ void EncodeResult(const CalculatedFloat& calculated, bool negative,
450
450
  // Zero and negative values of `shift` are accepted, in which case the word is
451
451
  // shifted left, as necessary.
452
452
  uint64_t ShiftRightAndRound(uint128 value, int shift, bool input_exact,
453
- absl::Nonnull<bool*> output_exact) {
453
+ bool* absl_nonnull output_exact) {
454
454
  if (shift <= 0) {
455
455
  *output_exact = input_exact;
456
456
  return static_cast<uint64_t>(value << -shift);
@@ -684,12 +684,11 @@ CalculatedFloat CalculateFromParsedDecimal(
684
684
  // this function returns false) is both fast and correct.
685
685
  template <typename FloatType>
686
686
  bool EiselLemire(const strings_internal::ParsedFloat& input, bool negative,
687
- absl::Nonnull<FloatType*> value,
688
- absl::Nonnull<std::errc*> ec) {
687
+ FloatType* absl_nonnull value, std::errc* absl_nonnull ec) {
689
688
  uint64_t man = input.mantissa;
690
689
  int exp10 = input.exponent;
691
690
  if (exp10 < FloatTraits<FloatType>::kEiselLemireMinInclusiveExp10) {
692
- *value = negative ? -0.0 : 0.0;
691
+ *value = negative ? -0.0f : 0.0f;
693
692
  *ec = std::errc::result_out_of_range;
694
693
  return true;
695
694
  } else if (exp10 >= FloatTraits<FloatType>::kEiselLemireMaxExclusiveExp10) {
@@ -842,7 +841,7 @@ bool EiselLemire(const strings_internal::ParsedFloat& input, bool negative,
842
841
  if (negative) {
843
842
  ret_bits |= 0x8000000000000000u;
844
843
  }
845
- *value = absl::bit_cast<double>(ret_bits);
844
+ *value = static_cast<FloatType>(absl::bit_cast<double>(ret_bits));
846
845
  return true;
847
846
  } else if (FloatTraits<FloatType>::kTargetBits == 32) {
848
847
  uint32_t ret_bits = (static_cast<uint32_t>(ret_exp2) << 23) |
@@ -850,7 +849,7 @@ bool EiselLemire(const strings_internal::ParsedFloat& input, bool negative,
850
849
  if (negative) {
851
850
  ret_bits |= 0x80000000u;
852
851
  }
853
- *value = absl::bit_cast<float>(ret_bits);
852
+ *value = static_cast<FloatType>(absl::bit_cast<float>(ret_bits));
854
853
  return true;
855
854
  }
856
855
  #endif // ABSL_BIT_PACK_FLOATS
@@ -858,9 +857,9 @@ bool EiselLemire(const strings_internal::ParsedFloat& input, bool negative,
858
857
  }
859
858
 
860
859
  template <typename FloatType>
861
- from_chars_result FromCharsImpl(absl::Nonnull<const char*> first,
862
- absl::Nonnull<const char*> last,
863
- FloatType& value, chars_format fmt_flags) {
860
+ from_chars_result FromCharsImpl(const char* absl_nonnull first,
861
+ const char* absl_nonnull last, FloatType& value,
862
+ chars_format fmt_flags) {
864
863
  from_chars_result result;
865
864
  result.ptr = first; // overwritten on successful parse
866
865
  result.ec = std::errc();
@@ -890,7 +889,7 @@ from_chars_result FromCharsImpl(absl::Nonnull<const char*> first,
890
889
  result.ec = std::errc::invalid_argument;
891
890
  } else {
892
891
  result.ptr = first + 1;
893
- value = negative ? -0.0 : 0.0;
892
+ value = negative ? -0.0f : 0.0f;
894
893
  }
895
894
  return result;
896
895
  }
@@ -945,14 +944,14 @@ from_chars_result FromCharsImpl(absl::Nonnull<const char*> first,
945
944
  }
946
945
  } // namespace
947
946
 
948
- from_chars_result from_chars(absl::Nonnull<const char*> first,
949
- absl::Nonnull<const char*> last, double& value,
947
+ from_chars_result from_chars(const char* absl_nonnull first,
948
+ const char* absl_nonnull last, double& value,
950
949
  chars_format fmt) {
951
950
  return FromCharsImpl(first, last, value, fmt);
952
951
  }
953
952
 
954
- from_chars_result from_chars(absl::Nonnull<const char*> first,
955
- absl::Nonnull<const char*> last, float& value,
953
+ from_chars_result from_chars(const char* absl_nonnull first,
954
+ const char* absl_nonnull last, float& value,
956
955
  chars_format fmt) {
957
956
  return FromCharsImpl(first, last, value, fmt);
958
957
  }
@@ -45,7 +45,7 @@ enum class chars_format {
45
45
  // characters that were successfully parsed. If none was found, `ptr` is set
46
46
  // to the `first` argument to from_chars.
47
47
  struct from_chars_result {
48
- absl::Nonnull<const char*> ptr;
48
+ const char* absl_nonnull ptr;
49
49
  std::errc ec;
50
50
  };
51
51
 
@@ -77,13 +77,13 @@ struct from_chars_result {
77
77
  // format that strtod() accepts, except that a "0x" prefix is NOT matched.
78
78
  // (In particular, in `hex` mode, the input "0xff" results in the largest
79
79
  // matching pattern "0".)
80
- absl::from_chars_result from_chars(absl::Nonnull<const char*> first,
81
- absl::Nonnull<const char*> last,
80
+ absl::from_chars_result from_chars(const char* absl_nonnull first,
81
+ const char* absl_nonnull last,
82
82
  double& value, // NOLINT
83
83
  chars_format fmt = chars_format::general);
84
84
 
85
- absl::from_chars_result from_chars(absl::Nonnull<const char*> first,
86
- absl::Nonnull<const char*> last,
85
+ absl::from_chars_result from_chars(const char* absl_nonnull first,
86
+ const char* absl_nonnull last,
87
87
  float& value, // NOLINT
88
88
  chars_format fmt = chars_format::general);
89
89
 
@@ -12,12 +12,11 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "absl/strings/charconv.h"
16
-
17
15
  #include <cstdlib>
18
16
  #include <cstring>
19
17
  #include <string>
20
18
 
19
+ #include "absl/strings/charconv.h"
21
20
  #include "benchmark/benchmark.h"
22
21
 
23
22
  namespace {
@@ -14,9 +14,9 @@
14
14
 
15
15
  #include <cstdint>
16
16
 
17
- #include "benchmark/benchmark.h"
18
17
  #include "absl/log/check.h"
19
18
  #include "absl/strings/charset.h"
19
+ #include "benchmark/benchmark.h"
20
20
 
21
21
  namespace {
22
22