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
|
@@ -163,11 +163,11 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
163
163
|
public:
|
|
164
164
|
using traits_type = std::char_traits<char>;
|
|
165
165
|
using value_type = char;
|
|
166
|
-
using pointer =
|
|
167
|
-
using const_pointer =
|
|
166
|
+
using pointer = char* absl_nullable;
|
|
167
|
+
using const_pointer = const char* absl_nullable;
|
|
168
168
|
using reference = char&;
|
|
169
169
|
using const_reference = const char&;
|
|
170
|
-
using const_iterator =
|
|
170
|
+
using const_iterator = const char* absl_nullable;
|
|
171
171
|
using iterator = const_iterator;
|
|
172
172
|
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
|
|
173
173
|
using reverse_iterator = const_reverse_iterator;
|
|
@@ -197,12 +197,16 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
197
197
|
// instead (see below).
|
|
198
198
|
// The length check is skipped since it is unnecessary and causes code bloat.
|
|
199
199
|
constexpr string_view( // NOLINT(runtime/explicit)
|
|
200
|
-
|
|
201
|
-
: ptr_(str), length_(str ? StrlenInternal(str) : 0) {
|
|
200
|
+
const char* absl_nonnull str)
|
|
201
|
+
: ptr_(str), length_(str ? StrlenInternal(str) : 0) {
|
|
202
|
+
assert(str != nullptr);
|
|
203
|
+
}
|
|
202
204
|
|
|
203
205
|
// Constructor of a `string_view` from a `const char*` and length.
|
|
204
|
-
constexpr string_view(
|
|
205
|
-
: ptr_(data), length_(CheckLengthInternal(len)) {
|
|
206
|
+
constexpr string_view(const char* absl_nullable data, size_type len)
|
|
207
|
+
: ptr_(data), length_(CheckLengthInternal(len)) {
|
|
208
|
+
ABSL_ASSERT(data != nullptr || len == 0);
|
|
209
|
+
}
|
|
206
210
|
|
|
207
211
|
constexpr string_view(const string_view&) noexcept = default;
|
|
208
212
|
string_view& operator=(const string_view&) noexcept = default;
|
|
@@ -376,7 +380,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
376
380
|
//
|
|
377
381
|
// Copies the contents of the `string_view` at offset `pos` and length `n`
|
|
378
382
|
// into `buf`.
|
|
379
|
-
size_type copy(char* buf, size_type n, size_type pos = 0) const {
|
|
383
|
+
size_type copy(char* absl_nonnull buf, size_type n, size_type pos = 0) const {
|
|
380
384
|
if (ABSL_PREDICT_FALSE(pos > length_)) {
|
|
381
385
|
base_internal::ThrowStdOutOfRange("absl::string_view::copy");
|
|
382
386
|
}
|
|
@@ -398,7 +402,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
398
402
|
if (ABSL_PREDICT_FALSE(pos > length_)) {
|
|
399
403
|
base_internal::ThrowStdOutOfRange("absl::string_view::substr");
|
|
400
404
|
}
|
|
401
|
-
return string_view(ptr_ + pos,
|
|
405
|
+
return string_view(ptr_ + pos, (std::min)(n, length_ - pos));
|
|
402
406
|
}
|
|
403
407
|
|
|
404
408
|
// string_view::compare()
|
|
@@ -409,10 +413,10 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
409
413
|
// is greater than `x`.
|
|
410
414
|
constexpr int compare(string_view x) const noexcept {
|
|
411
415
|
return CompareImpl(length_, x.length_,
|
|
412
|
-
|
|
416
|
+
(std::min)(length_, x.length_) == 0
|
|
413
417
|
? 0
|
|
414
418
|
: ABSL_INTERNAL_STRING_VIEW_MEMCMP(
|
|
415
|
-
ptr_, x.ptr_,
|
|
419
|
+
ptr_, x.ptr_, (std::min)(length_, x.length_)));
|
|
416
420
|
}
|
|
417
421
|
|
|
418
422
|
// Overload of `string_view::compare()` for comparing a substring of the
|
|
@@ -430,21 +434,21 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
430
434
|
|
|
431
435
|
// Overload of `string_view::compare()` for comparing a `string_view` and a
|
|
432
436
|
// a different C-style string `s`.
|
|
433
|
-
constexpr int compare(
|
|
437
|
+
constexpr int compare(const char* absl_nonnull s) const {
|
|
434
438
|
return compare(string_view(s));
|
|
435
439
|
}
|
|
436
440
|
|
|
437
441
|
// Overload of `string_view::compare()` for comparing a substring of the
|
|
438
442
|
// `string_view` and a different string C-style string `s`.
|
|
439
443
|
constexpr int compare(size_type pos1, size_type count1,
|
|
440
|
-
|
|
444
|
+
const char* absl_nonnull s) const {
|
|
441
445
|
return substr(pos1, count1).compare(string_view(s));
|
|
442
446
|
}
|
|
443
447
|
|
|
444
448
|
// Overload of `string_view::compare()` for comparing a substring of the
|
|
445
449
|
// `string_view` and a substring of a different C-style string `s`.
|
|
446
450
|
constexpr int compare(size_type pos1, size_type count1,
|
|
447
|
-
|
|
451
|
+
const char* absl_nonnull s, size_type count2) const {
|
|
448
452
|
return substr(pos1, count1).compare(string_view(s, count2));
|
|
449
453
|
}
|
|
450
454
|
|
|
@@ -463,14 +467,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
463
467
|
|
|
464
468
|
// Overload of `string_view::find()` for finding a substring of a different
|
|
465
469
|
// C-style string `s` within the `string_view`.
|
|
466
|
-
size_type find(
|
|
470
|
+
size_type find(const char* absl_nonnull s, size_type pos,
|
|
467
471
|
size_type count) const {
|
|
468
472
|
return find(string_view(s, count), pos);
|
|
469
473
|
}
|
|
470
474
|
|
|
471
475
|
// Overload of `string_view::find()` for finding a different C-style string
|
|
472
476
|
// `s` within the `string_view`.
|
|
473
|
-
size_type find(
|
|
477
|
+
size_type find(const char* absl_nonnull s, size_type pos = 0) const {
|
|
474
478
|
return find(string_view(s), pos);
|
|
475
479
|
}
|
|
476
480
|
|
|
@@ -487,14 +491,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
487
491
|
|
|
488
492
|
// Overload of `string_view::rfind()` for finding a substring of a different
|
|
489
493
|
// C-style string `s` within the `string_view`.
|
|
490
|
-
size_type rfind(
|
|
494
|
+
size_type rfind(const char* absl_nonnull s, size_type pos,
|
|
491
495
|
size_type count) const {
|
|
492
496
|
return rfind(string_view(s, count), pos);
|
|
493
497
|
}
|
|
494
498
|
|
|
495
499
|
// Overload of `string_view::rfind()` for finding a different C-style string
|
|
496
500
|
// `s` within the `string_view`.
|
|
497
|
-
size_type rfind(
|
|
501
|
+
size_type rfind(const char* absl_nonnull s, size_type pos = npos) const {
|
|
498
502
|
return rfind(string_view(s), pos);
|
|
499
503
|
}
|
|
500
504
|
|
|
@@ -513,15 +517,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
513
517
|
|
|
514
518
|
// Overload of `string_view::find_first_of()` for finding a substring of a
|
|
515
519
|
// different C-style string `s` within the `string_view`.
|
|
516
|
-
size_type find_first_of(
|
|
520
|
+
size_type find_first_of(const char* absl_nonnull s, size_type pos,
|
|
517
521
|
size_type count) const {
|
|
518
522
|
return find_first_of(string_view(s, count), pos);
|
|
519
523
|
}
|
|
520
524
|
|
|
521
525
|
// Overload of `string_view::find_first_of()` for finding a different C-style
|
|
522
526
|
// string `s` within the `string_view`.
|
|
523
|
-
size_type find_first_of(
|
|
524
|
-
size_type pos = 0) const {
|
|
527
|
+
size_type find_first_of(const char* absl_nonnull s, size_type pos = 0) const {
|
|
525
528
|
return find_first_of(string_view(s), pos);
|
|
526
529
|
}
|
|
527
530
|
|
|
@@ -540,14 +543,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
540
543
|
|
|
541
544
|
// Overload of `string_view::find_last_of()` for finding a substring of a
|
|
542
545
|
// different C-style string `s` within the `string_view`.
|
|
543
|
-
size_type find_last_of(
|
|
546
|
+
size_type find_last_of(const char* absl_nonnull s, size_type pos,
|
|
544
547
|
size_type count) const {
|
|
545
548
|
return find_last_of(string_view(s, count), pos);
|
|
546
549
|
}
|
|
547
550
|
|
|
548
551
|
// Overload of `string_view::find_last_of()` for finding a different C-style
|
|
549
552
|
// string `s` within the `string_view`.
|
|
550
|
-
size_type find_last_of(
|
|
553
|
+
size_type find_last_of(const char* absl_nonnull s,
|
|
551
554
|
size_type pos = npos) const {
|
|
552
555
|
return find_last_of(string_view(s), pos);
|
|
553
556
|
}
|
|
@@ -565,14 +568,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
565
568
|
|
|
566
569
|
// Overload of `string_view::find_first_not_of()` for finding a substring of a
|
|
567
570
|
// different C-style string `s` within the `string_view`.
|
|
568
|
-
size_type find_first_not_of(
|
|
571
|
+
size_type find_first_not_of(const char* absl_nonnull s, size_type pos,
|
|
569
572
|
size_type count) const {
|
|
570
573
|
return find_first_not_of(string_view(s, count), pos);
|
|
571
574
|
}
|
|
572
575
|
|
|
573
576
|
// Overload of `string_view::find_first_not_of()` for finding a different
|
|
574
577
|
// C-style string `s` within the `string_view`.
|
|
575
|
-
size_type find_first_not_of(
|
|
578
|
+
size_type find_first_not_of(const char* absl_nonnull s,
|
|
576
579
|
size_type pos = 0) const {
|
|
577
580
|
return find_first_not_of(string_view(s), pos);
|
|
578
581
|
}
|
|
@@ -591,14 +594,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
591
594
|
|
|
592
595
|
// Overload of `string_view::find_last_not_of()` for finding a substring of a
|
|
593
596
|
// different C-style string `s` within the `string_view`.
|
|
594
|
-
size_type find_last_not_of(
|
|
597
|
+
size_type find_last_not_of(const char* absl_nonnull s, size_type pos,
|
|
595
598
|
size_type count) const {
|
|
596
599
|
return find_last_not_of(string_view(s, count), pos);
|
|
597
600
|
}
|
|
598
601
|
|
|
599
602
|
// Overload of `string_view::find_last_not_of()` for finding a different
|
|
600
603
|
// C-style string `s` within the `string_view`.
|
|
601
|
-
size_type find_last_not_of(
|
|
604
|
+
size_type find_last_not_of(const char* absl_nonnull s,
|
|
602
605
|
size_type pos = npos) const {
|
|
603
606
|
return find_last_not_of(string_view(s), pos);
|
|
604
607
|
}
|
|
@@ -625,7 +628,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
625
628
|
|
|
626
629
|
// Overload of `string_view::starts_with()` that returns true if the
|
|
627
630
|
// `string_view` starts with the C-style prefix `s`.
|
|
628
|
-
constexpr bool starts_with(const char* s) const {
|
|
631
|
+
constexpr bool starts_with(const char* absl_nonnull s) const {
|
|
629
632
|
return starts_with(string_view(s));
|
|
630
633
|
}
|
|
631
634
|
|
|
@@ -650,7 +653,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
650
653
|
|
|
651
654
|
// Overload of `string_view::ends_with()` that returns true if the
|
|
652
655
|
// `string_view` ends with the C-style suffix `s`.
|
|
653
|
-
constexpr bool ends_with(const char* s) const {
|
|
656
|
+
constexpr bool ends_with(const char* absl_nonnull s) const {
|
|
654
657
|
return ends_with(string_view(s));
|
|
655
658
|
}
|
|
656
659
|
#endif // ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L
|
|
@@ -659,7 +662,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
659
662
|
// The constructor from std::string delegates to this constructor.
|
|
660
663
|
// See the comment on that constructor for the rationale.
|
|
661
664
|
struct SkipCheckLengthTag {};
|
|
662
|
-
string_view(
|
|
665
|
+
string_view(const char* absl_nullable data, size_type len,
|
|
663
666
|
SkipCheckLengthTag) noexcept
|
|
664
667
|
: ptr_(data), length_(len) {}
|
|
665
668
|
|
|
@@ -671,7 +674,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
671
674
|
return len;
|
|
672
675
|
}
|
|
673
676
|
|
|
674
|
-
static constexpr size_type StrlenInternal(
|
|
677
|
+
static constexpr size_type StrlenInternal(const char* absl_nonnull str) {
|
|
675
678
|
#if defined(_MSC_VER) && !defined(__clang__)
|
|
676
679
|
// MSVC 2017+ can evaluate this at compile-time.
|
|
677
680
|
const char* begin = str;
|
|
@@ -689,10 +692,6 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
689
692
|
#endif
|
|
690
693
|
}
|
|
691
694
|
|
|
692
|
-
static constexpr size_t Min(size_type length_a, size_type length_b) {
|
|
693
|
-
return length_a < length_b ? length_a : length_b;
|
|
694
|
-
}
|
|
695
|
-
|
|
696
695
|
static constexpr int CompareImpl(size_type length_a, size_type length_b,
|
|
697
696
|
int compare_result) {
|
|
698
697
|
return compare_result == 0 ? static_cast<int>(length_a > length_b) -
|
|
@@ -700,7 +699,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
|
|
|
700
699
|
: (compare_result < 0 ? -1 : 1);
|
|
701
700
|
}
|
|
702
701
|
|
|
703
|
-
|
|
702
|
+
const char* absl_nullable ptr_;
|
|
704
703
|
size_type length_;
|
|
705
704
|
};
|
|
706
705
|
|
|
@@ -750,8 +749,8 @@ ABSL_NAMESPACE_BEGIN
|
|
|
750
749
|
//
|
|
751
750
|
// Like `s.substr(pos, n)`, but clips `pos` to an upper bound of `s.size()`.
|
|
752
751
|
// Provided because std::string_view::substr throws if `pos > size()`
|
|
753
|
-
inline string_view ClippedSubstr(string_view s
|
|
754
|
-
size_t n = string_view::npos) {
|
|
752
|
+
inline string_view ClippedSubstr(string_view s ABSL_ATTRIBUTE_LIFETIME_BOUND,
|
|
753
|
+
size_t pos, size_t n = string_view::npos) {
|
|
755
754
|
pos = (std::min)(pos, static_cast<size_t>(s.size()));
|
|
756
755
|
return s.substr(pos, n);
|
|
757
756
|
}
|
|
@@ -761,7 +760,7 @@ inline string_view ClippedSubstr(string_view s, size_t pos,
|
|
|
761
760
|
// Creates an `absl::string_view` from a pointer `p` even if it's null-valued.
|
|
762
761
|
// This function should be used where an `absl::string_view` can be created from
|
|
763
762
|
// a possibly-null pointer.
|
|
764
|
-
constexpr string_view NullSafeStringView(
|
|
763
|
+
constexpr string_view NullSafeStringView(const char* absl_nullable p) {
|
|
765
764
|
return p ? string_view(p) : string_view();
|
|
766
765
|
}
|
|
767
766
|
|
|
@@ -12,8 +12,6 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
-
#include "absl/strings/string_view.h"
|
|
16
|
-
|
|
17
15
|
#include <algorithm>
|
|
18
16
|
#include <cstddef>
|
|
19
17
|
#include <cstdint>
|
|
@@ -23,11 +21,13 @@
|
|
|
23
21
|
#include <unordered_set>
|
|
24
22
|
#include <vector>
|
|
25
23
|
|
|
26
|
-
#include "benchmark/benchmark.h"
|
|
27
24
|
#include "absl/base/attributes.h"
|
|
28
25
|
#include "absl/base/internal/raw_logging.h"
|
|
29
26
|
#include "absl/base/macros.h"
|
|
27
|
+
#include "absl/random/random.h"
|
|
30
28
|
#include "absl/strings/str_cat.h"
|
|
29
|
+
#include "absl/strings/string_view.h"
|
|
30
|
+
#include "benchmark/benchmark.h"
|
|
31
31
|
|
|
32
32
|
namespace {
|
|
33
33
|
|
|
@@ -287,9 +287,7 @@ void StringViewMapBenchmark(benchmark::State& state) {
|
|
|
287
287
|
"found", "a", "large", "mushroom", "and",
|
|
288
288
|
"a", "couple", "crickets", "eating", "pie"};
|
|
289
289
|
// Create some keys that consist of words in random order.
|
|
290
|
-
|
|
291
|
-
std::seed_seq seed({r(), r(), r(), r(), r(), r(), r(), r()});
|
|
292
|
-
std::mt19937 rng(seed);
|
|
290
|
+
absl::InsecureBitGen rng;
|
|
293
291
|
std::vector<std::string> keys(table_size);
|
|
294
292
|
std::vector<int> all_indices;
|
|
295
293
|
const int kBlockSize = 1 << 12;
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
#include "absl/base/config.h"
|
|
35
35
|
#include "absl/meta/type_traits.h"
|
|
36
36
|
|
|
37
|
-
#if defined(
|
|
37
|
+
#if defined(ABSL_USES_STD_STRING_VIEW) || defined(__ANDROID__)
|
|
38
38
|
// We don't control the death messaging when using std::string_view.
|
|
39
39
|
// Android assert messages only go to system log, so death tests cannot inspect
|
|
40
40
|
// the message for matching.
|
|
@@ -870,42 +870,10 @@ TEST(StringViewTest, FrontBackEmpty) {
|
|
|
870
870
|
#endif
|
|
871
871
|
}
|
|
872
872
|
|
|
873
|
-
|
|
874
|
-
// `std::char_traits<char>::length(const char*)` to get the string length. In
|
|
875
|
-
// libc++, it doesn't allow `nullptr` in the constexpr context, with the error
|
|
876
|
-
// "read of dereferenced null pointer is not allowed in a constant expression".
|
|
877
|
-
// At run time, the behavior of `std::char_traits::length()` on `nullptr` is
|
|
878
|
-
// undefined by the standard and usually results in crash with libc++.
|
|
879
|
-
// GCC also started rejected this in libstdc++ starting in GCC9.
|
|
880
|
-
// In MSVC, creating a constexpr string_view from nullptr also triggers an
|
|
881
|
-
// "unevaluable pointer value" error. This compiler implementation conforms
|
|
882
|
-
// to the standard, but `absl::string_view` implements a different
|
|
883
|
-
// behavior for historical reasons. We work around tests that construct
|
|
884
|
-
// `string_view` from `nullptr` when using libc++.
|
|
885
|
-
#if !defined(ABSL_USES_STD_STRING_VIEW) || \
|
|
886
|
-
(!(defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 9) && \
|
|
887
|
-
!defined(_LIBCPP_VERSION) && !defined(_MSC_VER))
|
|
888
|
-
#define ABSL_HAVE_STRING_VIEW_FROM_NULLPTR 1
|
|
889
|
-
#endif
|
|
890
|
-
|
|
891
|
-
TEST(StringViewTest, NULLInput) {
|
|
873
|
+
TEST(StringViewTest, DefaultConstructor) {
|
|
892
874
|
absl::string_view s;
|
|
893
875
|
EXPECT_EQ(s.data(), nullptr);
|
|
894
876
|
EXPECT_EQ(s.size(), 0u);
|
|
895
|
-
|
|
896
|
-
#ifdef ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
|
|
897
|
-
// The `str` parameter is annotated nonnull, but we want to test the defensive
|
|
898
|
-
// null check. Use a variable instead of passing nullptr directly to avoid a
|
|
899
|
-
// `-Wnonnull` warning.
|
|
900
|
-
char* null_str = nullptr;
|
|
901
|
-
s = absl::string_view(null_str);
|
|
902
|
-
EXPECT_EQ(s.data(), nullptr);
|
|
903
|
-
EXPECT_EQ(s.size(), 0u);
|
|
904
|
-
|
|
905
|
-
// .ToString() on a absl::string_view with nullptr should produce the empty
|
|
906
|
-
// string.
|
|
907
|
-
EXPECT_EQ("", std::string(s));
|
|
908
|
-
#endif // ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
|
|
909
877
|
}
|
|
910
878
|
|
|
911
879
|
TEST(StringViewTest, Comparisons2) {
|
|
@@ -1086,16 +1054,6 @@ TEST(StringViewTest, ConstexprCompiles) {
|
|
|
1086
1054
|
// know at compile time that the argument is nullptr and complain because the
|
|
1087
1055
|
// parameter is annotated nonnull. We hence turn the warning off for this
|
|
1088
1056
|
// test.
|
|
1089
|
-
#if defined(__clang__)
|
|
1090
|
-
#pragma clang diagnostic push
|
|
1091
|
-
#pragma clang diagnostic ignored "-Wnonnull"
|
|
1092
|
-
#endif
|
|
1093
|
-
#ifdef ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
|
|
1094
|
-
constexpr absl::string_view cstr(nullptr);
|
|
1095
|
-
#endif
|
|
1096
|
-
#if defined(__clang__)
|
|
1097
|
-
#pragma clang diagnostic pop
|
|
1098
|
-
#endif
|
|
1099
1057
|
constexpr absl::string_view cstr_len("cstr", 4);
|
|
1100
1058
|
|
|
1101
1059
|
#if defined(ABSL_USES_STD_STRING_VIEW)
|
|
@@ -1163,12 +1121,6 @@ TEST(StringViewTest, ConstexprCompiles) {
|
|
|
1163
1121
|
constexpr absl::string_view::iterator const_end_empty = sp.end();
|
|
1164
1122
|
EXPECT_EQ(const_begin_empty, const_end_empty);
|
|
1165
1123
|
|
|
1166
|
-
#ifdef ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
|
|
1167
|
-
constexpr absl::string_view::iterator const_begin_nullptr = cstr.begin();
|
|
1168
|
-
constexpr absl::string_view::iterator const_end_nullptr = cstr.end();
|
|
1169
|
-
EXPECT_EQ(const_begin_nullptr, const_end_nullptr);
|
|
1170
|
-
#endif // ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
|
|
1171
|
-
|
|
1172
1124
|
constexpr absl::string_view::iterator const_begin = cstr_len.begin();
|
|
1173
1125
|
constexpr absl::string_view::iterator const_end = cstr_len.end();
|
|
1174
1126
|
constexpr absl::string_view::size_type const_size = cstr_len.size();
|
|
@@ -45,7 +45,7 @@ ABSL_NAMESPACE_BEGIN
|
|
|
45
45
|
// absl::string_view input("abc");
|
|
46
46
|
// EXPECT_TRUE(absl::ConsumePrefix(&input, "a"));
|
|
47
47
|
// EXPECT_EQ(input, "bc");
|
|
48
|
-
inline constexpr bool ConsumePrefix(absl::
|
|
48
|
+
inline constexpr bool ConsumePrefix(absl::string_view* absl_nonnull str,
|
|
49
49
|
absl::string_view expected) {
|
|
50
50
|
if (!absl::StartsWith(*str, expected)) return false;
|
|
51
51
|
str->remove_prefix(expected.size());
|
|
@@ -62,7 +62,7 @@ inline constexpr bool ConsumePrefix(absl::Nonnull<absl::string_view*> str,
|
|
|
62
62
|
// absl::string_view input("abcdef");
|
|
63
63
|
// EXPECT_TRUE(absl::ConsumeSuffix(&input, "def"));
|
|
64
64
|
// EXPECT_EQ(input, "abc");
|
|
65
|
-
inline constexpr bool ConsumeSuffix(absl::
|
|
65
|
+
inline constexpr bool ConsumeSuffix(absl::string_view* absl_nonnull str,
|
|
66
66
|
absl::string_view expected) {
|
|
67
67
|
if (!absl::EndsWith(*str, expected)) return false;
|
|
68
68
|
str->remove_suffix(expected.size());
|
|
@@ -74,7 +74,7 @@ inline constexpr bool ConsumeSuffix(absl::Nonnull<absl::string_view*> str,
|
|
|
74
74
|
// Returns a view into the input string `str` with the given `prefix` removed,
|
|
75
75
|
// but leaving the original string intact. If the prefix does not match at the
|
|
76
76
|
// start of the string, returns the original string instead.
|
|
77
|
-
|
|
77
|
+
[[nodiscard]] inline constexpr absl::string_view StripPrefix(
|
|
78
78
|
absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND,
|
|
79
79
|
absl::string_view prefix) {
|
|
80
80
|
if (absl::StartsWith(str, prefix)) str.remove_prefix(prefix.size());
|
|
@@ -86,7 +86,7 @@ ABSL_MUST_USE_RESULT inline constexpr absl::string_view StripPrefix(
|
|
|
86
86
|
// Returns a view into the input string `str` with the given `suffix` removed,
|
|
87
87
|
// but leaving the original string intact. If the suffix does not match at the
|
|
88
88
|
// end of the string, returns the original string instead.
|
|
89
|
-
|
|
89
|
+
[[nodiscard]] inline constexpr absl::string_view StripSuffix(
|
|
90
90
|
absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND,
|
|
91
91
|
absl::string_view suffix) {
|
|
92
92
|
if (absl::EndsWith(str, suffix)) str.remove_suffix(suffix.size());
|
|
@@ -35,9 +35,10 @@ namespace absl {
|
|
|
35
35
|
ABSL_NAMESPACE_BEGIN
|
|
36
36
|
namespace substitute_internal {
|
|
37
37
|
|
|
38
|
-
void SubstituteAndAppendArray(
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
void SubstituteAndAppendArray(std::string* absl_nonnull output,
|
|
39
|
+
absl::string_view format,
|
|
40
|
+
const absl::string_view* absl_nullable args_array,
|
|
41
|
+
size_t num_args) {
|
|
41
42
|
// Determine total size needed.
|
|
42
43
|
size_t size = 0;
|
|
43
44
|
for (size_t i = 0; i < format.size(); i++) {
|
|
@@ -109,7 +110,7 @@ void SubstituteAndAppendArray(
|
|
|
109
110
|
assert(target == output->data() + output->size());
|
|
110
111
|
}
|
|
111
112
|
|
|
112
|
-
Arg::Arg(
|
|
113
|
+
Arg::Arg(const void* absl_nullable value) {
|
|
113
114
|
static_assert(sizeof(scratch_) >= sizeof(value) * 2 + 2,
|
|
114
115
|
"fix sizeof(scratch_)");
|
|
115
116
|
if (value == nullptr) {
|