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.
- package/README.md +60 -4
- package/binding.gyp +5 -1
- package/lib/addon.cc +4 -0
- package/lib/new.cc +1 -246
- package/lib/pattern.cc +252 -0
- package/lib/pattern.h +10 -0
- package/lib/set.cc +777 -0
- package/lib/wrapped_re2_set.h +42 -0
- package/package.json +21 -9
- package/re2.d.ts +46 -9
- package/vendor/abseil-cpp/CMake/AbseilDll.cmake +14 -24
- package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +3 -3
- package/vendor/abseil-cpp/CMake/README.md +2 -2
- package/vendor/abseil-cpp/CMakeLists.txt +3 -3
- package/vendor/abseil-cpp/MODULE.bazel +6 -9
- package/vendor/abseil-cpp/README.md +6 -8
- package/vendor/abseil-cpp/absl/abseil.podspec.gen.py +6 -4
- package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +3 -0
- package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/algorithm/container.h +2 -19
- package/vendor/abseil-cpp/absl/algorithm/container_test.cc +4 -11
- package/vendor/abseil-cpp/absl/base/BUILD.bazel +60 -45
- package/vendor/abseil-cpp/absl/base/CMakeLists.txt +57 -38
- package/vendor/abseil-cpp/absl/base/attributes.h +76 -7
- package/vendor/abseil-cpp/absl/base/attributes_test.cc +43 -0
- package/vendor/abseil-cpp/absl/base/call_once.h +11 -12
- package/vendor/abseil-cpp/absl/base/config.h +22 -129
- package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +0 -4
- package/vendor/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
- package/vendor/abseil-cpp/absl/base/{internal/fast_type_id_test.cc → fast_type_id_test.cc} +34 -30
- package/vendor/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
- package/vendor/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
- package/vendor/abseil-cpp/absl/base/internal/endian.h +34 -38
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits_test.cc +85 -0
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
- package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +39 -9
- package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.h +6 -0
- package/vendor/abseil-cpp/absl/base/internal/poison.cc +7 -6
- package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +15 -28
- package/vendor/abseil-cpp/absl/base/internal/spinlock.h +65 -35
- package/vendor/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +2 -2
- package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +2 -2
- package/vendor/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/base/internal/thread_identity_test.cc +4 -4
- package/vendor/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +4 -0
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +8 -3
- package/vendor/abseil-cpp/absl/base/no_destructor.h +11 -32
- package/vendor/abseil-cpp/absl/base/no_destructor_test.cc +0 -4
- package/vendor/abseil-cpp/absl/base/nullability.h +83 -72
- package/vendor/abseil-cpp/absl/base/nullability_test.cc +25 -64
- package/vendor/abseil-cpp/absl/base/options.h +3 -80
- package/vendor/abseil-cpp/absl/base/policy_checks.h +7 -7
- package/vendor/abseil-cpp/absl/base/raw_logging_test.cc +15 -0
- package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +50 -30
- package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +2 -1
- package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +0 -1
- package/vendor/abseil-cpp/absl/cleanup/cleanup.h +1 -3
- package/vendor/abseil-cpp/absl/cleanup/cleanup_test.cc +0 -2
- package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
- package/vendor/abseil-cpp/absl/container/BUILD.bazel +74 -1
- package/vendor/abseil-cpp/absl/container/CMakeLists.txt +73 -0
- package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +51 -9
- package/vendor/abseil-cpp/absl/container/btree_map.h +8 -6
- package/vendor/abseil-cpp/absl/container/btree_set.h +8 -6
- package/vendor/abseil-cpp/absl/container/btree_test.cc +89 -4
- package/vendor/abseil-cpp/absl/container/fixed_array.h +7 -15
- package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +17 -0
- package/vendor/abseil-cpp/absl/container/flat_hash_map.h +20 -15
- package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +8 -14
- package/vendor/abseil-cpp/absl/container/flat_hash_set.h +19 -14
- package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +46 -0
- package/vendor/abseil-cpp/absl/container/inlined_vector.h +7 -6
- package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +28 -0
- package/vendor/abseil-cpp/absl/container/internal/btree.h +132 -29
- package/vendor/abseil-cpp/absl/container/internal/btree_container.h +175 -71
- package/vendor/abseil-cpp/absl/container/internal/common.h +43 -0
- package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -2
- package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +28 -24
- package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +4 -17
- package/vendor/abseil-cpp/absl/container/internal/container_memory.h +80 -17
- package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +32 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +13 -8
- package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +1 -52
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +9 -31
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +23 -32
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +5 -1
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +11 -23
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +14 -9
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +516 -0
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +259 -0
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +23 -6
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +32 -13
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +8 -8
- package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +2 -7
- package/vendor/abseil-cpp/absl/container/internal/layout.h +26 -42
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +1506 -213
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +1095 -1658
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +3 -2
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +31 -29
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +51 -20
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +66 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +707 -363
- package/vendor/abseil-cpp/absl/container/node_hash_map.h +20 -15
- package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +0 -3
- package/vendor/abseil-cpp/absl/container/node_hash_set.h +18 -13
- package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +3 -8
- package/vendor/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +1 -1
- package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +9 -20
- package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +9 -20
- package/vendor/abseil-cpp/absl/copts/copts.py +24 -15
- package/vendor/abseil-cpp/absl/crc/BUILD.bazel +3 -0
- package/vendor/abseil-cpp/absl/crc/crc32c.cc +0 -4
- package/vendor/abseil-cpp/absl/crc/crc32c.h +7 -5
- package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +17 -4
- package/vendor/abseil-cpp/absl/crc/crc32c_test.cc +30 -0
- package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +17 -0
- package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.h +7 -1
- package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
- package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +5 -0
- package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +136 -165
- package/vendor/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +90 -0
- package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +7 -0
- package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +4 -0
- package/vendor/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
- package/vendor/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
- package/vendor/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
- package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +8 -35
- package/vendor/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
- package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +11 -10
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -37
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_config.h +6 -5
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +13 -4
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -14
- package/vendor/abseil-cpp/absl/debugging/internal/vdso_support.cc +4 -0
- package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +161 -27
- package/vendor/abseil-cpp/absl/debugging/stacktrace.h +73 -5
- package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +435 -1
- package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +55 -63
- package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
- package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
- package/vendor/abseil-cpp/absl/flags/BUILD.bazel +6 -0
- package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +3 -0
- package/vendor/abseil-cpp/absl/flags/commandlineflag.h +2 -2
- package/vendor/abseil-cpp/absl/flags/flag.h +4 -3
- package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
- package/vendor/abseil-cpp/absl/flags/internal/flag.cc +14 -13
- package/vendor/abseil-cpp/absl/flags/internal/flag.h +34 -34
- package/vendor/abseil-cpp/absl/flags/internal/program_name.cc +2 -2
- package/vendor/abseil-cpp/absl/flags/internal/registry.h +4 -3
- package/vendor/abseil-cpp/absl/flags/internal/usage.cc +2 -2
- package/vendor/abseil-cpp/absl/flags/parse.cc +10 -6
- package/vendor/abseil-cpp/absl/flags/reflection.cc +9 -7
- package/vendor/abseil-cpp/absl/flags/usage.cc +2 -2
- package/vendor/abseil-cpp/absl/flags/usage_config.cc +2 -2
- package/vendor/abseil-cpp/absl/functional/BUILD.bazel +7 -6
- package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +2 -4
- package/vendor/abseil-cpp/absl/functional/any_invocable.h +15 -15
- package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +10 -42
- package/vendor/abseil-cpp/absl/functional/function_ref.h +2 -9
- package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +10 -0
- package/vendor/abseil-cpp/absl/functional/function_type_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +112 -227
- package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
- package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
- package/vendor/abseil-cpp/absl/functional/overload.h +0 -20
- package/vendor/abseil-cpp/absl/functional/overload_test.cc +1 -7
- package/vendor/abseil-cpp/absl/hash/BUILD.bazel +16 -9
- package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +6 -9
- package/vendor/abseil-cpp/absl/hash/hash.h +18 -0
- package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +3 -0
- package/vendor/abseil-cpp/absl/hash/hash_instantiated_test.cc +1 -1
- package/vendor/abseil-cpp/absl/hash/hash_test.cc +131 -30
- package/vendor/abseil-cpp/absl/hash/hash_testing.h +20 -20
- package/vendor/abseil-cpp/absl/hash/internal/hash.cc +129 -17
- package/vendor/abseil-cpp/absl/hash/internal/hash.h +326 -362
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +54 -151
- package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +14 -2
- package/vendor/abseil-cpp/absl/{strings/cord_buffer.cc → hash/internal/weakly_mixed_integer.h} +14 -6
- package/vendor/abseil-cpp/absl/log/BUILD.bazel +4 -0
- package/vendor/abseil-cpp/absl/log/CMakeLists.txt +7 -0
- package/vendor/abseil-cpp/absl/log/check.h +2 -1
- package/vendor/abseil-cpp/absl/log/check_test_impl.inc +308 -14
- package/vendor/abseil-cpp/absl/log/die_if_null.h +2 -2
- package/vendor/abseil-cpp/absl/log/flags_test.cc +7 -0
- package/vendor/abseil-cpp/absl/log/globals.h +4 -5
- package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +13 -9
- package/vendor/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
- package/vendor/abseil-cpp/absl/log/internal/check_op.cc +24 -22
- package/vendor/abseil-cpp/absl/log/internal/check_op.h +149 -94
- package/vendor/abseil-cpp/absl/log/internal/conditions.cc +5 -3
- package/vendor/abseil-cpp/absl/log/internal/conditions.h +7 -2
- package/vendor/abseil-cpp/absl/log/internal/fnmatch_test.cc +1 -0
- package/vendor/abseil-cpp/absl/log/internal/log_message.cc +85 -43
- package/vendor/abseil-cpp/absl/log/internal/log_message.h +84 -59
- package/vendor/abseil-cpp/absl/log/internal/log_sink_set.cc +4 -4
- package/vendor/abseil-cpp/absl/log/internal/nullstream.h +1 -0
- package/vendor/abseil-cpp/absl/log/internal/proto.cc +3 -2
- package/vendor/abseil-cpp/absl/log/internal/proto.h +3 -3
- package/vendor/abseil-cpp/absl/log/internal/strip.h +4 -12
- package/vendor/abseil-cpp/absl/log/internal/structured.h +3 -7
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +9 -9
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
- package/vendor/abseil-cpp/absl/log/internal/voidify.h +10 -4
- package/vendor/abseil-cpp/absl/log/log.h +48 -35
- package/vendor/abseil-cpp/absl/log/log_basic_test_impl.inc +45 -0
- package/vendor/abseil-cpp/absl/log/log_entry.cc +241 -19
- package/vendor/abseil-cpp/absl/log/log_entry.h +2 -0
- package/vendor/abseil-cpp/absl/log/log_format_test.cc +412 -6
- package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +20 -0
- package/vendor/abseil-cpp/absl/log/log_sink_registry.h +2 -2
- package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +15 -2
- package/vendor/abseil-cpp/absl/log/scoped_mock_log.h +7 -1
- package/vendor/abseil-cpp/absl/log/structured_test.cc +1 -0
- package/vendor/abseil-cpp/absl/memory/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/meta/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/meta/type_traits.h +46 -175
- package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +1 -478
- package/vendor/abseil-cpp/absl/numeric/BUILD.bazel +7 -3
- package/vendor/abseil-cpp/absl/numeric/CMakeLists.txt +2 -0
- package/vendor/abseil-cpp/absl/numeric/bits.h +68 -2
- package/vendor/abseil-cpp/absl/numeric/bits_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/numeric/bits_test.cc +83 -0
- package/vendor/abseil-cpp/absl/numeric/int128.cc +0 -52
- package/vendor/abseil-cpp/absl/numeric/int128_benchmark.cc +14 -15
- package/vendor/abseil-cpp/absl/numeric/int128_test.cc +13 -8
- package/vendor/abseil-cpp/absl/numeric/internal/bits.h +39 -7
- package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +47 -0
- package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +38 -0
- package/vendor/abseil-cpp/absl/profiling/hashtable.cc +124 -0
- package/vendor/abseil-cpp/absl/profiling/hashtable.h +40 -0
- package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +462 -0
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.h +138 -0
- package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder.h +9 -9
- package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +7 -3
- package/vendor/abseil-cpp/absl/random/BUILD.bazel +6 -4
- package/vendor/abseil-cpp/absl/random/CMakeLists.txt +20 -19
- package/vendor/abseil-cpp/absl/random/benchmarks.cc +16 -23
- package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +10 -11
- package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +7 -2
- package/vendor/abseil-cpp/absl/random/distributions.h +6 -8
- package/vendor/abseil-cpp/absl/random/gaussian_distribution.h +1 -1
- package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +19 -20
- package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +5 -6
- package/vendor/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +24 -92
- package/vendor/abseil-cpp/absl/{base/inline_variable_test_b.cc → random/internal/entropy_pool.h} +14 -6
- package/vendor/abseil-cpp/absl/random/internal/entropy_pool_test.cc +119 -0
- package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +6 -7
- package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
- package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +39 -0
- package/vendor/abseil-cpp/absl/random/internal/randen_benchmarks.cc +8 -6
- package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +1 -1
- package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
- package/vendor/abseil-cpp/absl/random/internal/seed_material.h +5 -5
- package/vendor/abseil-cpp/absl/random/internal/seed_material_test.cc +3 -0
- package/vendor/abseil-cpp/absl/random/mock_distributions_test.cc +5 -4
- package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +8 -10
- package/vendor/abseil-cpp/absl/random/random.h +88 -53
- package/vendor/abseil-cpp/absl/random/seed_sequences.cc +6 -2
- package/vendor/abseil-cpp/absl/status/BUILD.bazel +26 -0
- package/vendor/abseil-cpp/absl/status/internal/status_internal.cc +3 -4
- package/vendor/abseil-cpp/absl/status/internal/status_internal.h +3 -4
- package/vendor/abseil-cpp/absl/status/internal/status_matchers.cc +4 -3
- package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +194 -32
- package/vendor/abseil-cpp/absl/status/status.cc +4 -8
- package/vendor/abseil-cpp/absl/status/status.h +8 -8
- package/vendor/abseil-cpp/absl/{base/inline_variable_test_a.cc → status/status_benchmark.cc} +20 -10
- package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +65 -0
- package/vendor/abseil-cpp/absl/status/status_payload_printer.h +2 -2
- package/vendor/abseil-cpp/absl/status/statusor.cc +2 -2
- package/vendor/abseil-cpp/absl/status/statusor.h +49 -102
- package/vendor/abseil-cpp/absl/status/statusor_benchmark.cc +480 -0
- package/vendor/abseil-cpp/absl/status/statusor_test.cc +323 -1
- package/vendor/abseil-cpp/absl/strings/BUILD.bazel +70 -34
- package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +6 -3
- package/vendor/abseil-cpp/absl/strings/ascii.cc +9 -9
- package/vendor/abseil-cpp/absl/strings/ascii.h +18 -18
- package/vendor/abseil-cpp/absl/strings/ascii_benchmark.cc +5 -8
- package/vendor/abseil-cpp/absl/strings/charconv.cc +21 -22
- package/vendor/abseil-cpp/absl/strings/charconv.h +5 -5
- package/vendor/abseil-cpp/absl/strings/charconv_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/strings/charset_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/cord.cc +54 -58
- package/vendor/abseil-cpp/absl/strings/cord.h +94 -84
- package/vendor/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
- package/vendor/abseil-cpp/absl/strings/cord_analysis.h +3 -3
- package/vendor/abseil-cpp/absl/strings/cord_test.cc +23 -0
- package/vendor/abseil-cpp/absl/strings/cordz_test_helpers.h +4 -5
- package/vendor/abseil-cpp/absl/strings/escaping.cc +130 -149
- package/vendor/abseil-cpp/absl/strings/escaping.h +9 -10
- package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/escaping_test.cc +19 -9
- package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +6 -10
- package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
- package/vendor/abseil-cpp/absl/strings/internal/cordz_handle.cc +6 -6
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +5 -9
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +2 -4
- package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +56 -0
- package/vendor/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
- package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
- package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1 -6
- package/vendor/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
- package/vendor/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +3 -2
- package/vendor/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
- package/vendor/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
- package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
- package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +7 -2
- package/vendor/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
- package/vendor/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
- package/vendor/abseil-cpp/absl/strings/internal/utf8.h +15 -1
- package/vendor/abseil-cpp/absl/strings/internal/utf8_test.cc +196 -3
- package/vendor/abseil-cpp/absl/strings/numbers.cc +53 -32
- package/vendor/abseil-cpp/absl/strings/numbers.h +87 -58
- package/vendor/abseil-cpp/absl/strings/numbers_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/numbers_test.cc +634 -120
- package/vendor/abseil-cpp/absl/strings/str_cat.cc +6 -7
- package/vendor/abseil-cpp/absl/strings/str_cat.h +32 -32
- package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +25 -1
- package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +2 -7
- package/vendor/abseil-cpp/absl/strings/str_format.h +18 -18
- package/vendor/abseil-cpp/absl/strings/str_format_test.cc +8 -14
- package/vendor/abseil-cpp/absl/strings/str_join_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/str_replace.cc +3 -3
- package/vendor/abseil-cpp/absl/strings/str_replace.h +6 -6
- package/vendor/abseil-cpp/absl/strings/str_replace_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/str_split.h +2 -2
- package/vendor/abseil-cpp/absl/strings/str_split_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/string_view.cc +4 -9
- package/vendor/abseil-cpp/absl/strings/string_view.h +38 -39
- package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +4 -6
- package/vendor/abseil-cpp/absl/strings/string_view_test.cc +2 -50
- package/vendor/abseil-cpp/absl/strings/strip.h +4 -4
- package/vendor/abseil-cpp/absl/strings/substitute.cc +5 -4
- package/vendor/abseil-cpp/absl/strings/substitute.h +66 -64
- package/vendor/abseil-cpp/absl/strings/substitute_benchmark.cc +158 -0
- package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +6 -1
- package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +2 -1
- package/vendor/abseil-cpp/absl/synchronization/barrier.cc +1 -1
- package/vendor/abseil-cpp/absl/synchronization/barrier_test.cc +3 -3
- package/vendor/abseil-cpp/absl/synchronization/blocking_counter.cc +2 -2
- package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +3 -3
- package/vendor/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles.cc +30 -33
- package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +6 -5
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
- package/vendor/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/thread_pool.h +3 -3
- package/vendor/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/waiter_test.cc +12 -3
- package/vendor/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/lifetime_test.cc +4 -4
- package/vendor/abseil-cpp/absl/synchronization/mutex.cc +27 -29
- package/vendor/abseil-cpp/absl/synchronization/mutex.h +205 -126
- package/vendor/abseil-cpp/absl/synchronization/mutex_benchmark.cc +13 -31
- package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +183 -169
- package/vendor/abseil-cpp/absl/synchronization/notification.cc +5 -5
- package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
- package/vendor/abseil-cpp/absl/synchronization/notification_test.cc +3 -3
- package/vendor/abseil-cpp/absl/time/BUILD.bazel +9 -1
- package/vendor/abseil-cpp/absl/time/CMakeLists.txt +3 -1
- package/vendor/abseil-cpp/absl/time/civil_time.cc +1 -0
- package/vendor/abseil-cpp/absl/time/civil_time_test.cc +134 -0
- package/vendor/abseil-cpp/absl/time/clock.cc +11 -14
- package/vendor/abseil-cpp/absl/time/duration.cc +14 -9
- package/vendor/abseil-cpp/absl/time/duration_test.cc +6 -7
- package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +14 -3
- package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +12 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +4 -490
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +515 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +41 -4
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +22 -23
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +90 -111
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +1 -488
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +2 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +1 -1
- package/vendor/abseil-cpp/absl/time/time.h +24 -18
- package/vendor/abseil-cpp/absl/time/time_test.cc +26 -0
- package/vendor/abseil-cpp/absl/types/BUILD.bazel +11 -164
- package/vendor/abseil-cpp/absl/types/CMakeLists.txt +23 -167
- package/vendor/abseil-cpp/absl/types/any.h +9 -484
- package/vendor/abseil-cpp/absl/types/optional.h +7 -747
- package/vendor/abseil-cpp/absl/types/span.h +46 -19
- package/vendor/abseil-cpp/absl/types/span_test.cc +27 -0
- package/vendor/abseil-cpp/absl/types/variant.h +5 -784
- package/vendor/abseil-cpp/absl/types/variant_test.cc +43 -2597
- package/vendor/abseil-cpp/absl/utility/BUILD.bazel +1 -41
- package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +0 -40
- package/vendor/abseil-cpp/absl/utility/utility.h +10 -185
- package/vendor/abseil-cpp/ci/absl_alternate_options.h +2 -3
- package/vendor/abseil-cpp/ci/cmake_common.sh +2 -2
- package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +12 -13
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +24 -21
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +12 -12
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +23 -22
- package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +20 -19
- package/vendor/abseil-cpp/ci/linux_docker_containers.sh +4 -4
- package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +17 -17
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +10 -10
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +1 -1
- package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +1 -1
- package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +9 -10
- package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +9 -1
- package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +14 -6
- package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +14 -6
- package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +1 -1
- package/vendor/re2/.bazelrc +4 -4
- package/vendor/re2/.bcr/metadata.template.json +16 -0
- package/vendor/re2/.bcr/presubmit.yml +57 -0
- package/vendor/re2/.bcr/source.template.json +5 -0
- package/vendor/re2/.github/bazel.sh +1 -7
- package/vendor/re2/.github/workflows/ci-bazel.yml +5 -5
- package/vendor/re2/.github/workflows/ci-cmake.yml +4 -4
- package/vendor/re2/.github/workflows/ci.yml +5 -6
- package/vendor/re2/.github/workflows/pages.yml +3 -3
- package/vendor/re2/.github/workflows/python.yml +29 -24
- package/vendor/re2/.github/workflows/release-bazel.yml +42 -0
- package/vendor/re2/.github/workflows/release.yml +15 -4
- package/vendor/re2/BUILD.bazel +25 -0
- package/vendor/re2/CMakeLists.txt +100 -85
- package/vendor/re2/CONTRIBUTING.md +0 -1
- package/vendor/re2/MODULE.bazel +10 -10
- package/vendor/re2/Makefile +1 -1
- package/vendor/re2/README.md +259 -0
- package/vendor/re2/python/BUILD.bazel +8 -0
- package/vendor/re2/python/re2.py +1 -1
- package/vendor/re2/python/re2_test.py +6 -0
- package/vendor/re2/python/setup.py +3 -3
- package/vendor/re2/re2/bitmap256.cc +3 -4
- package/vendor/re2/re2/bitstate.cc +15 -10
- package/vendor/re2/re2/dfa.cc +1 -2
- package/vendor/re2/re2/parse.cc +3 -4
- package/vendor/re2/re2/prog.cc +1 -2
- package/vendor/re2/re2/prog.h +1 -0
- package/vendor/re2/re2/re2.cc +5 -0
- package/vendor/re2/re2/re2.h +9 -9
- package/vendor/re2/re2/set.cc +6 -0
- package/vendor/re2/re2/set.h +5 -0
- package/vendor/re2/re2/testing/re2_arg_test.cc +3 -3
- package/vendor/re2/re2/testing/re2_test.cc +8 -0
- package/vendor/re2/re2/testing/set_test.cc +5 -0
- package/vendor/re2/re2/walker-inl.h +1 -1
- package/vendor/abseil-cpp/WORKSPACE +0 -76
- package/vendor/abseil-cpp/WORKSPACE.bzlmod +0 -19
- package/vendor/abseil-cpp/absl/base/inline_variable_test.cc +0 -64
- package/vendor/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
- package/vendor/abseil-cpp/absl/base/internal/inline_variable_testing.h +0 -46
- package/vendor/abseil-cpp/absl/base/internal/invoke.h +0 -241
- package/vendor/abseil-cpp/absl/base/internal/nullability_impl.h +0 -69
- package/vendor/abseil-cpp/absl/base/invoke_test.cc +0 -331
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.cc +0 -148
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.h +0 -54
- package/vendor/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
- package/vendor/abseil-cpp/absl/random/internal/pool_urbg_test.cc +0 -182
- package/vendor/abseil-cpp/absl/types/any_exception_safety_test.cc +0 -173
- package/vendor/abseil-cpp/absl/types/any_test.cc +0 -778
- package/vendor/abseil-cpp/absl/types/bad_any_cast.cc +0 -64
- package/vendor/abseil-cpp/absl/types/bad_any_cast.h +0 -75
- package/vendor/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
- package/vendor/abseil-cpp/absl/types/bad_optional_access.h +0 -78
- package/vendor/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
- package/vendor/abseil-cpp/absl/types/bad_variant_access.h +0 -82
- package/vendor/abseil-cpp/absl/types/internal/optional.h +0 -352
- package/vendor/abseil-cpp/absl/types/internal/variant.h +0 -1622
- package/vendor/abseil-cpp/absl/types/optional_exception_safety_test.cc +0 -292
- package/vendor/abseil-cpp/absl/types/optional_test.cc +0 -1615
- package/vendor/abseil-cpp/absl/types/variant_benchmark.cc +0 -222
- package/vendor/abseil-cpp/absl/types/variant_exception_safety_test.cc +0 -532
- package/vendor/abseil-cpp/absl/utility/internal/if_constexpr.h +0 -70
- package/vendor/abseil-cpp/absl/utility/internal/if_constexpr_test.cc +0 -79
- package/vendor/abseil-cpp/absl/utility/utility_test.cc +0 -239
- package/vendor/re2/.github/workflows/pr.yml +0 -34
- package/vendor/re2/README +0 -47
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <nan.h>
|
|
4
|
+
#include <re2/re2.h>
|
|
5
|
+
#include <re2/set.h>
|
|
6
|
+
|
|
7
|
+
#include <string>
|
|
8
|
+
#include <vector>
|
|
9
|
+
|
|
10
|
+
class WrappedRE2Set : public Nan::ObjectWrap
|
|
11
|
+
{
|
|
12
|
+
public:
|
|
13
|
+
static v8::Local<v8::Function> Init();
|
|
14
|
+
static inline bool HasInstance(v8::Local<v8::Object> object)
|
|
15
|
+
{
|
|
16
|
+
auto isolate = v8::Isolate::GetCurrent();
|
|
17
|
+
return !constructor.IsEmpty() && constructor.Get(isolate)->HasInstance(object);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
private:
|
|
21
|
+
WrappedRE2Set(const re2::RE2::Options &options, re2::RE2::Anchor anchor, const std::string &flags) : set(options, anchor), flags(flags), anchor(anchor) {}
|
|
22
|
+
|
|
23
|
+
static NAN_METHOD(New);
|
|
24
|
+
static NAN_METHOD(Test);
|
|
25
|
+
static NAN_METHOD(Match);
|
|
26
|
+
static NAN_METHOD(ToString);
|
|
27
|
+
|
|
28
|
+
static NAN_GETTER(GetFlags);
|
|
29
|
+
static NAN_GETTER(GetSources);
|
|
30
|
+
static NAN_GETTER(GetSource);
|
|
31
|
+
static NAN_GETTER(GetSize);
|
|
32
|
+
static NAN_GETTER(GetAnchor);
|
|
33
|
+
|
|
34
|
+
static Nan::Persistent<v8::FunctionTemplate> constructor;
|
|
35
|
+
|
|
36
|
+
re2::RE2::Set set;
|
|
37
|
+
std::vector<std::string> sources;
|
|
38
|
+
std::string combinedSource;
|
|
39
|
+
std::string flags;
|
|
40
|
+
re2::RE2::Anchor anchor;
|
|
41
|
+
};
|
|
42
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "re2",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"description": "Bindings for RE2: fast, safe alternative to backtracking regular expression engines.",
|
|
5
5
|
"homepage": "https://github.com/uhop/node-re2",
|
|
6
6
|
"bugs": "https://github.com/uhop/node-re2/issues",
|
|
@@ -16,26 +16,32 @@
|
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"install-artifact-from-github": "^1.4.0",
|
|
19
|
-
"nan": "^2.
|
|
20
|
-
"node-gyp": "^
|
|
19
|
+
"nan": "^2.24.0",
|
|
20
|
+
"node-gyp": "^12.1.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@types/node": "^
|
|
24
|
-
"
|
|
23
|
+
"@types/node": "^25.0.3",
|
|
24
|
+
"nano-benchmark": "^1.0.4",
|
|
25
|
+
"tape-six": "^1.1.2",
|
|
26
|
+
"tape-six-proc": "^1.0.2",
|
|
25
27
|
"typescript": "^5.9.3"
|
|
26
28
|
},
|
|
27
29
|
"scripts": {
|
|
28
|
-
"test": "
|
|
29
|
-
"ts-test": "tsc",
|
|
30
|
+
"test": "tape6-proc --flags FO",
|
|
30
31
|
"save-to-github": "save-to-github-cache --artifact build/Release/re2.node",
|
|
31
32
|
"install": "install-from-cache --artifact build/Release/re2.node --host-var RE2_DOWNLOAD_MIRROR --skip-path-var RE2_DOWNLOAD_SKIP_PATH --skip-ver-var RE2_DOWNLOAD_SKIP_VER || node-gyp -j max rebuild",
|
|
32
33
|
"verify-build": "node scripts/verify-build.js",
|
|
33
34
|
"build:dev": "node-gyp -j max build --debug",
|
|
34
35
|
"build": "node-gyp -j max build",
|
|
36
|
+
"build1": "node-gyp build",
|
|
35
37
|
"rebuild:dev": "node-gyp -j max rebuild --debug",
|
|
36
38
|
"rebuild": "node-gyp -j max rebuild",
|
|
39
|
+
"rebuild1": "node-gyp rebuild",
|
|
37
40
|
"clean": "node-gyp clean && node-gyp configure",
|
|
38
|
-
"clean-build": "node-gyp clean"
|
|
41
|
+
"clean-build": "node-gyp clean",
|
|
42
|
+
"ts-check": "tsc --noEmit",
|
|
43
|
+
"lint": "prettier --check *.js *.ts tests/ bench/",
|
|
44
|
+
"lint:fix": "prettier --write *.js *.ts tests/ bench/"
|
|
39
45
|
},
|
|
40
46
|
"github": "https://github.com/uhop/node-re2",
|
|
41
47
|
"repository": {
|
|
@@ -49,5 +55,11 @@
|
|
|
49
55
|
"PCRE alternative"
|
|
50
56
|
],
|
|
51
57
|
"author": "Eugene Lazutkin <eugene.lazutkin@gmail.com> (https://lazutkin.com/)",
|
|
52
|
-
"license": "BSD-3-Clause"
|
|
58
|
+
"license": "BSD-3-Clause",
|
|
59
|
+
"tape6": {
|
|
60
|
+
"tests": [
|
|
61
|
+
"/tests/test-*.mjs",
|
|
62
|
+
"/tests/test-*.ts"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
53
65
|
}
|
package/re2.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
declare module 're2' {
|
|
2
|
-
|
|
3
2
|
interface RE2BufferExecArray {
|
|
4
3
|
index: number;
|
|
5
4
|
input: Buffer;
|
|
6
5
|
0: Buffer;
|
|
7
6
|
groups?: {
|
|
8
|
-
[key: string]: Buffer
|
|
9
|
-
}
|
|
7
|
+
[key: string]: Buffer;
|
|
8
|
+
};
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
interface RE2BufferMatchArray {
|
|
@@ -14,8 +13,8 @@ declare module 're2' {
|
|
|
14
13
|
input?: Buffer;
|
|
15
14
|
0: Buffer;
|
|
16
15
|
groups?: {
|
|
17
|
-
[key: string]: Buffer
|
|
18
|
-
}
|
|
16
|
+
[key: string]: Buffer;
|
|
17
|
+
};
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
interface RE2 extends RegExp {
|
|
@@ -27,17 +26,53 @@ declare module 're2' {
|
|
|
27
26
|
|
|
28
27
|
test(str: string | Buffer): boolean;
|
|
29
28
|
|
|
30
|
-
replace<K extends String | Buffer>(
|
|
31
|
-
|
|
29
|
+
replace<K extends String | Buffer>(
|
|
30
|
+
str: K,
|
|
31
|
+
replaceValue: string | Buffer
|
|
32
|
+
): K;
|
|
33
|
+
replace<K extends String | Buffer>(
|
|
34
|
+
str: K,
|
|
35
|
+
replacer: (substring: string, ...args: any[]) => string | Buffer
|
|
36
|
+
): K;
|
|
32
37
|
|
|
33
38
|
search(str: string | Buffer): number;
|
|
34
39
|
|
|
35
40
|
split<K extends String | Buffer>(str: K, limit?: number): K[];
|
|
36
41
|
}
|
|
37
42
|
|
|
43
|
+
interface RE2SetOptions {
|
|
44
|
+
anchor?: 'unanchored' | 'start' | 'both';
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
interface RE2Set {
|
|
48
|
+
readonly size: number;
|
|
49
|
+
readonly source: string;
|
|
50
|
+
readonly sources: string[];
|
|
51
|
+
readonly flags: string;
|
|
52
|
+
readonly anchor: 'unanchored' | 'start' | 'both';
|
|
53
|
+
|
|
54
|
+
match(str: string | Buffer): number[];
|
|
55
|
+
test(str: string | Buffer): boolean;
|
|
56
|
+
toString(): string;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
interface RE2SetConstructor {
|
|
60
|
+
new (
|
|
61
|
+
patterns: Iterable<Buffer | RegExp | RE2 | string>,
|
|
62
|
+
flagsOrOptions?: string | Buffer | RE2SetOptions,
|
|
63
|
+
options?: RE2SetOptions
|
|
64
|
+
): RE2Set;
|
|
65
|
+
(
|
|
66
|
+
patterns: Iterable<Buffer | RegExp | RE2 | string>,
|
|
67
|
+
flagsOrOptions?: string | Buffer | RE2SetOptions,
|
|
68
|
+
options?: RE2SetOptions
|
|
69
|
+
): RE2Set;
|
|
70
|
+
readonly prototype: RE2Set;
|
|
71
|
+
}
|
|
72
|
+
|
|
38
73
|
interface RE2Constructor extends RegExpConstructor {
|
|
39
|
-
new(pattern: Buffer | RegExp | RE2 | string): RE2;
|
|
40
|
-
new(pattern: Buffer | string, flags?: string | Buffer): RE2;
|
|
74
|
+
new (pattern: Buffer | RegExp | RE2 | string): RE2;
|
|
75
|
+
new (pattern: Buffer | string, flags?: string | Buffer): RE2;
|
|
41
76
|
(pattern: Buffer | RegExp | RE2 | string): RE2;
|
|
42
77
|
(pattern: Buffer | string, flags?: string | Buffer): RE2;
|
|
43
78
|
readonly prototype: RE2;
|
|
@@ -45,6 +80,8 @@ declare module 're2' {
|
|
|
45
80
|
unicodeWarningLevel: 'nothing' | 'warnOnce' | 'warn' | 'throw';
|
|
46
81
|
getUtf8Length(value: string): number;
|
|
47
82
|
getUtf16Length(value: Buffer): number;
|
|
83
|
+
|
|
84
|
+
Set: RE2SetConstructor;
|
|
48
85
|
}
|
|
49
86
|
|
|
50
87
|
var RE2: RE2Constructor;
|
|
@@ -10,6 +10,7 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
10
10
|
"base/config.h"
|
|
11
11
|
"base/const_init.h"
|
|
12
12
|
"base/dynamic_annotations.h"
|
|
13
|
+
"base/fast_type_id.h"
|
|
13
14
|
"base/internal/atomic_hook.h"
|
|
14
15
|
"base/internal/cycleclock.cc"
|
|
15
16
|
"base/internal/cycleclock.h"
|
|
@@ -18,15 +19,12 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
18
19
|
"base/internal/dynamic_annotations.h"
|
|
19
20
|
"base/internal/endian.h"
|
|
20
21
|
"base/internal/errno_saver.h"
|
|
21
|
-
"base/internal/fast_type_id.h"
|
|
22
22
|
"base/internal/hide_ptr.h"
|
|
23
23
|
"base/internal/identity.h"
|
|
24
|
-
"base/internal/
|
|
25
|
-
"base/internal/inline_variable.h"
|
|
24
|
+
"base/internal/iterator_traits.h"
|
|
26
25
|
"base/internal/low_level_alloc.cc"
|
|
27
26
|
"base/internal/low_level_alloc.h"
|
|
28
27
|
"base/internal/low_level_scheduling.h"
|
|
29
|
-
"base/internal/nullability_impl.h"
|
|
30
28
|
"base/internal/per_thread_tls.h"
|
|
31
29
|
"base/internal/poison.cc"
|
|
32
30
|
"base/internal/poison.h"
|
|
@@ -83,6 +81,7 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
83
81
|
"container/internal/container_memory.h"
|
|
84
82
|
"container/internal/hash_function_defaults.h"
|
|
85
83
|
"container/internal/hash_policy_traits.h"
|
|
84
|
+
"container/internal/hashtable_control_bytes.h"
|
|
86
85
|
"container/internal/hashtable_debug.h"
|
|
87
86
|
"container/internal/hashtable_debug_hooks.h"
|
|
88
87
|
"container/internal/hashtablez_sampler.cc"
|
|
@@ -94,6 +93,7 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
94
93
|
"container/internal/raw_hash_map.h"
|
|
95
94
|
"container/internal/raw_hash_set.cc"
|
|
96
95
|
"container/internal/raw_hash_set.h"
|
|
96
|
+
"container/internal/raw_hash_set_resize_impl.h"
|
|
97
97
|
"container/internal/tracked.h"
|
|
98
98
|
"container/node_hash_map.h"
|
|
99
99
|
"container/node_hash_set.h"
|
|
@@ -126,6 +126,7 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
126
126
|
"debugging/symbolize.h"
|
|
127
127
|
"debugging/internal/address_is_readable.cc"
|
|
128
128
|
"debugging/internal/address_is_readable.h"
|
|
129
|
+
"debugging/internal/addresses.h"
|
|
129
130
|
"debugging/internal/bounded_utf8_length_sequence.h"
|
|
130
131
|
"debugging/internal/decode_rust_punycode.cc"
|
|
131
132
|
"debugging/internal/decode_rust_punycode.h"
|
|
@@ -158,8 +159,7 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
158
159
|
"hash/internal/hash.h"
|
|
159
160
|
"hash/internal/hash.cc"
|
|
160
161
|
"hash/internal/spy_hash_state.h"
|
|
161
|
-
"hash/internal/
|
|
162
|
-
"hash/internal/low_level_hash.cc"
|
|
162
|
+
"hash/internal/weakly_mixed_integer.h"
|
|
163
163
|
"log/absl_check.h"
|
|
164
164
|
"log/absl_log.h"
|
|
165
165
|
"log/absl_vlog_is_on.h"
|
|
@@ -216,10 +216,14 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
216
216
|
"numeric/int128.h"
|
|
217
217
|
"numeric/internal/bits.h"
|
|
218
218
|
"numeric/internal/representation.h"
|
|
219
|
+
"profiling/hashtable.cc"
|
|
220
|
+
"profiling/hashtable.h"
|
|
219
221
|
"profiling/internal/exponential_biased.cc"
|
|
220
222
|
"profiling/internal/exponential_biased.h"
|
|
221
223
|
"profiling/internal/periodic_sampler.cc"
|
|
222
224
|
"profiling/internal/periodic_sampler.h"
|
|
225
|
+
"profiling/internal/profile_builder.cc"
|
|
226
|
+
"profiling/internal/profile_builder.h"
|
|
223
227
|
"profiling/internal/sample_recorder.h"
|
|
224
228
|
"random/bernoulli_distribution.h"
|
|
225
229
|
"random/beta_distribution.h"
|
|
@@ -238,8 +242,8 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
238
242
|
"random/internal/nonsecure_base.h"
|
|
239
243
|
"random/internal/pcg_engine.h"
|
|
240
244
|
"random/internal/platform.h"
|
|
241
|
-
"random/internal/
|
|
242
|
-
"random/internal/
|
|
245
|
+
"random/internal/entropy_pool.cc"
|
|
246
|
+
"random/internal/entropy_pool.h"
|
|
243
247
|
"random/internal/randen.cc"
|
|
244
248
|
"random/internal/randen.h"
|
|
245
249
|
"random/internal/randen_detect.cc"
|
|
@@ -286,7 +290,6 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
286
290
|
"strings/cord.h"
|
|
287
291
|
"strings/cord_analysis.cc"
|
|
288
292
|
"strings/cord_analysis.h"
|
|
289
|
-
"strings/cord_buffer.cc"
|
|
290
293
|
"strings/cord_buffer.h"
|
|
291
294
|
"strings/escaping.cc"
|
|
292
295
|
"strings/escaping.h"
|
|
@@ -432,20 +435,11 @@ set(ABSL_INTERNAL_DLL_FILES
|
|
|
432
435
|
"time/internal/cctz/src/tzfile.h"
|
|
433
436
|
"time/internal/cctz/src/zone_info_source.cc"
|
|
434
437
|
"types/any.h"
|
|
435
|
-
"types/bad_any_cast.cc"
|
|
436
|
-
"types/bad_any_cast.h"
|
|
437
|
-
"types/bad_optional_access.cc"
|
|
438
|
-
"types/bad_optional_access.h"
|
|
439
|
-
"types/bad_variant_access.cc"
|
|
440
|
-
"types/bad_variant_access.h"
|
|
441
438
|
"types/compare.h"
|
|
442
|
-
"types/internal/variant.h"
|
|
443
439
|
"types/optional.h"
|
|
444
|
-
"types/internal/optional.h"
|
|
445
440
|
"types/span.h"
|
|
446
441
|
"types/internal/span.h"
|
|
447
442
|
"types/variant.h"
|
|
448
|
-
"utility/internal/if_constexpr.h"
|
|
449
443
|
"utility/utility.h"
|
|
450
444
|
"debugging/leak_check.cc"
|
|
451
445
|
)
|
|
@@ -496,10 +490,6 @@ set(ABSL_INTERNAL_DLL_TARGETS
|
|
|
496
490
|
"any"
|
|
497
491
|
"any_invocable"
|
|
498
492
|
"atomic_hook"
|
|
499
|
-
"bad_any_cast"
|
|
500
|
-
"bad_any_cast_impl"
|
|
501
|
-
"bad_optional_access"
|
|
502
|
-
"bad_variant_access"
|
|
503
493
|
"base"
|
|
504
494
|
"base_internal"
|
|
505
495
|
"bind_front"
|
|
@@ -734,7 +724,7 @@ if(ABSL_INTERNAL_AT_LEAST_CXX20)
|
|
|
734
724
|
elseif(ABSL_INTERNAL_AT_LEAST_CXX17)
|
|
735
725
|
set(ABSL_INTERNAL_CXX_STD_FEATURE cxx_std_17)
|
|
736
726
|
else()
|
|
737
|
-
|
|
727
|
+
message(FATAL_ERROR "The compiler defaults to or is configured for C++ < 17. C++ >= 17 is required and Abseil and all libraries that use Abseil must use the same C++ language standard")
|
|
738
728
|
endif()
|
|
739
729
|
|
|
740
730
|
function(absl_internal_dll_contains)
|
|
@@ -899,7 +889,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n")
|
|
|
899
889
|
)
|
|
900
890
|
|
|
901
891
|
if(ABSL_PROPAGATE_CXX_STD)
|
|
902
|
-
# Abseil libraries require C++
|
|
892
|
+
# Abseil libraries require C++17 as the current minimum standard. When
|
|
903
893
|
# compiled with a higher minimum (either because it is the compiler's
|
|
904
894
|
# default or explicitly requested), then Abseil requires that standard.
|
|
905
895
|
target_compile_features(${_dll} PUBLIC ${ABSL_INTERNAL_CXX_STD_FEATURE})
|
|
@@ -301,7 +301,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n")
|
|
|
301
301
|
endif()
|
|
302
302
|
|
|
303
303
|
if(ABSL_PROPAGATE_CXX_STD)
|
|
304
|
-
# Abseil libraries require C++
|
|
304
|
+
# Abseil libraries require C++17 as the current minimum standard. When
|
|
305
305
|
# compiled with a higher standard (either because it is the compiler's
|
|
306
306
|
# default or explicitly requested), then Abseil requires that standard.
|
|
307
307
|
target_compile_features(${_NAME} PUBLIC ${ABSL_INTERNAL_CXX_STD_FEATURE})
|
|
@@ -338,7 +338,7 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n")
|
|
|
338
338
|
target_compile_definitions(${_NAME} INTERFACE ${ABSL_CC_LIB_DEFINES})
|
|
339
339
|
|
|
340
340
|
if(ABSL_PROPAGATE_CXX_STD)
|
|
341
|
-
# Abseil libraries require C++
|
|
341
|
+
# Abseil libraries require C++17 as the current minimum standard.
|
|
342
342
|
# Top-level application CMake projects should ensure a consistent C++
|
|
343
343
|
# standard for all compiled sources by setting CMAKE_CXX_STANDARD.
|
|
344
344
|
target_compile_features(${_NAME} INTERFACE ${ABSL_INTERNAL_CXX_STD_FEATURE})
|
|
@@ -450,7 +450,7 @@ function(absl_cc_test)
|
|
|
450
450
|
set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER}/test)
|
|
451
451
|
|
|
452
452
|
if(ABSL_PROPAGATE_CXX_STD)
|
|
453
|
-
# Abseil libraries require C++
|
|
453
|
+
# Abseil libraries require C++17 as the current minimum standard.
|
|
454
454
|
# Top-level application CMake projects should ensure a consistent C++
|
|
455
455
|
# standard for all compiled sources by setting CMAKE_CXX_STANDARD.
|
|
456
456
|
target_compile_features(${_NAME} PUBLIC ${ABSL_INTERNAL_CXX_STD_FEATURE})
|
|
@@ -43,8 +43,8 @@ cmake_minimum_required(VERSION 3.16)
|
|
|
43
43
|
project(my_app_project)
|
|
44
44
|
|
|
45
45
|
# Pick the C++ standard to compile with.
|
|
46
|
-
# Abseil currently supports C++
|
|
47
|
-
set(CMAKE_CXX_STANDARD
|
|
46
|
+
# Abseil currently supports C++17 and C++20.
|
|
47
|
+
set(CMAKE_CXX_STANDARD 17)
|
|
48
48
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
49
49
|
|
|
50
50
|
add_subdirectory(abseil-cpp)
|
|
@@ -23,8 +23,8 @@ if (POLICY CMP0141)
|
|
|
23
23
|
cmake_policy(SET CMP0141 NEW)
|
|
24
24
|
endif (POLICY CMP0141)
|
|
25
25
|
|
|
26
|
-
project(absl LANGUAGES CXX VERSION
|
|
27
|
-
set(ABSL_SOVERSION "
|
|
26
|
+
project(absl LANGUAGES CXX VERSION 20250814)
|
|
27
|
+
set(ABSL_SOVERSION "2508.0.0")
|
|
28
28
|
include(CTest)
|
|
29
29
|
|
|
30
30
|
# Output directory is correct by default for most build setups. However, when
|
|
@@ -46,7 +46,7 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
|
|
|
46
46
|
set(CMAKE_BUILD_RPATH_USE_ORIGIN ON)
|
|
47
47
|
|
|
48
48
|
option(ABSL_PROPAGATE_CXX_STD
|
|
49
|
-
"Use CMake C++ standard meta features (e.g.
|
|
49
|
+
"Use CMake C++ standard meta features (e.g. cxx_std_17) that propagate to targets that link to Abseil"
|
|
50
50
|
ON)
|
|
51
51
|
|
|
52
52
|
option(ABSL_USE_SYSTEM_INCLUDES
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
module(
|
|
18
18
|
name = "abseil-cpp",
|
|
19
|
-
version = "
|
|
19
|
+
version = "20250814.1",
|
|
20
20
|
compatibility_level = 1,
|
|
21
21
|
)
|
|
22
22
|
|
|
@@ -25,16 +25,13 @@ cc_configure = use_extension("@rules_cc//cc:extensions.bzl",
|
|
|
25
25
|
dev_dependency = True)
|
|
26
26
|
use_repo(cc_configure, "local_config_cc")
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
bazel_dep(name = "rules_cc", version = "0.0.17")
|
|
32
|
-
bazel_dep(name = "bazel_skylib", version = "1.7.1")
|
|
33
|
-
bazel_dep(name = "platforms", version = "0.0.10")
|
|
28
|
+
bazel_dep(name = "rules_cc", version = "0.2.0")
|
|
29
|
+
bazel_dep(name = "bazel_skylib", version = "1.8.1")
|
|
30
|
+
bazel_dep(name = "platforms", version = "1.0.0")
|
|
34
31
|
|
|
35
32
|
bazel_dep(
|
|
36
33
|
name = "google_benchmark",
|
|
37
|
-
version = "1.
|
|
34
|
+
version = "1.9.4",
|
|
38
35
|
dev_dependency = True,
|
|
39
36
|
)
|
|
40
37
|
|
|
@@ -42,5 +39,5 @@ bazel_dep(
|
|
|
42
39
|
# intended to be used by Abseil users depend on GoogleTest.
|
|
43
40
|
bazel_dep(
|
|
44
41
|
name = "googletest",
|
|
45
|
-
version = "1.
|
|
42
|
+
version = "1.17.0",
|
|
46
43
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Abseil - C++ Common Libraries
|
|
2
2
|
|
|
3
3
|
The repository contains the Abseil C++ library code. Abseil is an open-source
|
|
4
|
-
collection of C++ code (compliant to C++
|
|
4
|
+
collection of C++ code (compliant to C++17) designed to augment the C++
|
|
5
5
|
standard library.
|
|
6
6
|
|
|
7
7
|
## Table of Contents
|
|
@@ -99,8 +99,8 @@ Abseil contains the following C++ library components:
|
|
|
99
99
|
<br /> The `memory` library contains memory management facilities that augment
|
|
100
100
|
C++'s `<memory>` library.
|
|
101
101
|
* [`meta`](absl/meta/)
|
|
102
|
-
<br /> The `meta` library contains
|
|
103
|
-
|
|
102
|
+
<br /> The `meta` library contains type checks
|
|
103
|
+
similar to those available in the C++ `<type_traits>` library.
|
|
104
104
|
* [`numeric`](absl/numeric/)
|
|
105
105
|
<br /> The `numeric` library contains 128-bit integer types as well as
|
|
106
106
|
implementations of C++20's bitwise math functions.
|
|
@@ -108,15 +108,14 @@ Abseil contains the following C++ library components:
|
|
|
108
108
|
<br /> The `profiling` library contains utility code for profiling C++
|
|
109
109
|
entities. It is currently a private dependency of other Abseil libraries.
|
|
110
110
|
* [`random`](absl/random/)
|
|
111
|
-
<br /> The `random` library contains functions for generating
|
|
111
|
+
<br /> The `random` library contains functions for generating pseudorandom
|
|
112
112
|
values.
|
|
113
113
|
* [`status`](absl/status/)
|
|
114
114
|
<br /> The `status` library contains abstractions for error handling,
|
|
115
115
|
specifically `absl::Status` and `absl::StatusOr<T>`.
|
|
116
116
|
* [`strings`](absl/strings/)
|
|
117
117
|
<br /> The `strings` library contains a variety of strings routines and
|
|
118
|
-
utilities
|
|
119
|
-
`std::string_view` type.
|
|
118
|
+
utilities.
|
|
120
119
|
* [`synchronization`](absl/synchronization/)
|
|
121
120
|
<br /> The `synchronization` library contains concurrency primitives (Abseil's
|
|
122
121
|
`absl::Mutex` class, an alternative to `std::mutex`) and a variety of
|
|
@@ -126,8 +125,7 @@ Abseil contains the following C++ library components:
|
|
|
126
125
|
points in time, durations of time, and formatting and parsing time within
|
|
127
126
|
time zones.
|
|
128
127
|
* [`types`](absl/types/)
|
|
129
|
-
<br /> The `types` library contains non-container utility types
|
|
130
|
-
C++14-compatible version of the C++17 `std::optional` type.
|
|
128
|
+
<br /> The `types` library contains non-container utility types.
|
|
131
129
|
* [`utility`](absl/utility/)
|
|
132
130
|
<br /> The `utility` library contains utility and helper code.
|
|
133
131
|
|
|
@@ -42,11 +42,13 @@ Pod::Spec.new do |s|
|
|
|
42
42
|
'USER_HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)"',
|
|
43
43
|
'USE_HEADERMAP' => 'NO',
|
|
44
44
|
'ALWAYS_SEARCH_USER_PATHS' => 'NO',
|
|
45
|
+
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++17',
|
|
45
46
|
}
|
|
46
|
-
s.ios.deployment_target = '
|
|
47
|
-
s.osx.deployment_target = '10.
|
|
48
|
-
s.tvos.deployment_target = '
|
|
49
|
-
s.watchos.deployment_target = '
|
|
47
|
+
s.ios.deployment_target = '12.0'
|
|
48
|
+
s.osx.deployment_target = '10.13'
|
|
49
|
+
s.tvos.deployment_target = '12.0'
|
|
50
|
+
s.watchos.deployment_target = '4.0'
|
|
51
|
+
s.visionos.deployment_target = '1.0'
|
|
50
52
|
s.subspec 'xcprivacy' do |ss|
|
|
51
53
|
ss.resource_bundles = {
|
|
52
54
|
ss.module_name => 'PrivacyInfo.xcprivacy',
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
#
|
|
16
16
|
|
|
17
|
+
load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
|
18
|
+
load("@rules_cc//cc:cc_test.bzl", "cc_test")
|
|
17
19
|
load(
|
|
18
20
|
"//absl:copts/configure_copts.bzl",
|
|
19
21
|
"ABSL_DEFAULT_COPTS",
|
|
@@ -83,6 +85,7 @@ cc_test(
|
|
|
83
85
|
"//absl/base:config",
|
|
84
86
|
"//absl/base:core_headers",
|
|
85
87
|
"//absl/memory",
|
|
88
|
+
"//absl/random",
|
|
86
89
|
"//absl/types:span",
|
|
87
90
|
"@googletest//:gtest",
|
|
88
91
|
"@googletest//:gtest_main",
|
|
@@ -44,7 +44,6 @@
|
|
|
44
44
|
#include <cassert>
|
|
45
45
|
#include <iterator>
|
|
46
46
|
#include <numeric>
|
|
47
|
-
#include <random>
|
|
48
47
|
#include <type_traits>
|
|
49
48
|
#include <unordered_map>
|
|
50
49
|
#include <unordered_set>
|
|
@@ -76,8 +75,8 @@ using ContainerIter = decltype(begin(std::declval<C&>()));
|
|
|
76
75
|
// An MSVC bug involving template parameter substitution requires us to use
|
|
77
76
|
// decltype() here instead of just std::pair.
|
|
78
77
|
template <typename C1, typename C2>
|
|
79
|
-
using ContainerIterPairType =
|
|
80
|
-
|
|
78
|
+
using ContainerIterPairType = decltype(std::make_pair(
|
|
79
|
+
std::declval<ContainerIter<C1>>(), std::declval<ContainerIter<C2>>()));
|
|
81
80
|
|
|
82
81
|
template <typename C>
|
|
83
82
|
using ContainerDifferenceType = decltype(std::distance(
|
|
@@ -847,25 +846,9 @@ template <typename C, typename OutputIterator, typename Distance,
|
|
|
847
846
|
typename UniformRandomBitGenerator>
|
|
848
847
|
OutputIterator c_sample(const C& c, OutputIterator result, Distance n,
|
|
849
848
|
UniformRandomBitGenerator&& gen) {
|
|
850
|
-
#if defined(__cpp_lib_sample) && __cpp_lib_sample >= 201603L
|
|
851
849
|
return std::sample(container_algorithm_internal::c_begin(c),
|
|
852
850
|
container_algorithm_internal::c_end(c), result, n,
|
|
853
851
|
std::forward<UniformRandomBitGenerator>(gen));
|
|
854
|
-
#else
|
|
855
|
-
// Fall back to a stable selection-sampling implementation.
|
|
856
|
-
auto first = container_algorithm_internal::c_begin(c);
|
|
857
|
-
Distance unsampled_elements = c_distance(c);
|
|
858
|
-
n = (std::min)(n, unsampled_elements);
|
|
859
|
-
for (; n != 0; ++first) {
|
|
860
|
-
Distance r =
|
|
861
|
-
std::uniform_int_distribution<Distance>(0, --unsampled_elements)(gen);
|
|
862
|
-
if (r < n) {
|
|
863
|
-
*result++ = *first;
|
|
864
|
-
--n;
|
|
865
|
-
}
|
|
866
|
-
}
|
|
867
|
-
return result;
|
|
868
|
-
#endif
|
|
869
852
|
}
|
|
870
853
|
|
|
871
854
|
//------------------------------------------------------------------------------
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
#include <algorithm>
|
|
18
18
|
#include <array>
|
|
19
|
+
#include <cstddef>
|
|
19
20
|
#include <functional>
|
|
20
21
|
#include <initializer_list>
|
|
21
22
|
#include <iterator>
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
#include "absl/base/config.h"
|
|
36
37
|
#include "absl/base/macros.h"
|
|
37
38
|
#include "absl/memory/memory.h"
|
|
39
|
+
#include "absl/random/random.h"
|
|
38
40
|
#include "absl/types/span.h"
|
|
39
41
|
|
|
40
42
|
namespace {
|
|
@@ -986,25 +988,16 @@ TEST(MutatingTest, RotateCopy) {
|
|
|
986
988
|
EXPECT_THAT(actual, ElementsAre(3, 4, 1, 2, 5));
|
|
987
989
|
}
|
|
988
990
|
|
|
989
|
-
template <typename T>
|
|
990
|
-
T RandomlySeededPrng() {
|
|
991
|
-
std::random_device rdev;
|
|
992
|
-
std::seed_seq::result_type data[T::state_size];
|
|
993
|
-
std::generate_n(data, T::state_size, std::ref(rdev));
|
|
994
|
-
std::seed_seq prng_seed(data, data + T::state_size);
|
|
995
|
-
return T(prng_seed);
|
|
996
|
-
}
|
|
997
|
-
|
|
998
991
|
TEST(MutatingTest, Shuffle) {
|
|
999
992
|
std::vector<int> actual = {1, 2, 3, 4, 5};
|
|
1000
|
-
absl::c_shuffle(actual,
|
|
993
|
+
absl::c_shuffle(actual, absl::InsecureBitGen());
|
|
1001
994
|
EXPECT_THAT(actual, UnorderedElementsAre(1, 2, 3, 4, 5));
|
|
1002
995
|
}
|
|
1003
996
|
|
|
1004
997
|
TEST(MutatingTest, Sample) {
|
|
1005
998
|
std::vector<int> actual;
|
|
1006
999
|
absl::c_sample(std::vector<int>{1, 2, 3, 4, 5}, std::back_inserter(actual), 3,
|
|
1007
|
-
|
|
1000
|
+
absl::InsecureBitGen());
|
|
1008
1001
|
EXPECT_THAT(actual, IsSubsetOf({1, 2, 3, 4, 5}));
|
|
1009
1002
|
EXPECT_THAT(actual, SizeIs(3));
|
|
1010
1003
|
}
|