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
@@ -117,7 +117,7 @@
117
117
  //
118
118
  // LTS releases can be obtained from
119
119
  // https://github.com/abseil/abseil-cpp/releases.
120
- #define ABSL_LTS_RELEASE_VERSION 20250127
120
+ #define ABSL_LTS_RELEASE_VERSION 20250814
121
121
  #define ABSL_LTS_RELEASE_PATCH_LEVEL 1
122
122
 
123
123
  // Helper macro to convert a CPP variable to a string literal.
@@ -237,6 +237,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
237
237
  #error ABSL_HAVE_TLS cannot be directly set
238
238
  #elif (defined(__linux__)) && (defined(__clang__) || defined(_GLIBCXX_HAVE_TLS))
239
239
  #define ABSL_HAVE_TLS 1
240
+ #elif defined(__INTEL_LLVM_COMPILER)
241
+ #define ABSL_HAVE_TLS 1
240
242
  #endif
241
243
 
242
244
  // ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE
@@ -274,15 +276,12 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
274
276
  #define ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE 1
275
277
  #endif
276
278
 
277
-
278
279
  // ABSL_HAVE_THREAD_LOCAL
279
280
  //
280
- // DEPRECATED - `thread_local` is available on all supported platforms.
281
- // Checks whether C++11's `thread_local` storage duration specifier is
282
- // supported.
281
+ // Checks whether the `thread_local` storage duration specifier is supported.
283
282
  #ifdef ABSL_HAVE_THREAD_LOCAL
284
283
  #error ABSL_HAVE_THREAD_LOCAL cannot be directly set
285
- #else
284
+ #elif !defined(__XTENSA__)
286
285
  #define ABSL_HAVE_THREAD_LOCAL 1
287
286
  #endif
288
287
 
@@ -469,6 +468,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
469
468
  //
470
469
  // Checks the endianness of the platform.
471
470
  //
471
+ // Prefer using `std::endian` in C++20, or `absl::endian` from
472
+ // absl/numeric/bits.h prior to C++20.
473
+ //
472
474
  // Notes: uses the built in endian macros provided by GCC (since 4.6) and
473
475
  // Clang (since 3.2); see
474
476
  // https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html.
@@ -520,54 +522,22 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
520
522
  #define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 0
521
523
  #endif
522
524
 
523
- // ABSL_HAVE_STD_ANY
524
- //
525
- // Checks whether C++17 std::any is available.
526
- #ifdef ABSL_HAVE_STD_ANY
527
- #error "ABSL_HAVE_STD_ANY cannot be directly set."
528
- #elif defined(__cpp_lib_any) && __cpp_lib_any >= 201606L
529
- #define ABSL_HAVE_STD_ANY 1
530
- #elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
531
- ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \
532
- !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
525
+ // Deprecated macros for polyfill detection.
533
526
  #define ABSL_HAVE_STD_ANY 1
534
- #endif
535
-
536
- // ABSL_HAVE_STD_OPTIONAL
537
- //
538
- // Checks whether C++17 std::optional is available.
539
- #ifdef ABSL_HAVE_STD_OPTIONAL
540
- #error "ABSL_HAVE_STD_OPTIONAL cannot be directly set."
541
- #elif defined(__cpp_lib_optional) && __cpp_lib_optional >= 202106L
542
- #define ABSL_HAVE_STD_OPTIONAL 1
543
- #elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
544
- ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \
545
- !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
527
+ #define ABSL_USES_STD_ANY 1
546
528
  #define ABSL_HAVE_STD_OPTIONAL 1
547
- #endif
548
-
549
- // ABSL_HAVE_STD_VARIANT
550
- //
551
- // Checks whether C++17 std::variant is available.
552
- #ifdef ABSL_HAVE_STD_VARIANT
553
- #error "ABSL_HAVE_STD_VARIANT cannot be directly set."
554
- #elif defined(__cpp_lib_variant) && __cpp_lib_variant >= 201606L
555
- #define ABSL_HAVE_STD_VARIANT 1
556
- #elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
557
- ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \
558
- !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
529
+ #define ABSL_USES_STD_OPTIONAL 1
559
530
  #define ABSL_HAVE_STD_VARIANT 1
560
- #endif
531
+ #define ABSL_USES_STD_VARIANT 1
561
532
 
562
533
  // ABSL_HAVE_STD_STRING_VIEW
563
534
  //
564
- // Checks whether C++17 std::string_view is available.
535
+ // Deprecated: always defined to 1.
536
+ // std::string_view was added in C++17, which means all versions of C++
537
+ // supported by Abseil have it.
565
538
  #ifdef ABSL_HAVE_STD_STRING_VIEW
566
539
  #error "ABSL_HAVE_STD_STRING_VIEW cannot be directly set."
567
- #elif defined(__cpp_lib_string_view) && __cpp_lib_string_view >= 201606L
568
- #define ABSL_HAVE_STD_STRING_VIEW 1
569
- #elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
570
- ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L
540
+ #else
571
541
  #define ABSL_HAVE_STD_STRING_VIEW 1
572
542
  #endif
573
543
 
@@ -587,63 +557,15 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
587
557
  #define ABSL_HAVE_STD_ORDERING 1
588
558
  #endif
589
559
 
590
- // ABSL_USES_STD_ANY
591
- //
592
- // Indicates whether absl::any is an alias for std::any.
593
- #if !defined(ABSL_OPTION_USE_STD_ANY)
594
- #error options.h is misconfigured.
595
- #elif ABSL_OPTION_USE_STD_ANY == 0 || \
596
- (ABSL_OPTION_USE_STD_ANY == 2 && !defined(ABSL_HAVE_STD_ANY))
597
- #undef ABSL_USES_STD_ANY
598
- #elif ABSL_OPTION_USE_STD_ANY == 1 || \
599
- (ABSL_OPTION_USE_STD_ANY == 2 && defined(ABSL_HAVE_STD_ANY))
600
- #define ABSL_USES_STD_ANY 1
601
- #else
602
- #error options.h is misconfigured.
603
- #endif
604
-
605
- // ABSL_USES_STD_OPTIONAL
606
- //
607
- // Indicates whether absl::optional is an alias for std::optional.
608
- #if !defined(ABSL_OPTION_USE_STD_OPTIONAL)
609
- #error options.h is misconfigured.
610
- #elif ABSL_OPTION_USE_STD_OPTIONAL == 0 || \
611
- (ABSL_OPTION_USE_STD_OPTIONAL == 2 && !defined(ABSL_HAVE_STD_OPTIONAL))
612
- #undef ABSL_USES_STD_OPTIONAL
613
- #elif ABSL_OPTION_USE_STD_OPTIONAL == 1 || \
614
- (ABSL_OPTION_USE_STD_OPTIONAL == 2 && defined(ABSL_HAVE_STD_OPTIONAL))
615
- #define ABSL_USES_STD_OPTIONAL 1
616
- #else
617
- #error options.h is misconfigured.
618
- #endif
619
-
620
- // ABSL_USES_STD_VARIANT
621
- //
622
- // Indicates whether absl::variant is an alias for std::variant.
623
- #if !defined(ABSL_OPTION_USE_STD_VARIANT)
624
- #error options.h is misconfigured.
625
- #elif ABSL_OPTION_USE_STD_VARIANT == 0 || \
626
- (ABSL_OPTION_USE_STD_VARIANT == 2 && !defined(ABSL_HAVE_STD_VARIANT))
627
- #undef ABSL_USES_STD_VARIANT
628
- #elif ABSL_OPTION_USE_STD_VARIANT == 1 || \
629
- (ABSL_OPTION_USE_STD_VARIANT == 2 && defined(ABSL_HAVE_STD_VARIANT))
630
- #define ABSL_USES_STD_VARIANT 1
631
- #else
632
- #error options.h is misconfigured.
633
- #endif
634
-
635
560
  // ABSL_USES_STD_STRING_VIEW
636
561
  //
637
562
  // Indicates whether absl::string_view is an alias for std::string_view.
638
563
  #if !defined(ABSL_OPTION_USE_STD_STRING_VIEW)
639
564
  #error options.h is misconfigured.
640
- #elif ABSL_OPTION_USE_STD_STRING_VIEW == 0 || \
641
- (ABSL_OPTION_USE_STD_STRING_VIEW == 2 && \
642
- !defined(ABSL_HAVE_STD_STRING_VIEW))
565
+ #elif ABSL_OPTION_USE_STD_STRING_VIEW == 0
643
566
  #undef ABSL_USES_STD_STRING_VIEW
644
567
  #elif ABSL_OPTION_USE_STD_STRING_VIEW == 1 || \
645
- (ABSL_OPTION_USE_STD_STRING_VIEW == 2 && \
646
- defined(ABSL_HAVE_STD_STRING_VIEW))
568
+ ABSL_OPTION_USE_STD_STRING_VIEW == 2
647
569
  #define ABSL_USES_STD_STRING_VIEW 1
648
570
  #else
649
571
  #error options.h is misconfigured.
@@ -665,14 +587,6 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
665
587
  #error options.h is misconfigured.
666
588
  #endif
667
589
 
668
- // In debug mode, MSVC 2017's std::variant throws a EXCEPTION_ACCESS_VIOLATION
669
- // SEH exception from emplace for variant<SomeStruct> when constructing the
670
- // struct can throw. This defeats some of variant_test and
671
- // variant_exception_safety_test.
672
- #if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_DEBUG)
673
- #define ABSL_INTERNAL_MSVC_2017_DBG_MODE
674
- #endif
675
-
676
590
  // ABSL_INTERNAL_MANGLED_NS
677
591
  // ABSL_INTERNAL_MANGLED_BACKREFERENCE
678
592
  //
@@ -813,36 +727,15 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
813
727
 
814
728
  // ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION
815
729
  //
816
- // Class template argument deduction is a language feature added in C++17.
730
+ // Deprecated: always defined to 1.
731
+ // Class template argument deduction is a language feature added in C++17,
732
+ // which means all versions of C++ supported by Abseil have it.
817
733
  #ifdef ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION
818
734
  #error "ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION cannot be directly set."
819
- #elif defined(__cpp_deduction_guides)
735
+ #else
820
736
  #define ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION 1
821
737
  #endif
822
738
 
823
- // ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
824
- //
825
- // Prior to C++17, static constexpr variables defined in classes required a
826
- // separate definition outside of the class body, for example:
827
- //
828
- // class Foo {
829
- // static constexpr int kBar = 0;
830
- // };
831
- // constexpr int Foo::kBar;
832
- //
833
- // In C++17, these variables defined in classes are considered inline variables,
834
- // and the extra declaration is redundant. Since some compilers warn on the
835
- // extra declarations, ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL can be used
836
- // conditionally ignore them:
837
- //
838
- // #ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
839
- // constexpr int Foo::kBar;
840
- // #endif
841
- #if defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \
842
- ABSL_INTERNAL_CPLUSPLUS_LANG < 201703L
843
- #define ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL 1
844
- #endif
845
-
846
739
  // `ABSL_INTERNAL_HAS_RTTI` determines whether abseil is being compiled with
847
740
  // RTTI support.
848
741
  #ifdef ABSL_INTERNAL_HAS_RTTI
@@ -705,10 +705,6 @@ struct BasicGuaranteeWithExtraContracts : public NonNegative {
705
705
  static constexpr int kExceptionSentinel = 9999;
706
706
  };
707
707
 
708
- #ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
709
- constexpr int BasicGuaranteeWithExtraContracts::kExceptionSentinel;
710
- #endif
711
-
712
708
  TEST(ExceptionCheckTest, BasicGuaranteeWithExtraContracts) {
713
709
  auto tester_with_val =
714
710
  tester.WithInitialValue(BasicGuaranteeWithExtraContracts{});
@@ -1,4 +1,3 @@
1
- //
2
1
  // Copyright 2020 The Abseil Authors.
3
2
  //
4
3
  // Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,37 +13,33 @@
14
13
  // limitations under the License.
15
14
  //
16
15
 
17
- #ifndef ABSL_BASE_INTERNAL_FAST_TYPE_ID_H_
18
- #define ABSL_BASE_INTERNAL_FAST_TYPE_ID_H_
16
+ #ifndef ABSL_BASE_FAST_TYPE_ID_H_
17
+ #define ABSL_BASE_FAST_TYPE_ID_H_
19
18
 
20
19
  #include "absl/base/config.h"
21
20
 
22
21
  namespace absl {
23
22
  ABSL_NAMESPACE_BEGIN
24
- namespace base_internal {
25
23
 
24
+ namespace base_internal {
26
25
  template <typename Type>
27
26
  struct FastTypeTag {
28
- constexpr static char dummy_var = 0;
27
+ static constexpr char kDummyVar = 0;
29
28
  };
29
+ } // namespace base_internal
30
30
 
31
- #ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
32
- template <typename Type>
33
- constexpr char FastTypeTag<Type>::dummy_var;
34
- #endif
31
+ // The type returned by `absl::FastTypeId<T>()`.
32
+ using FastTypeIdType = const void*;
35
33
 
36
- // FastTypeId<Type>() evaluates at compile/link-time to a unique pointer for the
34
+ // `absl::FastTypeId<Type>()` evaluates at compile-time to a unique id for the
37
35
  // passed-in type. These are meant to be good match for keys into maps or
38
36
  // straight up comparisons.
39
- using FastTypeIdType = const void*;
40
-
41
37
  template <typename Type>
42
- constexpr inline FastTypeIdType FastTypeId() {
43
- return &FastTypeTag<Type>::dummy_var;
38
+ constexpr FastTypeIdType FastTypeId() {
39
+ return &base_internal::FastTypeTag<Type>::kDummyVar;
44
40
  }
45
41
 
46
- } // namespace base_internal
47
42
  ABSL_NAMESPACE_END
48
43
  } // namespace absl
49
44
 
50
- #endif // ABSL_BASE_INTERNAL_FAST_TYPE_ID_H_
45
+ #endif // ABSL_BASE_FAST_TYPE_ID_H_
@@ -12,18 +12,19 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "absl/base/internal/fast_type_id.h"
15
+ #include "absl/base/fast_type_id.h"
16
16
 
17
+ #include <cstddef>
17
18
  #include <cstdint>
18
19
  #include <map>
19
20
  #include <vector>
20
21
 
21
22
  #include "gtest/gtest.h"
23
+ #include "absl/base/macros.h"
22
24
 
23
25
  namespace {
24
- namespace bi = absl::base_internal;
25
26
 
26
- // NOLINTNEXTLINE
27
+ // NOLINTBEGIN(runtime/int)
27
28
  #define PRIM_TYPES(A) \
28
29
  A(bool) \
29
30
  A(short) \
@@ -37,28 +38,30 @@ namespace bi = absl::base_internal;
37
38
  A(float) \
38
39
  A(double) \
39
40
  A(long double)
41
+ // NOLINTEND(runtime/int)
40
42
 
41
43
  TEST(FastTypeIdTest, PrimitiveTypes) {
42
- bi::FastTypeIdType type_ids[] = {
43
- #define A(T) bi::FastTypeId<T>(),
44
+ // clang-format off
45
+ constexpr absl::FastTypeIdType kTypeIds[] = {
46
+ #define A(T) absl::FastTypeId<T>(),
44
47
  PRIM_TYPES(A)
45
48
  #undef A
46
- #define A(T) bi::FastTypeId<const T>(),
49
+ #define A(T) absl::FastTypeId<const T>(),
47
50
  PRIM_TYPES(A)
48
51
  #undef A
49
- #define A(T) bi::FastTypeId<volatile T>(),
52
+ #define A(T) absl::FastTypeId<volatile T>(),
50
53
  PRIM_TYPES(A)
51
54
  #undef A
52
- #define A(T) bi::FastTypeId<const volatile T>(),
55
+ #define A(T) absl::FastTypeId<const volatile T>(),
53
56
  PRIM_TYPES(A)
54
57
  #undef A
55
58
  };
56
- size_t total_type_ids = sizeof(type_ids) / sizeof(bi::FastTypeIdType);
59
+ // clang-format on
57
60
 
58
- for (int i = 0; i < total_type_ids; ++i) {
59
- EXPECT_EQ(type_ids[i], type_ids[i]);
60
- for (int j = 0; j < i; ++j) {
61
- EXPECT_NE(type_ids[i], type_ids[j]);
61
+ for (size_t i = 0; i < ABSL_ARRAYSIZE(kTypeIds); ++i) {
62
+ EXPECT_EQ(kTypeIds[i], kTypeIds[i]);
63
+ for (size_t j = 0; j < i; ++j) {
64
+ EXPECT_NE(kTypeIds[i], kTypeIds[j]);
62
65
  }
63
66
  }
64
67
  }
@@ -74,41 +77,42 @@ TEST(FastTypeIdTest, PrimitiveTypes) {
74
77
  A(uint64_t)
75
78
 
76
79
  TEST(FastTypeIdTest, FixedWidthTypes) {
77
- bi::FastTypeIdType type_ids[] = {
78
- #define A(T) bi::FastTypeId<T>(),
80
+ // clang-format off
81
+ constexpr absl::FastTypeIdType kTypeIds[] = {
82
+ #define A(T) absl::FastTypeId<T>(),
79
83
  FIXED_WIDTH_TYPES(A)
80
84
  #undef A
81
- #define A(T) bi::FastTypeId<const T>(),
85
+ #define A(T) absl::FastTypeId<const T>(),
82
86
  FIXED_WIDTH_TYPES(A)
83
87
  #undef A
84
- #define A(T) bi::FastTypeId<volatile T>(),
88
+ #define A(T) absl::FastTypeId<volatile T>(),
85
89
  FIXED_WIDTH_TYPES(A)
86
90
  #undef A
87
- #define A(T) bi::FastTypeId<const volatile T>(),
91
+ #define A(T) absl::FastTypeId<const volatile T>(),
88
92
  FIXED_WIDTH_TYPES(A)
89
93
  #undef A
90
94
  };
91
- size_t total_type_ids = sizeof(type_ids) / sizeof(bi::FastTypeIdType);
95
+ // clang-format on
92
96
 
93
- for (int i = 0; i < total_type_ids; ++i) {
94
- EXPECT_EQ(type_ids[i], type_ids[i]);
95
- for (int j = 0; j < i; ++j) {
96
- EXPECT_NE(type_ids[i], type_ids[j]);
97
+ for (size_t i = 0; i < ABSL_ARRAYSIZE(kTypeIds); ++i) {
98
+ EXPECT_EQ(kTypeIds[i], kTypeIds[i]);
99
+ for (size_t j = 0; j < i; ++j) {
100
+ EXPECT_NE(kTypeIds[i], kTypeIds[j]);
97
101
  }
98
102
  }
99
103
  }
100
104
 
101
105
  TEST(FastTypeIdTest, AliasTypes) {
102
106
  using int_alias = int;
103
- EXPECT_EQ(bi::FastTypeId<int_alias>(), bi::FastTypeId<int>());
107
+ EXPECT_EQ(absl::FastTypeId<int_alias>(), absl::FastTypeId<int>());
104
108
  }
105
109
 
106
110
  TEST(FastTypeIdTest, TemplateSpecializations) {
107
- EXPECT_NE(bi::FastTypeId<std::vector<int>>(),
108
- bi::FastTypeId<std::vector<long>>());
111
+ EXPECT_NE(absl::FastTypeId<std::vector<int>>(),
112
+ absl::FastTypeId<std::vector<long>>()); // NOLINT(runtime/int)
109
113
 
110
- EXPECT_NE((bi::FastTypeId<std::map<int, float>>()),
111
- (bi::FastTypeId<std::map<int, double>>()));
114
+ EXPECT_NE((absl::FastTypeId<std::map<int, float>>()),
115
+ (absl::FastTypeId<std::map<int, double>>()));
112
116
  }
113
117
 
114
118
  struct Base {};
@@ -116,8 +120,8 @@ struct Derived : Base {};
116
120
  struct PDerived : private Base {};
117
121
 
118
122
  TEST(FastTypeIdTest, Inheritance) {
119
- EXPECT_NE(bi::FastTypeId<Base>(), bi::FastTypeId<Derived>());
120
- EXPECT_NE(bi::FastTypeId<Base>(), bi::FastTypeId<PDerived>());
123
+ EXPECT_NE(absl::FastTypeId<Base>(), absl::FastTypeId<Derived>());
124
+ EXPECT_NE(absl::FastTypeId<Base>(), absl::FastTypeId<PDerived>());
121
125
  }
122
126
 
123
127
  } // namespace
@@ -35,11 +35,6 @@ namespace base_internal {
35
35
 
36
36
  #if ABSL_USE_UNSCALED_CYCLECLOCK
37
37
 
38
- #ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
39
- constexpr int32_t CycleClock::kShift;
40
- constexpr double CycleClock::kFrequencyScale;
41
- #endif
42
-
43
38
  ABSL_CONST_INIT std::atomic<CycleClockSourceFunc>
44
39
  CycleClock::cycle_clock_source_{nullptr};
45
40
 
@@ -18,7 +18,6 @@
18
18
  #include <cstdint>
19
19
 
20
20
  #include "absl/base/config.h"
21
- #include "absl/base/internal/inline_variable.h"
22
21
  #include "absl/base/internal/unscaledcycleclock_config.h"
23
22
 
24
23
  namespace absl {
@@ -31,22 +30,23 @@ namespace base_internal {
31
30
  // Not debug mode and the UnscaledCycleClock frequency is the CPU
32
31
  // frequency. Scale the CycleClock to prevent overflow if someone
33
32
  // tries to represent the time as cycles since the Unix epoch.
34
- ABSL_INTERNAL_INLINE_CONSTEXPR(int32_t, kCycleClockShift, 1);
33
+ inline constexpr int32_t kCycleClockShift = 1;
35
34
  #else
36
35
  // Not debug mode and the UnscaledCycleClock isn't operating at the
37
36
  // raw CPU frequency. There is no need to do any scaling, so don't
38
37
  // needlessly sacrifice precision.
39
- ABSL_INTERNAL_INLINE_CONSTEXPR(int32_t, kCycleClockShift, 0);
38
+ inline constexpr int32_t kCycleClockShift = 0;
40
39
  #endif
41
40
  #else // NDEBUG
42
41
  // In debug mode use a different shift to discourage depending on a
43
42
  // particular shift value.
44
- ABSL_INTERNAL_INLINE_CONSTEXPR(int32_t, kCycleClockShift, 2);
43
+ inline constexpr int32_t kCycleClockShift = 2;
45
44
  #endif // NDEBUG
46
45
 
47
- ABSL_INTERNAL_INLINE_CONSTEXPR(double, kCycleClockFrequencyScale,
48
- 1.0 / (1 << kCycleClockShift));
49
- #endif // ABSL_USE_UNSCALED_CYCLECLOC
46
+ inline constexpr double kCycleClockFrequencyScale =
47
+ 1.0 / (1 << kCycleClockShift);
48
+
49
+ #endif // ABSL_USE_UNSCALED_CYCLECLOCK
50
50
 
51
51
  } // namespace base_internal
52
52
  ABSL_NAMESPACE_END
@@ -12,6 +12,8 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  //
15
+ // This file is for Abseil internal use only.
16
+ // See //absl/numeric/bits.h for supported functions related to endian-ness.
15
17
 
16
18
  #ifndef ABSL_BASE_INTERNAL_ENDIAN_H_
17
19
  #define ABSL_BASE_INTERNAL_ENDIAN_H_
@@ -28,44 +30,38 @@
28
30
  namespace absl {
29
31
  ABSL_NAMESPACE_BEGIN
30
32
 
31
- inline uint64_t gbswap_64(uint64_t host_int) {
33
+ constexpr uint64_t gbswap_64(uint64_t x) {
32
34
  #if ABSL_HAVE_BUILTIN(__builtin_bswap64) || defined(__GNUC__)
33
- return __builtin_bswap64(host_int);
34
- #elif defined(_MSC_VER)
35
- return _byteswap_uint64(host_int);
35
+ return __builtin_bswap64(x);
36
36
  #else
37
- return (((host_int & uint64_t{0xFF}) << 56) |
38
- ((host_int & uint64_t{0xFF00}) << 40) |
39
- ((host_int & uint64_t{0xFF0000}) << 24) |
40
- ((host_int & uint64_t{0xFF000000}) << 8) |
41
- ((host_int & uint64_t{0xFF00000000}) >> 8) |
42
- ((host_int & uint64_t{0xFF0000000000}) >> 24) |
43
- ((host_int & uint64_t{0xFF000000000000}) >> 40) |
44
- ((host_int & uint64_t{0xFF00000000000000}) >> 56));
37
+ return (((x & uint64_t{0xFF}) << 56) |
38
+ ((x & uint64_t{0xFF00}) << 40) |
39
+ ((x & uint64_t{0xFF0000}) << 24) |
40
+ ((x & uint64_t{0xFF000000}) << 8) |
41
+ ((x & uint64_t{0xFF00000000}) >> 8) |
42
+ ((x & uint64_t{0xFF0000000000}) >> 24) |
43
+ ((x & uint64_t{0xFF000000000000}) >> 40) |
44
+ ((x & uint64_t{0xFF00000000000000}) >> 56));
45
45
  #endif
46
46
  }
47
47
 
48
- inline uint32_t gbswap_32(uint32_t host_int) {
48
+ constexpr uint32_t gbswap_32(uint32_t x) {
49
49
  #if ABSL_HAVE_BUILTIN(__builtin_bswap32) || defined(__GNUC__)
50
- return __builtin_bswap32(host_int);
51
- #elif defined(_MSC_VER)
52
- return _byteswap_ulong(host_int);
50
+ return __builtin_bswap32(x);
53
51
  #else
54
- return (((host_int & uint32_t{0xFF}) << 24) |
55
- ((host_int & uint32_t{0xFF00}) << 8) |
56
- ((host_int & uint32_t{0xFF0000}) >> 8) |
57
- ((host_int & uint32_t{0xFF000000}) >> 24));
52
+ return (((x & uint32_t{0xFF}) << 24) |
53
+ ((x & uint32_t{0xFF00}) << 8) |
54
+ ((x & uint32_t{0xFF0000}) >> 8) |
55
+ ((x & uint32_t{0xFF000000}) >> 24));
58
56
  #endif
59
57
  }
60
58
 
61
- inline uint16_t gbswap_16(uint16_t host_int) {
59
+ constexpr uint16_t gbswap_16(uint16_t x) {
62
60
  #if ABSL_HAVE_BUILTIN(__builtin_bswap16) || defined(__GNUC__)
63
- return __builtin_bswap16(host_int);
64
- #elif defined(_MSC_VER)
65
- return _byteswap_ushort(host_int);
61
+ return __builtin_bswap16(x);
66
62
  #else
67
- return (((host_int & uint16_t{0xFF}) << 8) |
68
- ((host_int & uint16_t{0xFF00}) >> 8));
63
+ return (((x & uint16_t{0xFF}) << 8) |
64
+ ((x & uint16_t{0xFF00}) >> 8));
69
65
  #endif
70
66
  }
71
67
 
@@ -161,27 +157,27 @@ inline int64_t ToHost(int64_t x) {
161
157
  }
162
158
 
163
159
  // Functions to do unaligned loads and stores in little-endian order.
164
- inline uint16_t Load16(absl::Nonnull<const void *> p) {
160
+ inline uint16_t Load16(const void* absl_nonnull p) {
165
161
  return ToHost16(ABSL_INTERNAL_UNALIGNED_LOAD16(p));
166
162
  }
167
163
 
168
- inline void Store16(absl::Nonnull<void *> p, uint16_t v) {
164
+ inline void Store16(void* absl_nonnull p, uint16_t v) {
169
165
  ABSL_INTERNAL_UNALIGNED_STORE16(p, FromHost16(v));
170
166
  }
171
167
 
172
- inline uint32_t Load32(absl::Nonnull<const void *> p) {
168
+ inline uint32_t Load32(const void* absl_nonnull p) {
173
169
  return ToHost32(ABSL_INTERNAL_UNALIGNED_LOAD32(p));
174
170
  }
175
171
 
176
- inline void Store32(absl::Nonnull<void *> p, uint32_t v) {
172
+ inline void Store32(void* absl_nonnull p, uint32_t v) {
177
173
  ABSL_INTERNAL_UNALIGNED_STORE32(p, FromHost32(v));
178
174
  }
179
175
 
180
- inline uint64_t Load64(absl::Nonnull<const void *> p) {
176
+ inline uint64_t Load64(const void* absl_nonnull p) {
181
177
  return ToHost64(ABSL_INTERNAL_UNALIGNED_LOAD64(p));
182
178
  }
183
179
 
184
- inline void Store64(absl::Nonnull<void *> p, uint64_t v) {
180
+ inline void Store64(void* absl_nonnull p, uint64_t v) {
185
181
  ABSL_INTERNAL_UNALIGNED_STORE64(p, FromHost64(v));
186
182
  }
187
183
 
@@ -251,27 +247,27 @@ inline int64_t ToHost(int64_t x) {
251
247
  }
252
248
 
253
249
  // Functions to do unaligned loads and stores in big-endian order.
254
- inline uint16_t Load16(absl::Nonnull<const void *> p) {
250
+ inline uint16_t Load16(const void* absl_nonnull p) {
255
251
  return ToHost16(ABSL_INTERNAL_UNALIGNED_LOAD16(p));
256
252
  }
257
253
 
258
- inline void Store16(absl::Nonnull<void *> p, uint16_t v) {
254
+ inline void Store16(void* absl_nonnull p, uint16_t v) {
259
255
  ABSL_INTERNAL_UNALIGNED_STORE16(p, FromHost16(v));
260
256
  }
261
257
 
262
- inline uint32_t Load32(absl::Nonnull<const void *> p) {
258
+ inline uint32_t Load32(const void* absl_nonnull p) {
263
259
  return ToHost32(ABSL_INTERNAL_UNALIGNED_LOAD32(p));
264
260
  }
265
261
 
266
- inline void Store32(absl::Nonnull<void *>p, uint32_t v) {
262
+ inline void Store32(void* absl_nonnull p, uint32_t v) {
267
263
  ABSL_INTERNAL_UNALIGNED_STORE32(p, FromHost32(v));
268
264
  }
269
265
 
270
- inline uint64_t Load64(absl::Nonnull<const void *> p) {
266
+ inline uint64_t Load64(const void* absl_nonnull p) {
271
267
  return ToHost64(ABSL_INTERNAL_UNALIGNED_LOAD64(p));
272
268
  }
273
269
 
274
- inline void Store64(absl::Nonnull<void *> p, uint64_t v) {
270
+ inline void Store64(void* absl_nonnull p, uint64_t v) {
275
271
  ABSL_INTERNAL_UNALIGNED_STORE64(p, FromHost64(v));
276
272
  }
277
273