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
@@ -1,76 +0,0 @@
1
- #
2
- # Copyright 2019 The Abseil Authors.
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # https://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
- #
16
-
17
- workspace(name = "abseil-cpp")
18
-
19
- load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
20
-
21
- # GoogleTest/GoogleMock framework. Used by most unit-tests.
22
- http_archive(
23
- name = "googletest",
24
- sha256 = "7b42b4d6ed48810c5362c265a17faebe90dc2373c885e5216439d37927f02926",
25
- strip_prefix = "googletest-1.15.2",
26
- # Keep this URL in sync with the version in ci/cmake_common.sh and
27
- # ci/windows_msvc_cmake.bat.
28
- urls = ["https://github.com/google/googletest/releases/download/v1.15.2/googletest-1.15.2.tar.gz"],
29
- # Now that Abseil is using the canonical names from the Bazel Central Registry, map
30
- # GoogleTest's old names to the new canonical names.
31
- repo_mapping = {
32
- "@com_google_absl": "@",
33
- "@com_googlesource_code_re2": "@re2",
34
- },
35
- )
36
-
37
- # RE2 (the regular expression library used by GoogleTest)
38
- http_archive(
39
- name = "re2",
40
- sha256 = "eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b",
41
- strip_prefix = "re2-2024-07-02",
42
- urls = ["https://github.com/google/re2/releases/download/2024-07-02/re2-2024-07-02.tar.gz"],
43
- )
44
-
45
- # Google benchmark.
46
- http_archive(
47
- name = "google_benchmark",
48
- sha256 = "d26789a2b46d8808a48a4556ee58ccc7c497fcd4c0af9b90197674a81e04798a",
49
- strip_prefix = "benchmark-1.8.5",
50
- urls = ["https://github.com/google/benchmark/archive/refs/tags/v1.8.5.tar.gz"],
51
- )
52
-
53
- # Bazel Skylib.
54
- http_archive(
55
- name = "bazel_skylib",
56
- sha256 = "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f",
57
- urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz"],
58
- )
59
-
60
- # C++ rules for Bazel
61
- http_archive(
62
- name = "rules_cc",
63
- urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.1.0/rules_cc-0.1.0.tar.gz"],
64
- sha256 = "4b12149a041ddfb8306a8fd0e904e39d673552ce82e4296e96fac9cbf0780e59",
65
- strip_prefix = "rules_cc-0.1.0",
66
- )
67
-
68
- # Bazel platform rules.
69
- http_archive(
70
- name = "platforms",
71
- urls = [
72
- "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.10/platforms-0.0.10.tar.gz",
73
- "https://github.com/bazelbuild/platforms/releases/download/0.0.10/platforms-0.0.10.tar.gz",
74
- ],
75
- sha256 = "218efe8ee736d26a3572663b374a253c012b716d8af0c07e842e82f238a0a7ee",
76
- )
@@ -1,19 +0,0 @@
1
- # Copyright 2024 The Abseil Authors.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- # https://bazel.build/external/migration#workspace.bzlmod
16
- #
17
- # This file is intentionally empty. When bzlmod is enabled and this
18
- # file exists, the contents of WORKSPACE is ignored. This prevents
19
- # bzlmod builds from unintentionally depending on the WORKSPACE file.
@@ -1,64 +0,0 @@
1
- // Copyright 2017 The Abseil Authors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // https://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #include <type_traits>
16
-
17
- #include "absl/base/internal/inline_variable.h"
18
- #include "absl/base/internal/inline_variable_testing.h"
19
-
20
- #include "gtest/gtest.h"
21
-
22
- namespace absl {
23
- ABSL_NAMESPACE_BEGIN
24
- namespace inline_variable_testing_internal {
25
- namespace {
26
-
27
- TEST(InlineVariableTest, Constexpr) {
28
- static_assert(inline_variable_foo.value == 5, "");
29
- static_assert(other_inline_variable_foo.value == 5, "");
30
- static_assert(inline_variable_int == 5, "");
31
- static_assert(other_inline_variable_int == 5, "");
32
- }
33
-
34
- TEST(InlineVariableTest, DefaultConstructedIdentityEquality) {
35
- EXPECT_EQ(get_foo_a().value, 5);
36
- EXPECT_EQ(get_foo_b().value, 5);
37
- EXPECT_EQ(&get_foo_a(), &get_foo_b());
38
- }
39
-
40
- TEST(InlineVariableTest, DefaultConstructedIdentityInequality) {
41
- EXPECT_NE(&inline_variable_foo, &other_inline_variable_foo);
42
- }
43
-
44
- TEST(InlineVariableTest, InitializedIdentityEquality) {
45
- EXPECT_EQ(get_int_a(), 5);
46
- EXPECT_EQ(get_int_b(), 5);
47
- EXPECT_EQ(&get_int_a(), &get_int_b());
48
- }
49
-
50
- TEST(InlineVariableTest, InitializedIdentityInequality) {
51
- EXPECT_NE(&inline_variable_int, &other_inline_variable_int);
52
- }
53
-
54
- TEST(InlineVariableTest, FunPtrType) {
55
- static_assert(
56
- std::is_same<void(*)(),
57
- std::decay<decltype(inline_variable_fun_ptr)>::type>::value,
58
- "");
59
- }
60
-
61
- } // namespace
62
- } // namespace inline_variable_testing_internal
63
- ABSL_NAMESPACE_END
64
- } // namespace absl
@@ -1,108 +0,0 @@
1
- // Copyright 2017 The Abseil Authors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // https://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #ifndef ABSL_BASE_INTERNAL_INLINE_VARIABLE_H_
16
- #define ABSL_BASE_INTERNAL_INLINE_VARIABLE_H_
17
-
18
- #include <type_traits>
19
-
20
- #include "absl/base/internal/identity.h"
21
-
22
- // File:
23
- // This file define a macro that allows the creation of or emulation of C++17
24
- // inline variables based on whether or not the feature is supported.
25
-
26
- ////////////////////////////////////////////////////////////////////////////////
27
- // Macro: ABSL_INTERNAL_INLINE_CONSTEXPR(type, name, init)
28
- //
29
- // Description:
30
- // Expands to the equivalent of an inline constexpr instance of the specified
31
- // `type` and `name`, initialized to the value `init`. If the compiler being
32
- // used is detected as supporting actual inline variables as a language
33
- // feature, then the macro expands to an actual inline variable definition.
34
- //
35
- // Requires:
36
- // `type` is a type that is usable in an extern variable declaration.
37
- //
38
- // Requires: `name` is a valid identifier
39
- //
40
- // Requires:
41
- // `init` is an expression that can be used in the following definition:
42
- // constexpr type name = init;
43
- //
44
- // Usage:
45
- //
46
- // // Equivalent to: `inline constexpr size_t variant_npos = -1;`
47
- // ABSL_INTERNAL_INLINE_CONSTEXPR(size_t, variant_npos, -1);
48
- //
49
- // Differences in implementation:
50
- // For a direct, language-level inline variable, decltype(name) will be the
51
- // type that was specified along with const qualification, whereas for
52
- // emulated inline variables, decltype(name) may be different (in practice
53
- // it will likely be a reference type).
54
- ////////////////////////////////////////////////////////////////////////////////
55
-
56
- #ifdef __cpp_inline_variables
57
-
58
- // Clang's -Wmissing-variable-declarations option erroneously warned that
59
- // inline constexpr objects need to be pre-declared. This has now been fixed,
60
- // but we will need to support this workaround for people building with older
61
- // versions of clang.
62
- //
63
- // Bug: https://bugs.llvm.org/show_bug.cgi?id=35862
64
- //
65
- // Note:
66
- // type_identity_t is used here so that the const and name are in the
67
- // appropriate place for pointer types, reference types, function pointer
68
- // types, etc..
69
- #if defined(__clang__)
70
- #define ABSL_INTERNAL_EXTERN_DECL(type, name) \
71
- extern const ::absl::internal::type_identity_t<type> name;
72
- #else // Otherwise, just define the macro to do nothing.
73
- #define ABSL_INTERNAL_EXTERN_DECL(type, name)
74
- #endif // defined(__clang__)
75
-
76
- // See above comment at top of file for details.
77
- #define ABSL_INTERNAL_INLINE_CONSTEXPR(type, name, init) \
78
- ABSL_INTERNAL_EXTERN_DECL(type, name) \
79
- inline constexpr ::absl::internal::type_identity_t<type> name = init
80
-
81
- #else
82
-
83
- // See above comment at top of file for details.
84
- //
85
- // Note:
86
- // type_identity_t is used here so that the const and name are in the
87
- // appropriate place for pointer types, reference types, function pointer
88
- // types, etc..
89
- #define ABSL_INTERNAL_INLINE_CONSTEXPR(var_type, name, init) \
90
- template <class /*AbslInternalDummy*/ = void> \
91
- struct AbslInternalInlineVariableHolder##name { \
92
- static constexpr ::absl::internal::type_identity_t<var_type> kInstance = \
93
- init; \
94
- }; \
95
- \
96
- template <class AbslInternalDummy> \
97
- constexpr ::absl::internal::type_identity_t<var_type> \
98
- AbslInternalInlineVariableHolder##name<AbslInternalDummy>::kInstance; \
99
- \
100
- static constexpr const ::absl::internal::type_identity_t<var_type>& \
101
- name = /* NOLINT */ \
102
- AbslInternalInlineVariableHolder##name<>::kInstance; \
103
- static_assert(sizeof(void (*)(decltype(name))) != 0, \
104
- "Silence unused variable warnings.")
105
-
106
- #endif // __cpp_inline_variables
107
-
108
- #endif // ABSL_BASE_INTERNAL_INLINE_VARIABLE_H_
@@ -1,46 +0,0 @@
1
- // Copyright 2017 The Abseil Authors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // https://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #ifndef ABSL_BASE_INTERNAL_INLINE_VARIABLE_TESTING_H_
16
- #define ABSL_BASE_INTERNAL_INLINE_VARIABLE_TESTING_H_
17
-
18
- #include "absl/base/internal/inline_variable.h"
19
-
20
- namespace absl {
21
- ABSL_NAMESPACE_BEGIN
22
- namespace inline_variable_testing_internal {
23
-
24
- struct Foo {
25
- int value = 5;
26
- };
27
-
28
- ABSL_INTERNAL_INLINE_CONSTEXPR(Foo, inline_variable_foo, {});
29
- ABSL_INTERNAL_INLINE_CONSTEXPR(Foo, other_inline_variable_foo, {});
30
-
31
- ABSL_INTERNAL_INLINE_CONSTEXPR(int, inline_variable_int, 5);
32
- ABSL_INTERNAL_INLINE_CONSTEXPR(int, other_inline_variable_int, 5);
33
-
34
- ABSL_INTERNAL_INLINE_CONSTEXPR(void(*)(), inline_variable_fun_ptr, nullptr);
35
-
36
- const Foo& get_foo_a();
37
- const Foo& get_foo_b();
38
-
39
- const int& get_int_a();
40
- const int& get_int_b();
41
-
42
- } // namespace inline_variable_testing_internal
43
- ABSL_NAMESPACE_END
44
- } // namespace absl
45
-
46
- #endif // ABSL_BASE_INTERNAL_INLINE_VARIABLE_TESTING_H_
@@ -1,241 +0,0 @@
1
- // Copyright 2017 The Abseil Authors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // https://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
- //
15
- // absl::base_internal::invoke(f, args...) is an implementation of
16
- // INVOKE(f, args...) from section [func.require] of the C++ standard.
17
- // When compiled as C++17 and later versions, it is implemented as an alias of
18
- // std::invoke.
19
- //
20
- // [func.require]
21
- // Define INVOKE (f, t1, t2, ..., tN) as follows:
22
- // 1. (t1.*f)(t2, ..., tN) when f is a pointer to a member function of a class T
23
- // and t1 is an object of type T or a reference to an object of type T or a
24
- // reference to an object of a type derived from T;
25
- // 2. ((*t1).*f)(t2, ..., tN) when f is a pointer to a member function of a
26
- // class T and t1 is not one of the types described in the previous item;
27
- // 3. t1.*f when N == 1 and f is a pointer to member data of a class T and t1 is
28
- // an object of type T or a reference to an object of type T or a reference
29
- // to an object of a type derived from T;
30
- // 4. (*t1).*f when N == 1 and f is a pointer to member data of a class T and t1
31
- // is not one of the types described in the previous item;
32
- // 5. f(t1, t2, ..., tN) in all other cases.
33
- //
34
- // The implementation is SFINAE-friendly: substitution failure within invoke()
35
- // isn't an error.
36
-
37
- #ifndef ABSL_BASE_INTERNAL_INVOKE_H_
38
- #define ABSL_BASE_INTERNAL_INVOKE_H_
39
-
40
- #include "absl/base/config.h"
41
-
42
- #if ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L
43
-
44
- #include <functional>
45
-
46
- namespace absl {
47
- ABSL_NAMESPACE_BEGIN
48
- namespace base_internal {
49
-
50
- using std::invoke;
51
- using std::invoke_result_t;
52
- using std::is_invocable_r;
53
-
54
- } // namespace base_internal
55
- ABSL_NAMESPACE_END
56
- } // namespace absl
57
-
58
- #else // ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L
59
-
60
- #include <algorithm>
61
- #include <type_traits>
62
- #include <utility>
63
-
64
- #include "absl/meta/type_traits.h"
65
-
66
- // The following code is internal implementation detail. See the comment at the
67
- // top of this file for the API documentation.
68
-
69
- namespace absl {
70
- ABSL_NAMESPACE_BEGIN
71
- namespace base_internal {
72
-
73
- // The five classes below each implement one of the clauses from the definition
74
- // of INVOKE. The inner class template Accept<F, Args...> checks whether the
75
- // clause is applicable; static function template Invoke(f, args...) does the
76
- // invocation.
77
- //
78
- // By separating the clause selection logic from invocation we make sure that
79
- // Invoke() does exactly what the standard says.
80
-
81
- template <typename Derived>
82
- struct StrippedAccept {
83
- template <typename... Args>
84
- struct Accept : Derived::template AcceptImpl<typename std::remove_cv<
85
- typename std::remove_reference<Args>::type>::type...> {};
86
- };
87
-
88
- // (t1.*f)(t2, ..., tN) when f is a pointer to a member function of a class T
89
- // and t1 is an object of type T or a reference to an object of type T or a
90
- // reference to an object of a type derived from T.
91
- struct MemFunAndRef : StrippedAccept<MemFunAndRef> {
92
- template <typename... Args>
93
- struct AcceptImpl : std::false_type {};
94
-
95
- template <typename MemFunType, typename C, typename Obj, typename... Args>
96
- struct AcceptImpl<MemFunType C::*, Obj, Args...>
97
- : std::integral_constant<bool, std::is_base_of<C, Obj>::value &&
98
- absl::is_function<MemFunType>::value> {
99
- };
100
-
101
- template <typename MemFun, typename Obj, typename... Args>
102
- static decltype((std::declval<Obj>().*
103
- std::declval<MemFun>())(std::declval<Args>()...))
104
- Invoke(MemFun&& mem_fun, Obj&& obj, Args&&... args) {
105
- // Ignore bogus GCC warnings on this line.
106
- // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101436 for similar example.
107
- #if ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(11, 0)
108
- #pragma GCC diagnostic push
109
- #pragma GCC diagnostic ignored "-Warray-bounds"
110
- #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
111
- #endif
112
- return (std::forward<Obj>(obj).*
113
- std::forward<MemFun>(mem_fun))(std::forward<Args>(args)...);
114
- #if ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(11, 0)
115
- #pragma GCC diagnostic pop
116
- #endif
117
- }
118
- };
119
-
120
- // ((*t1).*f)(t2, ..., tN) when f is a pointer to a member function of a
121
- // class T and t1 is not one of the types described in the previous item.
122
- struct MemFunAndPtr : StrippedAccept<MemFunAndPtr> {
123
- template <typename... Args>
124
- struct AcceptImpl : std::false_type {};
125
-
126
- template <typename MemFunType, typename C, typename Ptr, typename... Args>
127
- struct AcceptImpl<MemFunType C::*, Ptr, Args...>
128
- : std::integral_constant<bool, !std::is_base_of<C, Ptr>::value &&
129
- absl::is_function<MemFunType>::value> {
130
- };
131
-
132
- template <typename MemFun, typename Ptr, typename... Args>
133
- static decltype(((*std::declval<Ptr>()).*
134
- std::declval<MemFun>())(std::declval<Args>()...))
135
- Invoke(MemFun&& mem_fun, Ptr&& ptr, Args&&... args) {
136
- return ((*std::forward<Ptr>(ptr)).*
137
- std::forward<MemFun>(mem_fun))(std::forward<Args>(args)...);
138
- }
139
- };
140
-
141
- // t1.*f when N == 1 and f is a pointer to member data of a class T and t1 is
142
- // an object of type T or a reference to an object of type T or a reference
143
- // to an object of a type derived from T.
144
- struct DataMemAndRef : StrippedAccept<DataMemAndRef> {
145
- template <typename... Args>
146
- struct AcceptImpl : std::false_type {};
147
-
148
- template <typename R, typename C, typename Obj>
149
- struct AcceptImpl<R C::*, Obj>
150
- : std::integral_constant<bool, std::is_base_of<C, Obj>::value &&
151
- !absl::is_function<R>::value> {};
152
-
153
- template <typename DataMem, typename Ref>
154
- static decltype(std::declval<Ref>().*std::declval<DataMem>()) Invoke(
155
- DataMem&& data_mem, Ref&& ref) {
156
- return std::forward<Ref>(ref).*std::forward<DataMem>(data_mem);
157
- }
158
- };
159
-
160
- // (*t1).*f when N == 1 and f is a pointer to member data of a class T and t1
161
- // is not one of the types described in the previous item.
162
- struct DataMemAndPtr : StrippedAccept<DataMemAndPtr> {
163
- template <typename... Args>
164
- struct AcceptImpl : std::false_type {};
165
-
166
- template <typename R, typename C, typename Ptr>
167
- struct AcceptImpl<R C::*, Ptr>
168
- : std::integral_constant<bool, !std::is_base_of<C, Ptr>::value &&
169
- !absl::is_function<R>::value> {};
170
-
171
- template <typename DataMem, typename Ptr>
172
- static decltype((*std::declval<Ptr>()).*std::declval<DataMem>()) Invoke(
173
- DataMem&& data_mem, Ptr&& ptr) {
174
- return (*std::forward<Ptr>(ptr)).*std::forward<DataMem>(data_mem);
175
- }
176
- };
177
-
178
- // f(t1, t2, ..., tN) in all other cases.
179
- struct Callable {
180
- // Callable doesn't have Accept because it's the last clause that gets picked
181
- // when none of the previous clauses are applicable.
182
- template <typename F, typename... Args>
183
- static decltype(std::declval<F>()(std::declval<Args>()...)) Invoke(
184
- F&& f, Args&&... args) {
185
- return std::forward<F>(f)(std::forward<Args>(args)...);
186
- }
187
- };
188
-
189
- // Resolves to the first matching clause.
190
- template <typename... Args>
191
- struct Invoker {
192
- typedef typename std::conditional<
193
- MemFunAndRef::Accept<Args...>::value, MemFunAndRef,
194
- typename std::conditional<
195
- MemFunAndPtr::Accept<Args...>::value, MemFunAndPtr,
196
- typename std::conditional<
197
- DataMemAndRef::Accept<Args...>::value, DataMemAndRef,
198
- typename std::conditional<DataMemAndPtr::Accept<Args...>::value,
199
- DataMemAndPtr, Callable>::type>::type>::
200
- type>::type type;
201
- };
202
-
203
- // The result type of Invoke<F, Args...>.
204
- template <typename F, typename... Args>
205
- using invoke_result_t = decltype(Invoker<F, Args...>::type::Invoke(
206
- std::declval<F>(), std::declval<Args>()...));
207
-
208
- // Invoke(f, args...) is an implementation of INVOKE(f, args...) from section
209
- // [func.require] of the C++ standard.
210
- template <typename F, typename... Args>
211
- invoke_result_t<F, Args...> invoke(F&& f, Args&&... args) {
212
- return Invoker<F, Args...>::type::Invoke(std::forward<F>(f),
213
- std::forward<Args>(args)...);
214
- }
215
-
216
- template <typename AlwaysVoid, typename, typename, typename...>
217
- struct IsInvocableRImpl : std::false_type {};
218
-
219
- template <typename R, typename F, typename... Args>
220
- struct IsInvocableRImpl<
221
- absl::void_t<absl::base_internal::invoke_result_t<F, Args...> >, R, F,
222
- Args...>
223
- : std::integral_constant<
224
- bool,
225
- std::is_convertible<absl::base_internal::invoke_result_t<F, Args...>,
226
- R>::value ||
227
- std::is_void<R>::value> {};
228
-
229
- // Type trait whose member `value` is true if invoking `F` with `Args` is valid,
230
- // and either the return type is convertible to `R`, or `R` is void.
231
- // C++11-compatible version of `std::is_invocable_r`.
232
- template <typename R, typename F, typename... Args>
233
- using is_invocable_r = IsInvocableRImpl<void, R, F, Args...>;
234
-
235
- } // namespace base_internal
236
- ABSL_NAMESPACE_END
237
- } // namespace absl
238
-
239
- #endif // ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L
240
-
241
- #endif // ABSL_BASE_INTERNAL_INVOKE_H_
@@ -1,69 +0,0 @@
1
- // Copyright 2023 The Abseil Authors.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // https://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- #ifndef ABSL_BASE_INTERNAL_NULLABILITY_IMPL_H_
16
- #define ABSL_BASE_INTERNAL_NULLABILITY_IMPL_H_
17
-
18
- #include <memory>
19
- #include <type_traits>
20
-
21
- #include "absl/base/attributes.h"
22
- #include "absl/base/config.h"
23
- #include "absl/meta/type_traits.h"
24
-
25
- namespace absl {
26
- ABSL_NAMESPACE_BEGIN
27
- namespace nullability_internal {
28
-
29
- template <typename T>
30
- using NullableImpl
31
- #if ABSL_HAVE_CPP_ATTRIBUTE(clang::annotate)
32
- [[clang::annotate("Nullable")]]
33
- #endif
34
- // Don't add the _Nullable attribute in Objective-C compiles. Many Objective-C
35
- // projects enable the `-Wnullable-to-nonnull-conversion warning`, which is
36
- // liable to produce false positives.
37
- #if ABSL_HAVE_FEATURE(nullability_on_classes) && !defined(__OBJC__)
38
- = T _Nullable;
39
- #else
40
- = T;
41
- #endif
42
-
43
- template <typename T>
44
- using NonnullImpl
45
- #if ABSL_HAVE_CPP_ATTRIBUTE(clang::annotate)
46
- [[clang::annotate("Nonnull")]]
47
- #endif
48
- #if ABSL_HAVE_FEATURE(nullability_on_classes) && !defined(__OBJC__)
49
- = T _Nonnull;
50
- #else
51
- = T;
52
- #endif
53
-
54
- template <typename T>
55
- using NullabilityUnknownImpl
56
- #if ABSL_HAVE_CPP_ATTRIBUTE(clang::annotate)
57
- [[clang::annotate("Nullability_Unspecified")]]
58
- #endif
59
- #if ABSL_HAVE_FEATURE(nullability_on_classes) && !defined(__OBJC__)
60
- = T _Null_unspecified;
61
- #else
62
- = T;
63
- #endif
64
-
65
- } // namespace nullability_internal
66
- ABSL_NAMESPACE_END
67
- } // namespace absl
68
-
69
- #endif // ABSL_BASE_INTERNAL_NULLABILITY_IMPL_H_