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
@@ -42,8 +42,7 @@ ABSL_NAMESPACE_BEGIN
42
42
  namespace {
43
43
  // Append is merely a version of memcpy that returns the address of the byte
44
44
  // after the area just overwritten.
45
- inline absl::Nonnull<char*> Append(absl::Nonnull<char*> out,
46
- const AlphaNum& x) {
45
+ inline char* absl_nonnull Append(char* absl_nonnull out, const AlphaNum& x) {
47
46
  // memcpy is allowed to overwrite arbitrary memory, so doing this after the
48
47
  // call would force an extra fetch of x.size().
49
48
  char* after = out + x.size();
@@ -159,7 +158,7 @@ std::string CatPieces(std::initializer_list<absl::string_view> pieces) {
159
158
  assert(((src).size() == 0) || \
160
159
  (uintptr_t((src).data() - (dest).data()) > uintptr_t((dest).size())))
161
160
 
162
- void AppendPieces(absl::Nonnull<std::string*> dest,
161
+ void AppendPieces(std::string* absl_nonnull dest,
163
162
  std::initializer_list<absl::string_view> pieces) {
164
163
  size_t old_size = dest->size();
165
164
  size_t to_append = 0;
@@ -183,7 +182,7 @@ void AppendPieces(absl::Nonnull<std::string*> dest,
183
182
 
184
183
  } // namespace strings_internal
185
184
 
186
- void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a) {
185
+ void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a) {
187
186
  ASSERT_NO_OVERLAP(*dest, a);
188
187
  std::string::size_type old_size = dest->size();
189
188
  STLStringAppendUninitializedAmortized(dest, a.size());
@@ -193,7 +192,7 @@ void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a) {
193
192
  assert(out == begin + dest->size());
194
193
  }
195
194
 
196
- void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
195
+ void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a,
197
196
  const AlphaNum& b) {
198
197
  ASSERT_NO_OVERLAP(*dest, a);
199
198
  ASSERT_NO_OVERLAP(*dest, b);
@@ -206,7 +205,7 @@ void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
206
205
  assert(out == begin + dest->size());
207
206
  }
208
207
 
209
- void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
208
+ void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a,
210
209
  const AlphaNum& b, const AlphaNum& c) {
211
210
  ASSERT_NO_OVERLAP(*dest, a);
212
211
  ASSERT_NO_OVERLAP(*dest, b);
@@ -221,7 +220,7 @@ void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
221
220
  assert(out == begin + dest->size());
222
221
  }
223
222
 
224
- void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
223
+ void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a,
225
224
  const AlphaNum& b, const AlphaNum& c, const AlphaNum& d) {
226
225
  ASSERT_NO_OVERLAP(*dest, a);
227
226
  ASSERT_NO_OVERLAP(*dest, b);
@@ -111,7 +111,7 @@
111
111
  #include "absl/strings/numbers.h"
112
112
  #include "absl/strings/string_view.h"
113
113
 
114
- #if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW)
114
+ #if !defined(ABSL_USES_STD_STRING_VIEW)
115
115
  #include <string_view>
116
116
  #endif
117
117
 
@@ -191,29 +191,29 @@ struct Hex {
191
191
  template <typename Int>
192
192
  explicit Hex(
193
193
  Int v, PadSpec spec = absl::kNoPad,
194
- typename std::enable_if<sizeof(Int) == 1 &&
195
- !std::is_pointer<Int>::value>::type* = nullptr)
194
+ std::enable_if_t<sizeof(Int) == 1 && !std::is_pointer<Int>::value, bool> =
195
+ true)
196
196
  : Hex(spec, static_cast<uint8_t>(v)) {}
197
197
  template <typename Int>
198
198
  explicit Hex(
199
199
  Int v, PadSpec spec = absl::kNoPad,
200
- typename std::enable_if<sizeof(Int) == 2 &&
201
- !std::is_pointer<Int>::value>::type* = nullptr)
200
+ std::enable_if_t<sizeof(Int) == 2 && !std::is_pointer<Int>::value, bool> =
201
+ true)
202
202
  : Hex(spec, static_cast<uint16_t>(v)) {}
203
203
  template <typename Int>
204
204
  explicit Hex(
205
205
  Int v, PadSpec spec = absl::kNoPad,
206
- typename std::enable_if<sizeof(Int) == 4 &&
207
- !std::is_pointer<Int>::value>::type* = nullptr)
206
+ std::enable_if_t<sizeof(Int) == 4 && !std::is_pointer<Int>::value, bool> =
207
+ true)
208
208
  : Hex(spec, static_cast<uint32_t>(v)) {}
209
209
  template <typename Int>
210
210
  explicit Hex(
211
211
  Int v, PadSpec spec = absl::kNoPad,
212
- typename std::enable_if<sizeof(Int) == 8 &&
213
- !std::is_pointer<Int>::value>::type* = nullptr)
212
+ std::enable_if_t<sizeof(Int) == 8 && !std::is_pointer<Int>::value, bool> =
213
+ true)
214
214
  : Hex(spec, static_cast<uint64_t>(v)) {}
215
215
  template <typename Pointee>
216
- explicit Hex(absl::Nullable<Pointee*> v, PadSpec spec = absl::kNoPad)
216
+ explicit Hex(Pointee* absl_nullable v, PadSpec spec = absl::kNoPad)
217
217
  : Hex(spec, reinterpret_cast<uintptr_t>(v)) {}
218
218
 
219
219
  template <typename S>
@@ -262,7 +262,7 @@ struct Dec {
262
262
 
263
263
  template <typename Int>
264
264
  explicit Dec(Int v, PadSpec spec = absl::kNoPad,
265
- typename std::enable_if<(sizeof(Int) <= 8)>::type* = nullptr)
265
+ std::enable_if_t<sizeof(Int) <= 8, bool> = true)
266
266
  : value(v >= 0 ? static_cast<uint64_t>(v)
267
267
  : uint64_t{0} - static_cast<uint64_t>(v)),
268
268
  width(spec == absl::kNoPad ? 1
@@ -359,14 +359,14 @@ class AlphaNum {
359
359
  ABSL_ATTRIBUTE_LIFETIME_BOUND)
360
360
  : piece_(&buf.data[0], buf.size) {}
361
361
 
362
- AlphaNum(absl::Nullable<const char*> c_str // NOLINT(runtime/explicit)
362
+ AlphaNum(const char* absl_nullable c_str // NOLINT(runtime/explicit)
363
363
  ABSL_ATTRIBUTE_LIFETIME_BOUND)
364
364
  : piece_(NullSafeStringView(c_str)) {}
365
365
  AlphaNum(absl::string_view pc // NOLINT(runtime/explicit)
366
366
  ABSL_ATTRIBUTE_LIFETIME_BOUND)
367
367
  : piece_(pc) {}
368
368
 
369
- #if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW)
369
+ #if !defined(ABSL_USES_STD_STRING_VIEW)
370
370
  AlphaNum(std::string_view pc // NOLINT(runtime/explicit)
371
371
  ABSL_ATTRIBUTE_LIFETIME_BOUND)
372
372
  : piece_(pc.data(), pc.size()) {}
@@ -392,7 +392,7 @@ class AlphaNum {
392
392
  AlphaNum& operator=(const AlphaNum&) = delete;
393
393
 
394
394
  absl::string_view::size_type size() const { return piece_.size(); }
395
- absl::Nullable<const char*> data() const { return piece_.data(); }
395
+ const char* absl_nullable data() const { return piece_.data(); }
396
396
  absl::string_view Piece() const { return piece_; }
397
397
 
398
398
  // Match unscoped enums. Use integral promotion so that a `char`-backed
@@ -462,7 +462,7 @@ namespace strings_internal {
462
462
 
463
463
  // Do not call directly - this is not part of the public API.
464
464
  std::string CatPieces(std::initializer_list<absl::string_view> pieces);
465
- void AppendPieces(absl::Nonnull<std::string*> dest,
465
+ void AppendPieces(std::string* absl_nonnull dest,
466
466
  std::initializer_list<absl::string_view> pieces);
467
467
 
468
468
  template <typename Integer>
@@ -538,28 +538,28 @@ using EnableIfFastCase = T;
538
538
 
539
539
  } // namespace strings_internal
540
540
 
541
- ABSL_MUST_USE_RESULT inline std::string StrCat() { return std::string(); }
541
+ [[nodiscard]] inline std::string StrCat() { return std::string(); }
542
542
 
543
543
  template <typename T>
544
- ABSL_MUST_USE_RESULT inline std::string StrCat(
544
+ [[nodiscard]] inline std::string StrCat(
545
545
  strings_internal::EnableIfFastCase<T> a) {
546
546
  return strings_internal::SingleArgStrCat(a);
547
547
  }
548
- ABSL_MUST_USE_RESULT inline std::string StrCat(const AlphaNum& a) {
548
+ [[nodiscard]] inline std::string StrCat(const AlphaNum& a) {
549
549
  return std::string(a.data(), a.size());
550
550
  }
551
551
 
552
- ABSL_MUST_USE_RESULT std::string StrCat(const AlphaNum& a, const AlphaNum& b);
553
- ABSL_MUST_USE_RESULT std::string StrCat(const AlphaNum& a, const AlphaNum& b,
554
- const AlphaNum& c);
555
- ABSL_MUST_USE_RESULT std::string StrCat(const AlphaNum& a, const AlphaNum& b,
556
- const AlphaNum& c, const AlphaNum& d);
552
+ [[nodiscard]] std::string StrCat(const AlphaNum& a, const AlphaNum& b);
553
+ [[nodiscard]] std::string StrCat(const AlphaNum& a, const AlphaNum& b,
554
+ const AlphaNum& c);
555
+ [[nodiscard]] std::string StrCat(const AlphaNum& a, const AlphaNum& b,
556
+ const AlphaNum& c, const AlphaNum& d);
557
557
 
558
558
  // Support 5 or more arguments
559
559
  template <typename... AV>
560
- ABSL_MUST_USE_RESULT inline std::string StrCat(
561
- const AlphaNum& a, const AlphaNum& b, const AlphaNum& c, const AlphaNum& d,
562
- const AlphaNum& e, const AV&... args) {
560
+ [[nodiscard]] inline std::string StrCat(const AlphaNum& a, const AlphaNum& b,
561
+ const AlphaNum& c, const AlphaNum& d,
562
+ const AlphaNum& e, const AV&... args) {
563
563
  return strings_internal::CatPieces(
564
564
  {a.Piece(), b.Piece(), c.Piece(), d.Piece(), e.Piece(),
565
565
  static_cast<const AlphaNum&>(args).Piece()...});
@@ -592,18 +592,18 @@ ABSL_MUST_USE_RESULT inline std::string StrCat(
592
592
  // absl::string_view p = s;
593
593
  // StrAppend(&s, p);
594
594
 
595
- inline void StrAppend(absl::Nonnull<std::string*>) {}
596
- void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a);
597
- void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
595
+ inline void StrAppend(std::string* absl_nonnull) {}
596
+ void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a);
597
+ void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a,
598
598
  const AlphaNum& b);
599
- void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
599
+ void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a,
600
600
  const AlphaNum& b, const AlphaNum& c);
601
- void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
601
+ void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a,
602
602
  const AlphaNum& b, const AlphaNum& c, const AlphaNum& d);
603
603
 
604
604
  // Support 5 or more arguments
605
605
  template <typename... AV>
606
- inline void StrAppend(absl::Nonnull<std::string*> dest, const AlphaNum& a,
606
+ inline void StrAppend(std::string* absl_nonnull dest, const AlphaNum& a,
607
607
  const AlphaNum& b, const AlphaNum& c, const AlphaNum& d,
608
608
  const AlphaNum& e, const AV&... args) {
609
609
  strings_internal::AppendPieces(
@@ -21,12 +21,13 @@
21
21
  #include <tuple>
22
22
  #include <utility>
23
23
 
24
- #include "benchmark/benchmark.h"
25
24
  #include "absl/random/log_uniform_int_distribution.h"
26
25
  #include "absl/random/random.h"
27
26
  #include "absl/strings/str_cat.h"
27
+ #include "absl/strings/str_format.h"
28
28
  #include "absl/strings/string_view.h"
29
29
  #include "absl/strings/substitute.h"
30
+ #include "benchmark/benchmark.h"
30
31
 
31
32
  namespace {
32
33
 
@@ -111,6 +112,17 @@ void BM_HexCat_By_StrCat(benchmark::State& state) {
111
112
  }
112
113
  BENCHMARK(BM_HexCat_By_StrCat);
113
114
 
115
+ void BM_HexCat_By_StrFormat(benchmark::State& state) {
116
+ int i = 0;
117
+ for (auto _ : state) {
118
+ std::string result =
119
+ absl::StrFormat("%s %x", kStringOne, int64_t{i} + 0x10000000);
120
+ benchmark::DoNotOptimize(result);
121
+ i = IncrementAlternatingSign(i);
122
+ }
123
+ }
124
+ BENCHMARK(BM_HexCat_By_StrFormat);
125
+
114
126
  void BM_HexCat_By_Substitute(benchmark::State& state) {
115
127
  int i = 0;
116
128
  for (auto _ : state) {
@@ -145,6 +157,18 @@ void BM_DoubleToString_By_SixDigits(benchmark::State& state) {
145
157
  }
146
158
  BENCHMARK(BM_DoubleToString_By_SixDigits);
147
159
 
160
+ void BM_FloatToString_By_StrFormat(benchmark::State& state) {
161
+ int i = 0;
162
+ float foo = 0.0f;
163
+ for (auto _ : state) {
164
+ std::string result =
165
+ absl::StrFormat("%f != %lld", foo += 1.001f, int64_t{i});
166
+ benchmark::DoNotOptimize(result);
167
+ i = IncrementAlternatingSign(i);
168
+ }
169
+ }
170
+ BENCHMARK(BM_FloatToString_By_StrFormat);
171
+
148
172
  template <typename Table, size_t... Index>
149
173
  void BM_StrAppendImpl(benchmark::State& state, Table table, size_t total_bytes,
150
174
  std::index_sequence<Index...>) {
@@ -21,6 +21,7 @@
21
21
  #include <cstdlib>
22
22
  #include <limits>
23
23
  #include <string>
24
+ #include <string_view>
24
25
  #include <vector>
25
26
 
26
27
  #include "gtest/gtest.h"
@@ -28,10 +29,6 @@
28
29
  #include "absl/strings/str_format.h"
29
30
  #include "absl/strings/string_view.h"
30
31
 
31
- #if defined(ABSL_HAVE_STD_STRING_VIEW)
32
- #include <string_view>
33
- #endif
34
-
35
32
  #ifdef __ANDROID__
36
33
  // Android assert messages only go to system log, so death tests cannot inspect
37
34
  // the message for matching.
@@ -78,7 +75,7 @@ TEST(StrCat, Ints) {
78
75
  TEST(StrCat, Enums) {
79
76
  enum SmallNumbers { One = 1, Ten = 10 } e = Ten;
80
77
  EXPECT_EQ("10", absl::StrCat(e));
81
- EXPECT_EQ("-5", absl::StrCat(SmallNumbers(-5)));
78
+ EXPECT_EQ("1", absl::StrCat(One));
82
79
 
83
80
  enum class Option { Boxers = 1, Briefs = -1 };
84
81
 
@@ -219,13 +216,11 @@ TEST(StrCat, CornerCases) {
219
216
  EXPECT_EQ(result, "");
220
217
  }
221
218
 
222
- #if defined(ABSL_HAVE_STD_STRING_VIEW)
223
219
  TEST(StrCat, StdStringView) {
224
220
  std::string_view pieces[] = {"Hello", ", ", "World", "!"};
225
221
  EXPECT_EQ(absl::StrCat(pieces[0], pieces[1], pieces[2], pieces[3]),
226
222
  "Hello, World!");
227
223
  }
228
- #endif // ABSL_HAVE_STD_STRING_VIEW
229
224
 
230
225
  TEST(StrCat, NullConstCharPtr) {
231
226
  const char* null = nullptr;
@@ -112,7 +112,7 @@ class UntypedFormatSpec {
112
112
 
113
113
  protected:
114
114
  explicit UntypedFormatSpec(
115
- absl::Nonnull<const str_format_internal::ParsedFormatBase*> pc)
115
+ const str_format_internal::ParsedFormatBase* absl_nonnull pc)
116
116
  : spec_(pc) {}
117
117
 
118
118
  private:
@@ -152,7 +152,7 @@ str_format_internal::StreamedWrapper<T> FormatStreamed(const T& v) {
152
152
  // EXPECT_EQ(8, n);
153
153
  class FormatCountCapture {
154
154
  public:
155
- explicit FormatCountCapture(absl::Nonnull<int*> p) : p_(p) {}
155
+ explicit FormatCountCapture(int* absl_nonnull p) : p_(p) {}
156
156
 
157
157
  private:
158
158
  // FormatCountCaptureHelper is used to define FormatConvertImpl() for this
@@ -161,8 +161,8 @@ class FormatCountCapture {
161
161
  // Unused() is here because of the false positive from -Wunused-private-field
162
162
  // p_ is used in the templated function of the friend FormatCountCaptureHelper
163
163
  // class.
164
- absl::Nonnull<int*> Unused() { return p_; }
165
- absl::Nonnull<int*> p_;
164
+ int* absl_nonnull Unused() { return p_; }
165
+ int* absl_nonnull p_;
166
166
  };
167
167
 
168
168
  // FormatSpec
@@ -359,8 +359,8 @@ using ParsedFormat = str_format_internal::ExtendedParsedFormat<
359
359
  //
360
360
  // Returns an empty string in case of error.
361
361
  template <typename... Args>
362
- ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec<Args...>& format,
363
- const Args&... args) {
362
+ [[nodiscard]] std::string StrFormat(const FormatSpec<Args...>& format,
363
+ const Args&... args) {
364
364
  return str_format_internal::FormatPack(
365
365
  str_format_internal::UntypedFormatSpecImpl::Extract(format),
366
366
  {str_format_internal::FormatArgImpl(args)...});
@@ -377,7 +377,7 @@ ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec<Args...>& format,
377
377
  // std::string orig("For example PI is approximately ");
378
378
  // std::cout << StrAppendFormat(&orig, "%12.6f", 3.14);
379
379
  template <typename... Args>
380
- std::string& StrAppendFormat(absl::Nonnull<std::string*> dst,
380
+ std::string& StrAppendFormat(std::string* absl_nonnull dst,
381
381
  const FormatSpec<Args...>& format,
382
382
  const Args&... args) {
383
383
  return str_format_internal::AppendPack(
@@ -396,7 +396,7 @@ std::string& StrAppendFormat(absl::Nonnull<std::string*> dst,
396
396
  //
397
397
  // std::cout << StreamFormat("%12.6f", 3.14);
398
398
  template <typename... Args>
399
- ABSL_MUST_USE_RESULT str_format_internal::Streamable StreamFormat(
399
+ [[nodiscard]] str_format_internal::Streamable StreamFormat(
400
400
  const FormatSpec<Args...>& format, const Args&... args) {
401
401
  return str_format_internal::Streamable(
402
402
  str_format_internal::UntypedFormatSpecImpl::Extract(format),
@@ -437,7 +437,7 @@ int PrintF(const FormatSpec<Args...>& format, const Args&... args) {
437
437
  // Outputs: "The capital of Mongolia is Ulaanbaatar"
438
438
  //
439
439
  template <typename... Args>
440
- int FPrintF(absl::Nonnull<std::FILE*> output, const FormatSpec<Args...>& format,
440
+ int FPrintF(std::FILE* absl_nonnull output, const FormatSpec<Args...>& format,
441
441
  const Args&... args) {
442
442
  return str_format_internal::FprintF(
443
443
  output, str_format_internal::UntypedFormatSpecImpl::Extract(format),
@@ -466,7 +466,7 @@ int FPrintF(absl::Nonnull<std::FILE*> output, const FormatSpec<Args...>& format,
466
466
  // Post-condition: output == "The capital of Mongolia is Ulaanbaatar"
467
467
  //
468
468
  template <typename... Args>
469
- int SNPrintF(absl::Nonnull<char*> output, std::size_t size,
469
+ int SNPrintF(char* absl_nonnull output, std::size_t size,
470
470
  const FormatSpec<Args...>& format, const Args&... args) {
471
471
  return str_format_internal::SnprintF(
472
472
  output, size, str_format_internal::UntypedFormatSpecImpl::Extract(format),
@@ -500,7 +500,7 @@ class FormatRawSink {
500
500
  template <typename T,
501
501
  typename = typename std::enable_if<std::is_constructible<
502
502
  str_format_internal::FormatRawSinkImpl, T*>::value>::type>
503
- FormatRawSink(absl::Nonnull<T*> raw) // NOLINT
503
+ FormatRawSink(T* absl_nonnull raw) // NOLINT
504
504
  : sink_(raw) {}
505
505
 
506
506
  private:
@@ -582,9 +582,9 @@ using FormatArg = str_format_internal::FormatArgImpl;
582
582
  // return std::move(out);
583
583
  // }
584
584
  //
585
- ABSL_MUST_USE_RESULT inline bool FormatUntyped(
586
- FormatRawSink raw_sink, const UntypedFormatSpec& format,
587
- absl::Span<const FormatArg> args) {
585
+ [[nodiscard]] inline bool FormatUntyped(FormatRawSink raw_sink,
586
+ const UntypedFormatSpec& format,
587
+ absl::Span<const FormatArg> args) {
588
588
  return str_format_internal::FormatUntyped(
589
589
  str_format_internal::FormatRawSinkImpl::Extract(raw_sink),
590
590
  str_format_internal::UntypedFormatSpecImpl::Extract(format), args);
@@ -609,7 +609,7 @@ ABSL_MUST_USE_RESULT inline bool FormatUntyped(
609
609
  //
610
610
  // Note that unlike with AbslFormatConvert(), AbslStringify() does not allow
611
611
  // customization of allowed conversion characters. AbslStringify() uses `%v` as
612
- // the underlying conversion specififer. Additionally, AbslStringify() supports
612
+ // the underlying conversion specifier. Additionally, AbslStringify() supports
613
613
  // use with absl::StrCat while AbslFormatConvert() does not.
614
614
  //
615
615
  // Example:
@@ -857,16 +857,16 @@ class FormatSink {
857
857
  }
858
858
 
859
859
  // Support `absl::Format(&sink, format, args...)`.
860
- friend void AbslFormatFlush(absl::Nonnull<FormatSink*> sink,
860
+ friend void AbslFormatFlush(FormatSink* absl_nonnull sink,
861
861
  absl::string_view v) {
862
862
  sink->Append(v);
863
863
  }
864
864
 
865
865
  private:
866
866
  friend str_format_internal::FormatSinkImpl;
867
- explicit FormatSink(absl::Nonnull<str_format_internal::FormatSinkImpl*> s)
867
+ explicit FormatSink(str_format_internal::FormatSinkImpl* absl_nonnull s)
868
868
  : sink_(s) {}
869
- absl::Nonnull<str_format_internal::FormatSinkImpl*> sink_;
869
+ str_format_internal::FormatSinkImpl* absl_nonnull sink_;
870
870
  };
871
871
 
872
872
  // FormatConvertResult
@@ -516,14 +516,11 @@ TEST_F(FormatEntryPointTest, SNPrintF) {
516
516
  EXPECT_EQ(result, 17);
517
517
  EXPECT_EQ(std::string(buffer), "NUMBER: 1234567");
518
518
 
519
- // The `output` parameter is annotated nonnull, but we want to test that
520
- // it is never written to if the size is zero.
521
- // Use a variable instead of passing nullptr directly to avoid a `-Wnonnull`
522
- // warning.
523
- char* null_output = nullptr;
524
- result =
525
- SNPrintF(null_output, 0, "Just checking the %s of the output.", "size");
519
+ // Test that the buffer is never written to if the size is zero.
520
+ buffer[0] = '\0';
521
+ result = SNPrintF(buffer, 0, "Just checking the %s of the output.", "size");
526
522
  EXPECT_EQ(result, 37);
523
+ EXPECT_EQ(buffer[0], '\0');
527
524
  }
528
525
 
529
526
  TEST_F(FormatEntryPointTest, SNPrintFWithV) {
@@ -551,14 +548,11 @@ TEST_F(FormatEntryPointTest, SNPrintFWithV) {
551
548
 
552
549
  std::string size = "size";
553
550
 
554
- // The `output` parameter is annotated nonnull, but we want to test that
555
- // it is never written to if the size is zero.
556
- // Use a variable instead of passing nullptr directly to avoid a `-Wnonnull`
557
- // warning.
558
- char* null_output = nullptr;
559
- result =
560
- SNPrintF(null_output, 0, "Just checking the %v of the output.", size);
551
+ // Test that the buffer is never written to if the size is zero.
552
+ buffer[0] = '\0';
553
+ result = SNPrintF(buffer, 0, "Just checking the %v of the output.", size);
561
554
  EXPECT_EQ(result, 37);
555
+ EXPECT_EQ(buffer[0], '\0');
562
556
  }
563
557
 
564
558
  TEST(StrFormat, BehavesAsDocumented) {
@@ -13,13 +13,12 @@
13
13
  // See the License for the specific language governing permissions and
14
14
  // limitations under the License.
15
15
 
16
- #include "absl/strings/str_join.h"
17
-
18
16
  #include <string>
19
17
  #include <tuple>
20
- #include <vector>
21
18
  #include <utility>
19
+ #include <vector>
22
20
 
21
+ #include "absl/strings/str_join.h"
23
22
  #include "benchmark/benchmark.h"
24
23
 
25
24
  namespace {
@@ -37,8 +37,8 @@ using FixedMapping =
37
37
  // occurred.
38
38
  int ApplySubstitutions(
39
39
  absl::string_view s,
40
- absl::Nonnull<std::vector<strings_internal::ViableSubstitution>*> subs_ptr,
41
- absl::Nonnull<std::string*> result_ptr) {
40
+ std::vector<strings_internal::ViableSubstitution>* absl_nonnull subs_ptr,
41
+ std::string* absl_nonnull result_ptr) {
42
42
  auto& subs = *subs_ptr;
43
43
  int substitutions = 0;
44
44
  size_t pos = 0;
@@ -83,7 +83,7 @@ std::string StrReplaceAll(absl::string_view s,
83
83
  }
84
84
 
85
85
  int StrReplaceAll(strings_internal::FixedMapping replacements,
86
- absl::Nonnull<std::string*> target) {
86
+ std::string* absl_nonnull target) {
87
87
  return StrReplaceAll<strings_internal::FixedMapping>(replacements, target);
88
88
  }
89
89
 
@@ -66,7 +66,7 @@ ABSL_NAMESPACE_BEGIN
66
66
  // {"$who", "Bob"},
67
67
  // {"#Noun", "Apples"}});
68
68
  // EXPECT_EQ("Bob bought 5 Apples. Thanks Bob!", s);
69
- ABSL_MUST_USE_RESULT std::string StrReplaceAll(
69
+ [[nodiscard]] std::string StrReplaceAll(
70
70
  absl::string_view s,
71
71
  std::initializer_list<std::pair<absl::string_view, absl::string_view>>
72
72
  replacements);
@@ -114,7 +114,7 @@ std::string StrReplaceAll(absl::string_view s,
114
114
  int StrReplaceAll(
115
115
  std::initializer_list<std::pair<absl::string_view, absl::string_view>>
116
116
  replacements,
117
- absl::Nonnull<std::string*> target);
117
+ std::string* absl_nonnull target);
118
118
 
119
119
  // Overload of `StrReplaceAll()` to replace patterns within a given output
120
120
  // string *in place* with replacements provided within a container of key/value
@@ -130,7 +130,7 @@ int StrReplaceAll(
130
130
  // EXPECT_EQ("if (ptr &lt; &amp;foo)", s);
131
131
  template <typename StrToStrMapping>
132
132
  int StrReplaceAll(const StrToStrMapping& replacements,
133
- absl::Nonnull<std::string*> target);
133
+ std::string* absl_nonnull target);
134
134
 
135
135
  // Implementation details only, past this point.
136
136
  namespace strings_internal {
@@ -187,8 +187,8 @@ std::vector<ViableSubstitution> FindSubstitutions(
187
187
  }
188
188
 
189
189
  int ApplySubstitutions(absl::string_view s,
190
- absl::Nonnull<std::vector<ViableSubstitution>*> subs_ptr,
191
- absl::Nonnull<std::string*> result_ptr);
190
+ std::vector<ViableSubstitution>* absl_nonnull subs_ptr,
191
+ std::string* absl_nonnull result_ptr);
192
192
 
193
193
  } // namespace strings_internal
194
194
 
@@ -204,7 +204,7 @@ std::string StrReplaceAll(absl::string_view s,
204
204
 
205
205
  template <typename StrToStrMapping>
206
206
  int StrReplaceAll(const StrToStrMapping& replacements,
207
- absl::Nonnull<std::string*> target) {
207
+ std::string* absl_nonnull target) {
208
208
  auto subs = strings_internal::FindSubstitutions(*target, replacements);
209
209
  if (subs.empty()) return 0;
210
210
 
@@ -12,13 +12,12 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "absl/strings/str_replace.h"
16
-
17
15
  #include <cstring>
18
16
  #include <string>
19
17
 
20
- #include "benchmark/benchmark.h"
21
18
  #include "absl/base/internal/raw_logging.h"
19
+ #include "absl/strings/str_replace.h"
20
+ #include "benchmark/benchmark.h"
22
21
 
23
22
  namespace {
24
23
 
@@ -127,7 +127,7 @@ class ByString {
127
127
  absl::string_view Find(absl::string_view text, size_t pos) const;
128
128
 
129
129
  private:
130
- const std::string delimiter_;
130
+ std::string delimiter_;
131
131
  };
132
132
 
133
133
  // ByAsciiWhitespace
@@ -277,7 +277,7 @@ template <typename Delimiter>
277
277
  class MaxSplitsImpl {
278
278
  public:
279
279
  MaxSplitsImpl(Delimiter delimiter, int limit)
280
- : delimiter_(delimiter), limit_(limit), count_(0) {}
280
+ : delimiter_(std::move(delimiter)), limit_(limit), count_(0) {}
281
281
  absl::string_view Find(absl::string_view text, size_t pos) {
282
282
  if (count_++ == limit_) {
283
283
  return absl::string_view(text.data() + text.size(),
@@ -12,8 +12,6 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "absl/strings/str_split.h"
16
-
17
15
  #include <cstddef>
18
16
  #include <iterator>
19
17
  #include <string>
@@ -21,9 +19,10 @@
21
19
  #include <unordered_set>
22
20
  #include <vector>
23
21
 
24
- #include "benchmark/benchmark.h"
25
22
  #include "absl/base/internal/raw_logging.h"
23
+ #include "absl/strings/str_split.h"
26
24
  #include "absl/strings/string_view.h"
25
+ #include "benchmark/benchmark.h"
27
26
 
28
27
  namespace {
29
28
 
@@ -30,10 +30,10 @@ namespace {
30
30
 
31
31
  // This is significantly faster for case-sensitive matches with very
32
32
  // few possible matches.
33
- absl::Nullable<const char*> memmatch(absl::Nullable<const char*> phaystack,
34
- size_t haylen,
35
- absl::Nullable<const char*> pneedle,
36
- size_t neelen) {
33
+ const char* absl_nullable memmatch(const char* absl_nullable phaystack,
34
+ size_t haylen,
35
+ const char* absl_nullable pneedle,
36
+ size_t neelen) {
37
37
  if (0 == neelen) {
38
38
  return phaystack; // even if haylen is 0
39
39
  }
@@ -233,11 +233,6 @@ string_view::size_type string_view::find_last_not_of(
233
233
  return npos;
234
234
  }
235
235
 
236
- #ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
237
- constexpr string_view::size_type string_view::npos;
238
- constexpr string_view::size_type string_view::kMaxSize;
239
- #endif
240
-
241
236
  ABSL_NAMESPACE_END
242
237
  } // namespace absl
243
238