re2 1.24.1 → 1.25.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/LICENSE +15 -20
- package/README.md +62 -4
- package/binding.gyp +1 -2
- package/lib/addon.cc +7 -3
- package/lib/exec.cc +4 -4
- package/lib/match.cc +4 -4
- package/lib/pattern.cc +148 -1
- package/lib/replace.cc +5 -4
- package/lib/search.cc +1 -1
- package/lib/set.cc +75 -0
- package/lib/test.cc +1 -1
- package/lib/unicode_properties.h +15840 -0
- package/lib/wrapped_re2.h +11 -4
- package/lib/wrapped_re2_set.h +3 -1
- package/llms-full.txt +37 -7
- package/llms.txt +4 -1
- package/package.json +11 -10
- package/re2.d.ts +2 -0
- package/vendor/abseil-cpp/CMake/AbseilDll.cmake +87 -74
- package/vendor/abseil-cpp/CMakeLists.txt +3 -3
- package/vendor/abseil-cpp/FAQ.md +130 -79
- package/vendor/abseil-cpp/MODULE.bazel +6 -7
- package/vendor/abseil-cpp/absl/BUILD.bazel +6 -0
- package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +4 -0
- package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +4 -0
- package/vendor/abseil-cpp/absl/algorithm/algorithm.h +34 -2
- package/vendor/abseil-cpp/absl/algorithm/container.h +164 -17
- package/vendor/abseil-cpp/absl/algorithm/container_test.cc +390 -13
- package/vendor/abseil-cpp/absl/base/BUILD.bazel +53 -6
- package/vendor/abseil-cpp/absl/base/CMakeLists.txt +28 -4
- package/vendor/abseil-cpp/absl/base/attributes.h +61 -42
- package/vendor/abseil-cpp/absl/base/call_once.h +1 -0
- package/vendor/abseil-cpp/absl/base/casts.h +8 -1
- package/vendor/abseil-cpp/absl/base/casts_test.cc +3 -6
- package/vendor/abseil-cpp/absl/base/config.h +54 -10
- package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +9 -9
- package/vendor/abseil-cpp/absl/base/fast_type_id.h +30 -2
- package/vendor/abseil-cpp/absl/base/fast_type_id_test.cc +3 -0
- package/vendor/abseil-cpp/absl/base/internal/exception_safety_testing.h +15 -12
- package/vendor/abseil-cpp/absl/base/internal/hardening.h +136 -0
- package/vendor/abseil-cpp/absl/base/internal/hardening_test.cc +168 -0
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +2 -2
- package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -0
- package/vendor/abseil-cpp/absl/base/internal/low_level_scheduling.h +77 -15
- package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +1 -2
- package/vendor/abseil-cpp/absl/base/internal/thread_identity.h +52 -0
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +5 -0
- package/vendor/abseil-cpp/absl/base/macros.h +36 -20
- package/vendor/abseil-cpp/absl/base/nullability.h +4 -3
- package/vendor/abseil-cpp/absl/base/optimization.h +3 -2
- package/vendor/abseil-cpp/absl/base/optimization_test.cc +4 -3
- package/vendor/abseil-cpp/absl/base/options.h +55 -1
- package/vendor/abseil-cpp/absl/base/policy_checks.h +5 -5
- package/vendor/abseil-cpp/absl/base/{internal/throw_delegate.cc → throw_delegate.cc} +9 -7
- package/vendor/abseil-cpp/absl/base/{internal/throw_delegate.h → throw_delegate.h} +4 -14
- package/vendor/abseil-cpp/absl/base/throw_delegate_test.cc +19 -28
- package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +2 -0
- package/vendor/abseil-cpp/absl/cleanup/cleanup.h +3 -2
- package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -2
- package/vendor/abseil-cpp/absl/container/BUILD.bazel +19 -7
- package/vendor/abseil-cpp/absl/container/CMakeLists.txt +6 -5
- package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +3 -5
- package/vendor/abseil-cpp/absl/container/btree_set.h +5 -5
- package/vendor/abseil-cpp/absl/container/btree_test.cc +11 -14
- package/vendor/abseil-cpp/absl/container/chunked_queue.h +8 -6
- package/vendor/abseil-cpp/absl/container/chunked_queue_test.cc +5 -5
- package/vendor/abseil-cpp/absl/container/fixed_array.h +14 -13
- package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +3 -3
- package/vendor/abseil-cpp/absl/container/flat_hash_map.h +18 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +34 -1
- package/vendor/abseil-cpp/absl/container/flat_hash_set.h +21 -7
- package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +39 -7
- package/vendor/abseil-cpp/absl/container/inlined_vector.h +29 -29
- package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +2 -2
- package/vendor/abseil-cpp/absl/container/internal/btree.h +32 -24
- package/vendor/abseil-cpp/absl/container/internal/btree_container.h +16 -17
- package/vendor/abseil-cpp/absl/container/internal/common.h +6 -5
- package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -1
- package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +16 -16
- package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +13 -13
- package/vendor/abseil-cpp/absl/container/internal/container_memory.h +41 -31
- package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +2 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +4 -4
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +27 -19
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -2
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +0 -17
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +12 -30
- package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +28 -28
- package/vendor/abseil-cpp/absl/container/internal/layout.h +13 -13
- package/vendor/abseil-cpp/absl/container/internal/layout_test.cc +3 -2
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +60 -62
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +59 -39
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +619 -326
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +25 -2
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +4 -4
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +575 -159
- package/vendor/abseil-cpp/absl/container/linked_hash_map.h +2 -2
- package/vendor/abseil-cpp/absl/container/node_hash_map.h +27 -15
- package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +34 -0
- package/vendor/abseil-cpp/absl/container/node_hash_set.h +25 -11
- package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +39 -7
- package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +7 -4
- package/vendor/abseil-cpp/absl/crc/BUILD.bazel +0 -1
- package/vendor/abseil-cpp/absl/crc/CMakeLists.txt +2 -3
- package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +2 -1
- package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +6 -6
- package/vendor/abseil-cpp/absl/crc/internal/crc.cc +4 -6
- package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +41 -0
- package/vendor/abseil-cpp/absl/crc/internal/crc_internal.h +0 -16
- package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +143 -81
- package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +9 -31
- package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +3 -33
- package/vendor/abseil-cpp/absl/debugging/internal/demangle_rust.h +8 -0
- package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +2 -1
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +12 -2
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +2 -3
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +11 -0
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +13 -4
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +14 -7
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +4 -0
- package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +46 -36
- package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +18 -58
- package/vendor/abseil-cpp/absl/debugging/stacktrace.h +5 -48
- package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +10 -124
- package/vendor/abseil-cpp/absl/debugging/symbolize.cc +20 -2
- package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +58 -106
- package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +37 -36
- package/vendor/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +4 -4
- package/vendor/abseil-cpp/absl/flags/BUILD.bazel +6 -3
- package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +1 -1
- package/vendor/abseil-cpp/absl/flags/commandlineflag.h +8 -6
- package/vendor/abseil-cpp/absl/flags/commandlineflag_test.cc +1 -1
- package/vendor/abseil-cpp/absl/flags/flag_benchmark.cc +5 -5
- package/vendor/abseil-cpp/absl/flags/flag_test.cc +30 -30
- package/vendor/abseil-cpp/absl/flags/internal/flag.cc +4 -4
- package/vendor/abseil-cpp/absl/flags/internal/flag.h +6 -6
- package/vendor/abseil-cpp/absl/flags/marshalling.h +2 -28
- package/vendor/abseil-cpp/absl/flags/marshalling_test.cc +12 -11
- package/vendor/abseil-cpp/absl/flags/reflection_test.cc +1 -1
- package/vendor/abseil-cpp/absl/functional/BUILD.bazel +26 -1
- package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +29 -1
- package/vendor/abseil-cpp/absl/functional/any_invocable.h +13 -14
- package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +46 -47
- package/vendor/abseil-cpp/absl/functional/bind_back.h +79 -0
- package/vendor/abseil-cpp/absl/functional/bind_back_test.cc +237 -0
- package/vendor/abseil-cpp/absl/functional/bind_front.h +7 -1
- package/vendor/abseil-cpp/absl/functional/bind_front_test.cc +4 -4
- package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +2 -2
- package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +28 -28
- package/vendor/abseil-cpp/absl/functional/internal/back_binder.h +95 -0
- package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +4 -4
- package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +2 -2
- package/vendor/abseil-cpp/absl/functional/overload_test.cc +13 -13
- package/vendor/abseil-cpp/absl/hash/BUILD.bazel +1 -2
- package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +1 -2
- package/vendor/abseil-cpp/absl/hash/hash.h +1 -1
- package/vendor/abseil-cpp/absl/hash/hash_test.cc +14 -20
- package/vendor/abseil-cpp/absl/hash/hash_testing.h +11 -9
- package/vendor/abseil-cpp/absl/hash/internal/city.cc +39 -51
- package/vendor/abseil-cpp/absl/hash/internal/hash.cc +165 -47
- package/vendor/abseil-cpp/absl/hash/internal/hash.h +82 -26
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +36 -1
- package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +8 -5
- package/vendor/abseil-cpp/absl/log/BUILD.bazel +5 -2
- package/vendor/abseil-cpp/absl/log/CMakeLists.txt +5 -3
- package/vendor/abseil-cpp/absl/log/absl_vlog_is_on.h +0 -2
- package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +15 -1
- package/vendor/abseil-cpp/absl/log/internal/log_message.cc +5 -4
- package/vendor/abseil-cpp/absl/log/internal/log_message.h +14 -0
- package/vendor/abseil-cpp/absl/log/internal/nullstream.h +1 -1
- package/vendor/abseil-cpp/absl/log/internal/proto.cc +13 -0
- package/vendor/abseil-cpp/absl/log/internal/structured_proto.cc +5 -5
- package/vendor/abseil-cpp/absl/log/internal/structured_proto.h +6 -5
- package/vendor/abseil-cpp/absl/log/internal/structured_proto_test.cc +3 -3
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +2 -2
- package/vendor/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc +3 -3
- package/vendor/abseil-cpp/absl/log/log_format_test.cc +19 -2
- package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +18 -0
- package/vendor/abseil-cpp/absl/log/log_streamer.h +29 -2
- package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +18 -0
- package/vendor/abseil-cpp/absl/log/scoped_mock_log_test.cc +1 -1
- package/vendor/abseil-cpp/absl/log/vlog_is_on.h +0 -2
- package/vendor/abseil-cpp/absl/log/vlog_is_on_test.cc +6 -5
- package/vendor/abseil-cpp/absl/memory/memory.h +55 -5
- package/vendor/abseil-cpp/absl/memory/memory_test.cc +55 -1
- package/vendor/abseil-cpp/absl/meta/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires.h +1 -1
- package/vendor/abseil-cpp/absl/meta/type_traits.h +119 -55
- package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +7 -7
- package/vendor/abseil-cpp/absl/numeric/int128_test.cc +6 -6
- package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +3 -1
- package/vendor/abseil-cpp/absl/profiling/hashtable.cc +0 -4
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +32 -33
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.h +25 -2
- package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +8 -5
- package/vendor/abseil-cpp/absl/random/BUILD.bazel +13 -1
- package/vendor/abseil-cpp/absl/random/CMakeLists.txt +23 -2
- package/vendor/abseil-cpp/absl/random/benchmarks.cc +1 -1
- package/vendor/abseil-cpp/absl/random/beta_distribution.h +2 -2
- package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +26 -53
- package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +43 -0
- package/vendor/abseil-cpp/absl/random/discrete_distribution.h +1 -1
- package/vendor/abseil-cpp/absl/random/distributions.h +17 -17
- package/vendor/abseil-cpp/absl/random/distributions_test.cc +4 -4
- package/vendor/abseil-cpp/absl/random/exponential_distribution.h +1 -1
- package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +4 -2
- package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +8 -21
- package/vendor/abseil-cpp/absl/random/internal/fast_uniform_bits.h +1 -1
- package/vendor/abseil-cpp/absl/random/internal/generate_real.h +1 -1
- package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver.h +2 -2
- package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +3 -2
- package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +14 -40
- package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +2 -2
- package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +2 -2
- package/vendor/abseil-cpp/absl/random/internal/pcg_engine.h +6 -6
- package/vendor/abseil-cpp/absl/random/internal/pcg_engine_test.cc +3 -2
- package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +6 -6
- package/vendor/abseil-cpp/absl/random/internal/randen_engine.h +2 -2
- package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +3 -2
- package/vendor/abseil-cpp/absl/random/internal/randen_test.cc +3 -2
- package/vendor/abseil-cpp/absl/random/internal/salted_seed_seq.h +6 -5
- package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +4 -4
- package/vendor/abseil-cpp/absl/random/internal/seed_material.h +2 -1
- package/vendor/abseil-cpp/absl/random/internal/traits.h +21 -0
- package/vendor/abseil-cpp/absl/random/internal/traits_test.cc +5 -0
- package/vendor/abseil-cpp/absl/random/internal/uniform_helper.h +23 -23
- package/vendor/abseil-cpp/absl/random/internal/uniform_helper_test.cc +2 -1
- package/vendor/abseil-cpp/absl/random/mocking_access.h +74 -0
- package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +9 -19
- package/vendor/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
- package/vendor/abseil-cpp/absl/status/BUILD.bazel +81 -0
- package/vendor/abseil-cpp/absl/status/CMakeLists.txt +91 -0
- package/vendor/abseil-cpp/absl/status/internal/status_internal.cc +63 -18
- package/vendor/abseil-cpp/absl/status/internal/status_internal.h +26 -2
- package/vendor/abseil-cpp/absl/status/internal/status_matchers.h +22 -8
- package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +43 -43
- package/vendor/abseil-cpp/absl/status/status.cc +62 -70
- package/vendor/abseil-cpp/absl/status/status.h +249 -23
- package/vendor/abseil-cpp/absl/status/status_benchmark.cc +12 -0
- package/vendor/abseil-cpp/absl/status/status_builder.cc +196 -0
- package/vendor/abseil-cpp/absl/status/status_builder.h +978 -0
- package/vendor/abseil-cpp/absl/status/status_builder_test.cc +380 -0
- package/vendor/abseil-cpp/absl/status/status_macros.h +484 -0
- package/vendor/abseil-cpp/absl/status/status_macros_test.cc +634 -0
- package/vendor/abseil-cpp/absl/status/status_matchers.h +2 -1
- package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +3 -4
- package/vendor/abseil-cpp/absl/status/status_payload_printer.h +3 -2
- package/vendor/abseil-cpp/absl/status/status_test.cc +443 -13
- package/vendor/abseil-cpp/absl/status/statusor.h +69 -36
- package/vendor/abseil-cpp/absl/status/statusor_test.cc +132 -35
- package/vendor/abseil-cpp/absl/strings/BUILD.bazel +42 -7
- package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +33 -4
- package/vendor/abseil-cpp/absl/strings/ascii.h +1 -2
- package/vendor/abseil-cpp/absl/strings/atod_manual_test.cc +5 -5
- package/vendor/abseil-cpp/absl/strings/cord.cc +26 -7
- package/vendor/abseil-cpp/absl/strings/cord.h +23 -13
- package/vendor/abseil-cpp/absl/strings/cord_buffer.h +4 -2
- package/vendor/abseil-cpp/absl/strings/cord_test.cc +85 -9
- package/vendor/abseil-cpp/absl/strings/escaping.cc +176 -30
- package/vendor/abseil-cpp/absl/strings/escaping.h +12 -2
- package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +1 -3
- package/vendor/abseil-cpp/absl/strings/escaping_test.cc +18 -18
- package/vendor/abseil-cpp/absl/strings/has_absl_stringify_test.cc +2 -2
- package/vendor/abseil-cpp/absl/strings/has_ostream_operator_test.cc +2 -2
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite.h +10 -10
- package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +6 -0
- package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +1 -0
- package/vendor/abseil-cpp/absl/strings/internal/escaping.cc +0 -141
- package/vendor/abseil-cpp/absl/strings/internal/escaping.h +2 -26
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_internal.h +23 -2
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_test.cc +6 -2
- package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +31 -24
- package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +16 -41
- package/vendor/abseil-cpp/absl/strings/internal/stl_type_traits.h +39 -39
- package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -22
- package/vendor/abseil-cpp/absl/strings/internal/str_format/bind.h +2 -2
- package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +12 -20
- package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +510 -307
- package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +0 -1
- package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +9 -10
- package/vendor/abseil-cpp/absl/strings/internal/string_constant_test.cc +6 -5
- package/vendor/abseil-cpp/absl/strings/internal/stringify_sink.h +12 -0
- package/vendor/abseil-cpp/absl/strings/internal/stringify_stream.h +119 -0
- package/vendor/abseil-cpp/absl/strings/internal/stringify_stream_test.cc +111 -0
- package/vendor/abseil-cpp/absl/strings/numbers.cc +406 -0
- package/vendor/abseil-cpp/absl/strings/numbers.h +4 -0
- package/vendor/abseil-cpp/absl/strings/numbers_test.cc +33 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite.h +10 -6
- package/vendor/abseil-cpp/absl/strings/str_cat.h +36 -1
- package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +28 -0
- package/vendor/abseil-cpp/absl/strings/str_join_test.cc +4 -4
- package/vendor/abseil-cpp/absl/strings/str_split.h +11 -6
- package/vendor/abseil-cpp/absl/strings/str_split_test.cc +13 -0
- package/vendor/abseil-cpp/absl/strings/substitute.h +2 -2
- package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +3 -0
- package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +21 -0
- package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +5 -0
- package/vendor/abseil-cpp/absl/synchronization/mutex.cc +13 -0
- package/vendor/abseil-cpp/absl/synchronization/mutex.h +32 -2
- package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +17 -3
- package/vendor/abseil-cpp/absl/time/BUILD.bazel +80 -0
- package/vendor/abseil-cpp/absl/time/CMakeLists.txt +73 -0
- package/vendor/abseil-cpp/absl/time/clock.h +3 -0
- package/vendor/abseil-cpp/absl/time/clock_interface.cc +71 -0
- package/vendor/abseil-cpp/absl/time/clock_interface.h +93 -0
- package/vendor/abseil-cpp/absl/time/clock_interface_test.cc +128 -0
- package/vendor/abseil-cpp/absl/time/format.cc +3 -10
- package/vendor/abseil-cpp/absl/time/format_test.cc +12 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +90 -89
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +80 -5
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +1 -2
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +10 -15
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +3 -3
- package/vendor/abseil-cpp/absl/time/simulated_clock.cc +225 -0
- package/vendor/abseil-cpp/absl/time/simulated_clock.h +109 -0
- package/vendor/abseil-cpp/absl/time/simulated_clock_test.cc +614 -0
- package/vendor/abseil-cpp/absl/types/BUILD.bazel +116 -0
- package/vendor/abseil-cpp/absl/types/CMakeLists.txt +100 -0
- package/vendor/abseil-cpp/absl/types/any.h +26 -4
- package/vendor/abseil-cpp/absl/types/any_span.h +1067 -0
- package/vendor/abseil-cpp/absl/types/any_span_benchmark.cc +258 -0
- package/vendor/abseil-cpp/absl/types/any_span_test.cc +1210 -0
- package/vendor/abseil-cpp/absl/types/compare.h +4 -4
- package/vendor/abseil-cpp/absl/types/internal/any_span.h +477 -0
- package/vendor/abseil-cpp/absl/types/internal/span.h +5 -6
- package/vendor/abseil-cpp/absl/types/optional.h +30 -3
- package/vendor/abseil-cpp/absl/types/optional_ref.h +295 -0
- package/vendor/abseil-cpp/absl/types/optional_ref_test.cc +370 -0
- package/vendor/abseil-cpp/absl/types/source_location.cc +18 -0
- package/vendor/abseil-cpp/absl/types/source_location.h +172 -0
- package/vendor/abseil-cpp/absl/types/source_location_test.cc +139 -0
- package/vendor/abseil-cpp/absl/types/span.h +19 -23
- package/vendor/abseil-cpp/absl/types/variant.h +75 -18
- package/vendor/abseil-cpp/absl/types/variant_test.cc +23 -23
- package/vendor/abseil-cpp/absl/utility/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/utility/utility.h +99 -16
- package/vendor/abseil-cpp/ci/absl_alternate_options.h +2 -0
- package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +10 -4
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +13 -6
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +10 -4
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +12 -5
- package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +9 -2
- package/vendor/abseil-cpp/ci/linux_docker_containers.sh +4 -4
- package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +10 -3
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +8 -2
- package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +4 -3
- package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +2 -2
- package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +1 -1
- package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +1 -1
- package/AGENTS.md +0 -131
- package/ARCHITECTURE.md +0 -152
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +0 -118
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +0 -71
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +0 -97
|
@@ -42,6 +42,7 @@ cc_library(
|
|
|
42
42
|
deps = [
|
|
43
43
|
"//absl/base:config",
|
|
44
44
|
"//absl/base:core_headers",
|
|
45
|
+
"//absl/base:hardening",
|
|
45
46
|
"//absl/base:nullability",
|
|
46
47
|
],
|
|
47
48
|
)
|
|
@@ -106,6 +107,7 @@ cc_library(
|
|
|
106
107
|
"//absl/base:config",
|
|
107
108
|
"//absl/base:core_headers",
|
|
108
109
|
"//absl/base:endian",
|
|
110
|
+
"//absl/base:hardening",
|
|
109
111
|
"//absl/base:iterator_traits_internal",
|
|
110
112
|
"//absl/base:nullability",
|
|
111
113
|
"//absl/base:raw_logging_internal",
|
|
@@ -114,6 +116,7 @@ cc_library(
|
|
|
114
116
|
"//absl/meta:type_traits",
|
|
115
117
|
"//absl/numeric:bits",
|
|
116
118
|
"//absl/numeric:int128",
|
|
119
|
+
"//absl/types:source_location",
|
|
117
120
|
],
|
|
118
121
|
)
|
|
119
122
|
|
|
@@ -151,6 +154,7 @@ cc_library(
|
|
|
151
154
|
"//absl/base:config",
|
|
152
155
|
"//absl/base:core_headers",
|
|
153
156
|
"//absl/base:dynamic_annotations",
|
|
157
|
+
"//absl/base:hardening",
|
|
154
158
|
"//absl/base:throw_delegate",
|
|
155
159
|
],
|
|
156
160
|
)
|
|
@@ -179,6 +183,7 @@ cc_library(
|
|
|
179
183
|
":resize_and_overwrite",
|
|
180
184
|
"//absl/base:config",
|
|
181
185
|
"//absl/base:core_headers",
|
|
186
|
+
"//absl/base:hardening",
|
|
182
187
|
"//absl/base:throw_delegate",
|
|
183
188
|
],
|
|
184
189
|
)
|
|
@@ -217,6 +222,7 @@ cc_test(
|
|
|
217
222
|
"internal/escaping_test_common.h",
|
|
218
223
|
],
|
|
219
224
|
copts = ABSL_TEST_COPTS,
|
|
225
|
+
tags = ["no_test_chromiumos_x86_64"],
|
|
220
226
|
visibility = ["//visibility:private"],
|
|
221
227
|
deps = [
|
|
222
228
|
":cord",
|
|
@@ -254,7 +260,6 @@ cc_test(
|
|
|
254
260
|
visibility = ["//visibility:private"],
|
|
255
261
|
deps = [
|
|
256
262
|
":strings",
|
|
257
|
-
"//absl/types:optional",
|
|
258
263
|
"@googletest//:gtest",
|
|
259
264
|
"@googletest//:gtest_main",
|
|
260
265
|
],
|
|
@@ -278,7 +283,6 @@ cc_test(
|
|
|
278
283
|
visibility = ["//visibility:private"],
|
|
279
284
|
deps = [
|
|
280
285
|
":has_ostream_operator",
|
|
281
|
-
"//absl/types:optional",
|
|
282
286
|
"@googletest//:gtest",
|
|
283
287
|
"@googletest//:gtest_main",
|
|
284
288
|
],
|
|
@@ -401,7 +405,6 @@ cc_test(
|
|
|
401
405
|
visibility = ["//visibility:private"],
|
|
402
406
|
deps = [
|
|
403
407
|
":strings",
|
|
404
|
-
"//absl/meta:type_traits",
|
|
405
408
|
"@googletest//:gtest",
|
|
406
409
|
"@googletest//:gtest_main",
|
|
407
410
|
],
|
|
@@ -424,6 +427,36 @@ cc_test(
|
|
|
424
427
|
],
|
|
425
428
|
)
|
|
426
429
|
|
|
430
|
+
cc_library(
|
|
431
|
+
name = "stringify_stream",
|
|
432
|
+
hdrs = ["internal/stringify_stream.h"],
|
|
433
|
+
copts = ABSL_DEFAULT_COPTS,
|
|
434
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
435
|
+
visibility = [
|
|
436
|
+
"//absl:friends",
|
|
437
|
+
"//absl/status:__pkg__",
|
|
438
|
+
],
|
|
439
|
+
deps = [
|
|
440
|
+
":string_view",
|
|
441
|
+
"//absl/base:config",
|
|
442
|
+
],
|
|
443
|
+
)
|
|
444
|
+
|
|
445
|
+
cc_test(
|
|
446
|
+
name = "stringify_stream_test",
|
|
447
|
+
srcs = ["internal/stringify_stream_test.cc"],
|
|
448
|
+
copts = ABSL_TEST_COPTS,
|
|
449
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
450
|
+
deps = [
|
|
451
|
+
":string_view",
|
|
452
|
+
":stringify_stream",
|
|
453
|
+
"//absl/base:config",
|
|
454
|
+
"//absl/strings:str_format",
|
|
455
|
+
"@googletest//:gtest",
|
|
456
|
+
"@googletest//:gtest_main",
|
|
457
|
+
],
|
|
458
|
+
)
|
|
459
|
+
|
|
427
460
|
cc_binary(
|
|
428
461
|
name = "charset_benchmark",
|
|
429
462
|
testonly = True,
|
|
@@ -645,8 +678,10 @@ cc_library(
|
|
|
645
678
|
"//absl/base:config",
|
|
646
679
|
"//absl/base:core_headers",
|
|
647
680
|
"//absl/base:endian",
|
|
681
|
+
"//absl/base:hardening",
|
|
648
682
|
"//absl/base:nullability",
|
|
649
683
|
"//absl/base:raw_logging_internal",
|
|
684
|
+
"//absl/cleanup",
|
|
650
685
|
"//absl/container:inlined_vector",
|
|
651
686
|
"//absl/crc:crc32c",
|
|
652
687
|
"//absl/crc:crc_cord_state",
|
|
@@ -943,6 +978,7 @@ cc_test(
|
|
|
943
978
|
":cord_rep_test_util",
|
|
944
979
|
":string_view",
|
|
945
980
|
"//absl/base:config",
|
|
981
|
+
"//absl/base:hardening",
|
|
946
982
|
"//absl/types:span",
|
|
947
983
|
"@googletest//:gtest",
|
|
948
984
|
"@googletest//:gtest_main",
|
|
@@ -978,7 +1014,7 @@ cc_test(
|
|
|
978
1014
|
"//absl/log:check",
|
|
979
1015
|
"//absl/random",
|
|
980
1016
|
"//absl/types:compare",
|
|
981
|
-
"//absl/types:
|
|
1017
|
+
"//absl/types:span",
|
|
982
1018
|
"@googletest//:gtest",
|
|
983
1019
|
"@googletest//:gtest_main",
|
|
984
1020
|
],
|
|
@@ -1086,6 +1122,7 @@ cc_test(
|
|
|
1086
1122
|
"//absl/container:btree",
|
|
1087
1123
|
"//absl/container:flat_hash_map",
|
|
1088
1124
|
"//absl/container:node_hash_map",
|
|
1125
|
+
"//absl/hash",
|
|
1089
1126
|
"@googletest//:gtest",
|
|
1090
1127
|
"@googletest//:gtest_main",
|
|
1091
1128
|
],
|
|
@@ -1371,7 +1408,6 @@ cc_library(
|
|
|
1371
1408
|
"//absl/numeric:bits",
|
|
1372
1409
|
"//absl/numeric:int128",
|
|
1373
1410
|
"//absl/numeric:representation",
|
|
1374
|
-
"//absl/types:optional",
|
|
1375
1411
|
"//absl/types:span",
|
|
1376
1412
|
"//absl/utility",
|
|
1377
1413
|
],
|
|
@@ -1465,7 +1501,6 @@ cc_test(
|
|
|
1465
1501
|
"//absl/base:raw_logging_internal",
|
|
1466
1502
|
"//absl/log",
|
|
1467
1503
|
"//absl/numeric:int128",
|
|
1468
|
-
"//absl/types:optional",
|
|
1469
1504
|
"//absl/types:span",
|
|
1470
1505
|
"@googletest//:gtest",
|
|
1471
1506
|
"@googletest//:gtest_main",
|
|
@@ -1535,7 +1570,6 @@ cc_binary(
|
|
|
1535
1570
|
":str_format",
|
|
1536
1571
|
":strings",
|
|
1537
1572
|
"//absl/base",
|
|
1538
|
-
"//absl/types:optional",
|
|
1539
1573
|
],
|
|
1540
1574
|
)
|
|
1541
1575
|
|
|
@@ -1563,6 +1597,7 @@ cc_library(
|
|
|
1563
1597
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
1564
1598
|
visibility = [
|
|
1565
1599
|
"//absl:__subpackages__",
|
|
1600
|
+
"//absl:friends",
|
|
1566
1601
|
],
|
|
1567
1602
|
deps = [
|
|
1568
1603
|
":str_format",
|
|
@@ -81,11 +81,14 @@ absl_cc_library(
|
|
|
81
81
|
absl::config
|
|
82
82
|
absl::core_headers
|
|
83
83
|
absl::endian
|
|
84
|
+
absl::hardening
|
|
84
85
|
absl::int128
|
|
85
86
|
absl::iterator_traits_internal
|
|
86
87
|
absl::memory
|
|
87
88
|
absl::nullability
|
|
88
89
|
absl::raw_logging_internal
|
|
90
|
+
absl::source_location
|
|
91
|
+
absl::strings
|
|
89
92
|
absl::throw_delegate
|
|
90
93
|
absl::type_traits
|
|
91
94
|
PUBLIC
|
|
@@ -116,6 +119,32 @@ absl_cc_library(
|
|
|
116
119
|
PUBLIC
|
|
117
120
|
)
|
|
118
121
|
|
|
122
|
+
absl_cc_library(
|
|
123
|
+
NAME
|
|
124
|
+
stringify_stream
|
|
125
|
+
HDRS
|
|
126
|
+
"internal/stringify_stream.h"
|
|
127
|
+
COPTS
|
|
128
|
+
${ABSL_DEFAULT_COPTS}
|
|
129
|
+
DEPS
|
|
130
|
+
absl::string_view
|
|
131
|
+
absl::config
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
absl_cc_test(
|
|
135
|
+
NAME
|
|
136
|
+
stringify_stream_test
|
|
137
|
+
SRCS
|
|
138
|
+
"internal/stringify_stream_test.cc"
|
|
139
|
+
COPTS
|
|
140
|
+
${ABSL_TEST_COPTS}
|
|
141
|
+
DEPS
|
|
142
|
+
absl::string_view
|
|
143
|
+
absl::stringify_stream
|
|
144
|
+
absl::str_format
|
|
145
|
+
GTest::gmock_main
|
|
146
|
+
)
|
|
147
|
+
|
|
119
148
|
# Internal-only target, do not depend on directly.
|
|
120
149
|
absl_cc_library(
|
|
121
150
|
NAME
|
|
@@ -151,6 +180,7 @@ absl_cc_library(
|
|
|
151
180
|
absl::config
|
|
152
181
|
absl::core_headers
|
|
153
182
|
absl::dynamic_annotations
|
|
183
|
+
absl::hardening
|
|
154
184
|
absl::throw_delegate
|
|
155
185
|
)
|
|
156
186
|
|
|
@@ -178,6 +208,7 @@ absl_cc_library(
|
|
|
178
208
|
DEPS
|
|
179
209
|
absl::config
|
|
180
210
|
absl::core_headers
|
|
211
|
+
absl::hardening
|
|
181
212
|
absl::strings_resize_and_overwrite
|
|
182
213
|
absl::throw_delegate
|
|
183
214
|
)
|
|
@@ -231,7 +262,6 @@ absl_cc_test(
|
|
|
231
262
|
COPTS
|
|
232
263
|
${ABSL_TEST_COPTS}
|
|
233
264
|
DEPS
|
|
234
|
-
absl::optional
|
|
235
265
|
absl::strings
|
|
236
266
|
GTest::gmock_main
|
|
237
267
|
)
|
|
@@ -245,7 +275,6 @@ absl_cc_test(
|
|
|
245
275
|
${ABSL_TEST_COPTS}
|
|
246
276
|
DEPS
|
|
247
277
|
absl::has_ostream_operator
|
|
248
|
-
absl::optional
|
|
249
278
|
GTest::gmock_main
|
|
250
279
|
)
|
|
251
280
|
|
|
@@ -313,7 +342,6 @@ absl_cc_test(
|
|
|
313
342
|
${ABSL_TEST_COPTS}
|
|
314
343
|
DEPS
|
|
315
344
|
absl::strings
|
|
316
|
-
absl::type_traits
|
|
317
345
|
GTest::gmock_main
|
|
318
346
|
)
|
|
319
347
|
|
|
@@ -371,6 +399,7 @@ absl_cc_test(
|
|
|
371
399
|
absl::dynamic_annotations
|
|
372
400
|
absl::btree
|
|
373
401
|
absl::flat_hash_map
|
|
402
|
+
absl::hash
|
|
374
403
|
absl::node_hash_map
|
|
375
404
|
GTest::gmock_main
|
|
376
405
|
)
|
|
@@ -1049,6 +1078,7 @@ absl_cc_library(
|
|
|
1049
1078
|
absl::crc_cord_state
|
|
1050
1079
|
absl::endian
|
|
1051
1080
|
absl::function_ref
|
|
1081
|
+
absl::hardening
|
|
1052
1082
|
absl::inlined_vector
|
|
1053
1083
|
absl::nullability
|
|
1054
1084
|
absl::optional
|
|
@@ -1138,7 +1168,6 @@ absl_cc_test(
|
|
|
1138
1168
|
absl::hash_testing
|
|
1139
1169
|
absl::no_destructor
|
|
1140
1170
|
absl::log
|
|
1141
|
-
absl::optional
|
|
1142
1171
|
absl::random_random
|
|
1143
1172
|
absl::str_format
|
|
1144
1173
|
absl::strings
|
|
@@ -60,7 +60,6 @@
|
|
|
60
60
|
#include "absl/base/attributes.h"
|
|
61
61
|
#include "absl/base/config.h"
|
|
62
62
|
#include "absl/base/nullability.h"
|
|
63
|
-
#include "absl/strings/internal/resize_uninitialized.h"
|
|
64
63
|
#include "absl/strings/resize_and_overwrite.h"
|
|
65
64
|
#include "absl/strings/string_view.h"
|
|
66
65
|
|
|
@@ -131,7 +130,7 @@ inline bool ascii_iscntrl(unsigned char c) {
|
|
|
131
130
|
// ascii_isxdigit()
|
|
132
131
|
//
|
|
133
132
|
// Determines whether the given character can be represented as a hexadecimal
|
|
134
|
-
// digit character (i.e. {0-9} or {A-F}).
|
|
133
|
+
// digit character (i.e. {0-9} or {A-F} or {a-f}).
|
|
135
134
|
inline bool ascii_isxdigit(unsigned char c) {
|
|
136
135
|
return (ascii_internal::kPropertyBits[c] & 0x80) != 0;
|
|
137
136
|
}
|
|
@@ -39,13 +39,13 @@
|
|
|
39
39
|
|
|
40
40
|
#include <cstdint>
|
|
41
41
|
#include <cstdio>
|
|
42
|
+
#include <optional>
|
|
42
43
|
#include <string>
|
|
43
44
|
|
|
44
45
|
#include "absl/base/casts.h"
|
|
45
46
|
#include "absl/strings/numbers.h"
|
|
46
47
|
#include "absl/strings/str_format.h"
|
|
47
48
|
#include "absl/strings/string_view.h"
|
|
48
|
-
#include "absl/types/optional.h"
|
|
49
49
|
|
|
50
50
|
static constexpr uint8_t kUnhex[256] = {
|
|
51
51
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, //
|
|
@@ -85,10 +85,10 @@ static constexpr uint8_t kUnhex[256] = {
|
|
|
85
85
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, //
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
-
static
|
|
88
|
+
static std::optional<std::string> ReadFileToString(const char* filename) {
|
|
89
89
|
FILE* f = fopen(filename, "rb");
|
|
90
90
|
if (!f) {
|
|
91
|
-
return
|
|
91
|
+
return std::nullopt;
|
|
92
92
|
}
|
|
93
93
|
fseek(f, 0, SEEK_END);
|
|
94
94
|
size_t size = ftell(f);
|
|
@@ -97,13 +97,13 @@ static absl::optional<std::string> ReadFileToString(const char* filename) {
|
|
|
97
97
|
size_t n = fread(&s[0], 1, size, f);
|
|
98
98
|
fclose(f);
|
|
99
99
|
if (n != size) {
|
|
100
|
-
return
|
|
100
|
+
return std::nullopt;
|
|
101
101
|
}
|
|
102
102
|
return s;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
static bool ProcessOneTestFile(const char* filename) {
|
|
106
|
-
|
|
106
|
+
std::optional<std::string> contents = ReadFileToString(filename);
|
|
107
107
|
if (!contents) {
|
|
108
108
|
absl::FPrintF(stderr, "Invalid file: %s\n", filename);
|
|
109
109
|
return false;
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
#include <iostream>
|
|
27
27
|
#include <limits>
|
|
28
28
|
#include <memory>
|
|
29
|
+
#include <optional>
|
|
29
30
|
#include <ostream>
|
|
30
31
|
#include <sstream>
|
|
31
32
|
#include <string>
|
|
@@ -34,10 +35,11 @@
|
|
|
34
35
|
#include "absl/base/attributes.h"
|
|
35
36
|
#include "absl/base/config.h"
|
|
36
37
|
#include "absl/base/internal/endian.h"
|
|
38
|
+
#include "absl/base/internal/hardening.h"
|
|
37
39
|
#include "absl/base/internal/raw_logging.h"
|
|
38
40
|
#include "absl/base/macros.h"
|
|
39
|
-
#include "absl/base/optimization.h"
|
|
40
41
|
#include "absl/base/nullability.h"
|
|
42
|
+
#include "absl/base/optimization.h"
|
|
41
43
|
#include "absl/container/inlined_vector.h"
|
|
42
44
|
#include "absl/crc/crc32c.h"
|
|
43
45
|
#include "absl/crc/internal/crc_cord_state.h"
|
|
@@ -56,7 +58,6 @@
|
|
|
56
58
|
#include "absl/strings/str_cat.h"
|
|
57
59
|
#include "absl/strings/string_view.h"
|
|
58
60
|
#include "absl/strings/strip.h"
|
|
59
|
-
#include "absl/types/optional.h"
|
|
60
61
|
#include "absl/types/span.h"
|
|
61
62
|
|
|
62
63
|
namespace absl {
|
|
@@ -886,9 +887,9 @@ const crc_internal::CrcCordState* absl_nullable Cord::MaybeGetCrcCordState()
|
|
|
886
887
|
return &contents_.tree()->crc()->crc_cord_state;
|
|
887
888
|
}
|
|
888
889
|
|
|
889
|
-
|
|
890
|
+
std::optional<uint32_t> Cord::ExpectedChecksum() const {
|
|
890
891
|
if (!contents_.is_tree() || !contents_.tree()->IsCrc()) {
|
|
891
|
-
return
|
|
892
|
+
return std::nullopt;
|
|
892
893
|
}
|
|
893
894
|
return static_cast<uint32_t>(
|
|
894
895
|
contents_.tree()->crc()->crc_cord_state.Checksum());
|
|
@@ -1085,9 +1086,27 @@ void Cord::CopyToArraySlowPath(char* absl_nonnull dst) const {
|
|
|
1085
1086
|
}
|
|
1086
1087
|
}
|
|
1087
1088
|
|
|
1089
|
+
size_t CopyCordToSpan(const Cord& src, absl::Span<char> dst) {
|
|
1090
|
+
if (src.size() <= dst.size()) {
|
|
1091
|
+
src.CopyToArrayImpl(dst.data());
|
|
1092
|
+
return src.size();
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
const size_t result = dst.size();
|
|
1096
|
+
for (absl::string_view chunk : src.Chunks()) {
|
|
1097
|
+
size_t n = std::min(chunk.size(), dst.size());
|
|
1098
|
+
if (n == 0) {
|
|
1099
|
+
break;
|
|
1100
|
+
}
|
|
1101
|
+
memcpy(dst.data(), chunk.data(), n);
|
|
1102
|
+
dst.remove_prefix(n);
|
|
1103
|
+
}
|
|
1104
|
+
return result;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1088
1107
|
Cord Cord::ChunkIterator::AdvanceAndReadBytes(size_t n) {
|
|
1089
|
-
|
|
1090
|
-
|
|
1108
|
+
// Failure of this assertion indicates an attempt to iterate past `end()`.
|
|
1109
|
+
absl::base_internal::HardeningAssertGE(bytes_remaining_, n);
|
|
1091
1110
|
Cord subcord;
|
|
1092
1111
|
auto constexpr method = CordzUpdateTracker::kCordReader;
|
|
1093
1112
|
|
|
@@ -1155,7 +1174,7 @@ Cord Cord::ChunkIterator::AdvanceAndReadBytes(size_t n) {
|
|
|
1155
1174
|
}
|
|
1156
1175
|
|
|
1157
1176
|
char Cord::operator[](size_t i) const {
|
|
1158
|
-
|
|
1177
|
+
absl::base_internal::HardeningAssertLT(i, size());
|
|
1159
1178
|
size_t offset = i;
|
|
1160
1179
|
const CordRep* rep = contents_.tree();
|
|
1161
1180
|
if (rep == nullptr) {
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
#include <cstring>
|
|
68
68
|
#include <iosfwd>
|
|
69
69
|
#include <iterator>
|
|
70
|
+
#include <optional>
|
|
70
71
|
#include <string>
|
|
71
72
|
#include <type_traits>
|
|
72
73
|
#include <utility>
|
|
@@ -74,6 +75,7 @@
|
|
|
74
75
|
#include "absl/base/attributes.h"
|
|
75
76
|
#include "absl/base/config.h"
|
|
76
77
|
#include "absl/base/internal/endian.h"
|
|
78
|
+
#include "absl/base/internal/hardening.h"
|
|
77
79
|
#include "absl/base/macros.h"
|
|
78
80
|
#include "absl/base/nullability.h"
|
|
79
81
|
#include "absl/base/optimization.h"
|
|
@@ -96,6 +98,7 @@
|
|
|
96
98
|
#include "absl/strings/string_view.h"
|
|
97
99
|
#include "absl/types/compare.h"
|
|
98
100
|
#include "absl/types/optional.h"
|
|
101
|
+
#include "absl/types/span.h"
|
|
99
102
|
|
|
100
103
|
namespace absl {
|
|
101
104
|
ABSL_NAMESPACE_BEGIN
|
|
@@ -105,6 +108,7 @@ template <typename Releaser>
|
|
|
105
108
|
Cord MakeCordFromExternal(absl::string_view, Releaser&&);
|
|
106
109
|
void CopyCordToString(const Cord& src, std::string* absl_nonnull dst);
|
|
107
110
|
void AppendCordToString(const Cord& src, std::string* absl_nonnull dst);
|
|
111
|
+
[[nodiscard]] size_t CopyCordToSpan(const Cord& src, absl::Span<char> dst);
|
|
108
112
|
|
|
109
113
|
// Cord memory accounting modes
|
|
110
114
|
enum class CordMemoryAccounting {
|
|
@@ -173,7 +177,7 @@ class Cord {
|
|
|
173
177
|
private:
|
|
174
178
|
template <typename T>
|
|
175
179
|
using EnableIfString =
|
|
176
|
-
|
|
180
|
+
std::enable_if_t<std::is_same<T, std::string>::value, int>;
|
|
177
181
|
|
|
178
182
|
public:
|
|
179
183
|
// Cord::Cord() Constructors.
|
|
@@ -222,7 +226,7 @@ class Cord {
|
|
|
222
226
|
// remain live until the releaser is invoked. The callable releaser also must:
|
|
223
227
|
//
|
|
224
228
|
// * be move constructible
|
|
225
|
-
// * support `void operator()(absl::string_view)
|
|
229
|
+
// * support `void operator()(absl::string_view)` or `void operator()()`
|
|
226
230
|
//
|
|
227
231
|
// Example:
|
|
228
232
|
//
|
|
@@ -432,6 +436,12 @@ class Cord {
|
|
|
432
436
|
friend void AppendCordToString(const Cord& src,
|
|
433
437
|
std::string* absl_nonnull dst);
|
|
434
438
|
|
|
439
|
+
// CopyCordToSpan()
|
|
440
|
+
//
|
|
441
|
+
// Copies up to `dst.size()` bytes starting from the beginning of `src` to
|
|
442
|
+
// `dst`. Returns the number of bytes copied.
|
|
443
|
+
friend size_t CopyCordToSpan(const Cord& src, absl::Span<char> dst);
|
|
444
|
+
|
|
435
445
|
class CharIterator;
|
|
436
446
|
|
|
437
447
|
//----------------------------------------------------------------------------
|
|
@@ -763,7 +773,7 @@ class Cord {
|
|
|
763
773
|
//
|
|
764
774
|
// If this cord's representation is a single flat array, returns a
|
|
765
775
|
// string_view referencing that array. Otherwise returns nullopt.
|
|
766
|
-
|
|
776
|
+
std::optional<absl::string_view> TryFlat() const
|
|
767
777
|
ABSL_ATTRIBUTE_LIFETIME_BOUND;
|
|
768
778
|
|
|
769
779
|
// Cord::Flatten()
|
|
@@ -816,11 +826,11 @@ class Cord {
|
|
|
816
826
|
|
|
817
827
|
// Returns this cord's expected checksum, if it has one. Otherwise, returns
|
|
818
828
|
// nullopt.
|
|
819
|
-
|
|
829
|
+
std::optional<uint32_t> ExpectedChecksum() const;
|
|
820
830
|
|
|
821
831
|
template <typename H>
|
|
822
832
|
friend H AbslHashValue(H hash_state, const absl::Cord& c) {
|
|
823
|
-
|
|
833
|
+
std::optional<absl::string_view> maybe_flat = c.TryFlat();
|
|
824
834
|
if (maybe_flat.has_value()) {
|
|
825
835
|
return H::combine(std::move(hash_state), *maybe_flat);
|
|
826
836
|
}
|
|
@@ -1136,7 +1146,7 @@ template <typename Releaser>
|
|
|
1136
1146
|
CordRep* absl_nonnull NewExternalRep(absl::string_view data,
|
|
1137
1147
|
Releaser&& releaser) {
|
|
1138
1148
|
assert(!data.empty());
|
|
1139
|
-
using ReleaserType =
|
|
1149
|
+
using ReleaserType = std::decay_t<Releaser>;
|
|
1140
1150
|
CordRepExternal* rep = new CordRepExternalImpl<ReleaserType>(
|
|
1141
1151
|
std::forward<Releaser>(releaser), 0);
|
|
1142
1152
|
InitializeCordRepExternal(data, rep);
|
|
@@ -1161,7 +1171,7 @@ Cord MakeCordFromExternal(absl::string_view data, Releaser&& releaser) {
|
|
|
1161
1171
|
data, std::forward<Releaser>(releaser)),
|
|
1162
1172
|
Cord::MethodIdentifier::kMakeCordFromExternal);
|
|
1163
1173
|
} else {
|
|
1164
|
-
using ReleaserType =
|
|
1174
|
+
using ReleaserType = std::decay_t<Releaser>;
|
|
1165
1175
|
cord_internal::InvokeReleaser(
|
|
1166
1176
|
cord_internal::Rank1{}, ReleaserType(std::forward<Releaser>(releaser)),
|
|
1167
1177
|
data);
|
|
@@ -1396,7 +1406,7 @@ inline size_t Cord::EstimatedMemoryUsage(
|
|
|
1396
1406
|
return result;
|
|
1397
1407
|
}
|
|
1398
1408
|
|
|
1399
|
-
inline
|
|
1409
|
+
inline std::optional<absl::string_view> Cord::TryFlat() const
|
|
1400
1410
|
ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
1401
1411
|
absl::cord_internal::CordRep* rep = contents_.tree();
|
|
1402
1412
|
if (rep == nullptr) {
|
|
@@ -1406,7 +1416,7 @@ inline absl::optional<absl::string_view> Cord::TryFlat() const
|
|
|
1406
1416
|
if (GetFlatAux(rep, &fragment)) {
|
|
1407
1417
|
return fragment;
|
|
1408
1418
|
}
|
|
1409
|
-
return
|
|
1419
|
+
return std::nullopt;
|
|
1410
1420
|
}
|
|
1411
1421
|
|
|
1412
1422
|
inline absl::string_view Cord::Flatten() ABSL_ATTRIBUTE_LIFETIME_BOUND {
|
|
@@ -1552,8 +1562,8 @@ inline void Cord::ChunkIterator::AdvanceBytesBtree(size_t n) {
|
|
|
1552
1562
|
}
|
|
1553
1563
|
|
|
1554
1564
|
inline Cord::ChunkIterator& Cord::ChunkIterator::operator++() {
|
|
1555
|
-
|
|
1556
|
-
|
|
1565
|
+
// Failure of this assertion indicates an attempt to iterate past `end()`.
|
|
1566
|
+
absl::base_internal::HardeningAssertGT(bytes_remaining_, size_t{0});
|
|
1557
1567
|
assert(bytes_remaining_ >= current_chunk_.size());
|
|
1558
1568
|
bytes_remaining_ -= current_chunk_.size();
|
|
1559
1569
|
if (bytes_remaining_ > 0) {
|
|
@@ -1582,12 +1592,12 @@ inline bool Cord::ChunkIterator::operator!=(const ChunkIterator& other) const {
|
|
|
1582
1592
|
}
|
|
1583
1593
|
|
|
1584
1594
|
inline Cord::ChunkIterator::reference Cord::ChunkIterator::operator*() const {
|
|
1585
|
-
|
|
1595
|
+
absl::base_internal::HardeningAssertGT(bytes_remaining_, size_t{0});
|
|
1586
1596
|
return current_chunk_;
|
|
1587
1597
|
}
|
|
1588
1598
|
|
|
1589
1599
|
inline Cord::ChunkIterator::pointer Cord::ChunkIterator::operator->() const {
|
|
1590
|
-
|
|
1600
|
+
absl::base_internal::HardeningAssertGT(bytes_remaining_, size_t{0});
|
|
1591
1601
|
return ¤t_chunk_;
|
|
1592
1602
|
}
|
|
1593
1603
|
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
#include <utility>
|
|
33
33
|
|
|
34
34
|
#include "absl/base/config.h"
|
|
35
|
+
#include "absl/base/internal/hardening.h"
|
|
35
36
|
#include "absl/base/macros.h"
|
|
36
37
|
#include "absl/numeric/bits.h"
|
|
37
38
|
#include "absl/strings/internal/cord_internal.h"
|
|
@@ -549,7 +550,7 @@ inline size_t CordBuffer::length() const {
|
|
|
549
550
|
}
|
|
550
551
|
|
|
551
552
|
inline void CordBuffer::SetLength(size_t length) {
|
|
552
|
-
|
|
553
|
+
absl::base_internal::HardeningAssertLE(length, capacity());
|
|
553
554
|
if (rep_.is_short()) {
|
|
554
555
|
rep_.set_short_length(length);
|
|
555
556
|
} else {
|
|
@@ -558,7 +559,8 @@ inline void CordBuffer::SetLength(size_t length) {
|
|
|
558
559
|
}
|
|
559
560
|
|
|
560
561
|
inline void CordBuffer::IncreaseLengthBy(size_t n) {
|
|
561
|
-
|
|
562
|
+
absl::base_internal::HardeningAssertLE(n, capacity());
|
|
563
|
+
absl::base_internal::HardeningAssertLE(length() + n, capacity());
|
|
562
564
|
if (rep_.is_short()) {
|
|
563
565
|
rep_.add_short_length(n);
|
|
564
566
|
} else {
|